package name.abuchen.portfolio.ui.views.taxonomy; import javax.inject.Inject; import org.eclipse.jface.action.IMenuManager; import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import name.abuchen.portfolio.ui.views.taxonomy.TaxonomyModel.TaxonomyModelUpdatedListener; /* package */abstract class Page implements TaxonomyModelUpdatedListener { private TaxonomyModel model; private TaxonomyNodeRenderer renderer; @Inject private IPreferenceStore preferenceStore; protected Page(TaxonomyModel model, TaxonomyNodeRenderer renderer) { this.model = model; this.renderer = renderer; this.model.addListener(this); } protected final TaxonomyModel getModel() { return model; } protected final TaxonomyNodeRenderer getRenderer() { return renderer; } public IPreferenceStore getPreferenceStore() { return preferenceStore; } public void configMenuAboutToShow(IMenuManager manager) {} public void exportMenuAboutToShow(IMenuManager manager) {} public abstract Control createControl(Composite parent); public abstract void beforePage(); public abstract void afterPage(); public void dispose() {} }