X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=demo%2Fplugins%2Forg.argeo.demo.i18n%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fdemo%2Fi18n%2Feditors%2FSimpleMultitabEditor.java;fp=demo%2Fplugins%2Forg.argeo.demo.i18n%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fdemo%2Fi18n%2Feditors%2FSimpleMultitabEditor.java;h=41c3ea9936e1b79c1d18bc0226abf0063399d80a;hb=f69fd2fc2195f457a7da1dba3fe4cb27c7ffdffb;hp=0000000000000000000000000000000000000000;hpb=2d4dd736ab07b1ef3aaec0a9e5d29f30c551de9c;p=lgpl%2Fargeo-commons.git diff --git a/demo/plugins/org.argeo.demo.i18n/src/main/java/org/argeo/demo/i18n/editors/SimpleMultitabEditor.java b/demo/plugins/org.argeo.demo.i18n/src/main/java/org/argeo/demo/i18n/editors/SimpleMultitabEditor.java new file mode 100644 index 000000000..41c3ea993 --- /dev/null +++ b/demo/plugins/org.argeo.demo.i18n/src/main/java/org/argeo/demo/i18n/editors/SimpleMultitabEditor.java @@ -0,0 +1,74 @@ +package org.argeo.demo.i18n.editors; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.argeo.ArgeoException; +import org.argeo.demo.i18n.I18nDemoPlugin; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.ui.IEditorInput; +import org.eclipse.ui.IEditorSite; +import org.eclipse.ui.PartInitException; +import org.eclipse.ui.forms.editor.FormEditor; + +/** + * + * Container for the node editor page. At creation time, it takes a JCR Node + * that cannot be changed afterwards. + * + */ +public class SimpleMultitabEditor extends FormEditor { + + private final static Log log = LogFactory + .getLog(SimpleMultitabEditor.class); + public final static String ID = I18nDemoPlugin.ID + ".simpleMultitabEditor"; + + private SimplePage simplePage; + private MultiSectionPage multiSectionPage; + + public void init(IEditorSite site, IEditorInput input) + throws PartInitException { + super.init(site, input); + this.setPartName("Internationalize editor part name"); + } + + @Override + protected void addPages() { + try { + simplePage = new SimplePage(this, + I18nDemoPlugin + .getMessage("SimpleMultitabEditor.SimplePageTitle")); + addPage(simplePage); + + multiSectionPage = new MultiSectionPage( + this, + I18nDemoPlugin + .getMessage("SimpleMultitabEditor.MultiSectionPageTitle")); + addPage(multiSectionPage); + + } catch (PartInitException e) { + throw new ArgeoException("Not able to add an empty page ", e); + } + } + + @Override + public void doSaveAs() { + // unused compulsory method + } + + @Override + public void doSave(IProgressMonitor monitor) { + try { + // Automatically commit all pages of the editor + commitPages(true); + firePropertyChange(PROP_DIRTY); + } catch (Exception e) { + throw new ArgeoException("Error while saving node", e); + } + + } + + @Override + public boolean isSaveAsAllowed() { + return true; + } +}