package name.abuchen.portfolio.ui.views.taxonomy;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.IMenuManager;
import org.eclipse.swt.widgets.Menu;
import name.abuchen.portfolio.ui.Messages;
import name.abuchen.portfolio.ui.util.SimpleAction;
public abstract class AbstractChartPage extends Page
{
private Menu configMenu;
public AbstractChartPage(TaxonomyModel model, TaxonomyNodeRenderer renderer)
{
super(model, renderer);
}
@Override
public void configMenuAboutToShow(IMenuManager manager)
{
Action action = new SimpleAction(Messages.LabelIncludeUnassignedCategoryInCharts, a -> {
getModel().setExcludeUnassignedCategoryInCharts(!getModel().isUnassignedCategoryInChartsExcluded());
onConfigChanged();
});
action.setChecked(!getModel().isUnassignedCategoryInChartsExcluded());
manager.add(action);
}
public abstract void onConfigChanged();
@Override
public void dispose()
{
if (configMenu != null && !configMenu.isDisposed())
configMenu.dispose();
super.dispose();
}
}