package fr.opensagres.nosql.ide.ui.editors; import org.eclipse.jface.action.IToolBarManager; import org.eclipse.swt.graphics.Image; import org.eclipse.ui.forms.IManagedForm; import org.eclipse.ui.forms.widgets.FormToolkit; import org.eclipse.ui.forms.widgets.ScrolledForm; public abstract class AbstractToolbarFormPage<T extends AbstractFormEditor> extends AbstractFormPage<T> { public AbstractToolbarFormPage(T editor, String id, String title) { super(editor, id, title); } public AbstractToolbarFormPage(String id, String title) { super(id, title); } @Override protected final void createFormContent(IManagedForm managedForm) { final ScrolledForm form = managedForm.getForm(); FormToolkit toolkit = managedForm.getToolkit(); toolkit.decorateFormHeading(form.getForm()); IToolBarManager manager = form.getToolBarManager(); getEditor().contributeToToolbar(manager); form.updateToolBar(); form.setText(getFormTitleText()); Image titleImage = getFormTitleImage(); if (titleImage != null) { form.setImage(titleImage); } toolkit.decorateFormHeading(form.getForm()); fillBody(managedForm, toolkit); } protected String getFormTitleText() { return getTitle(); } protected Image getFormTitleImage() { return null; } protected abstract void fillBody(IManagedForm managedForm, FormToolkit toolkit); }