]> git.argeo.org Git - lgpl/argeo-commons.git/blob - demo/plugins/org.argeo.demo.i18n/src/main/java/org/argeo/demo/i18n/editors/SimpleMultitabEditor.java
e187b17ed1e114a7c063f4fcf62b69e0cf327f36
[lgpl/argeo-commons.git] / demo / plugins / org.argeo.demo.i18n / src / main / java / org / argeo / demo / i18n / editors / SimpleMultitabEditor.java
1 package org.argeo.demo.i18n.editors;
2
3 import org.argeo.ArgeoException;
4 import org.argeo.demo.i18n.I18nDemoMessages;
5 import org.argeo.demo.i18n.I18nDemoPlugin;
6 import org.eclipse.core.runtime.IProgressMonitor;
7 import org.eclipse.ui.IEditorInput;
8 import org.eclipse.ui.IEditorSite;
9 import org.eclipse.ui.PartInitException;
10 import org.eclipse.ui.forms.editor.FormEditor;
11
12 /**
13 *
14 * Container for the node editor page. At creation time, it takes a JCR Node
15 * that cannot be changed afterwards.
16 *
17 */
18 public class SimpleMultitabEditor extends FormEditor {
19
20 // private final static Log log = LogFactory
21 // .getLog(SimpleMultitabEditor.class);
22 public final static String ID = I18nDemoPlugin.ID + ".simpleMultitabEditor";
23
24 private SimplePage simplePage;
25 private MultiSectionPage multiSectionPage;
26
27 public void init(IEditorSite site, IEditorInput input)
28 throws PartInitException {
29 super.init(site, input);
30 // this.setPartName("Internationalized editor part name");
31 }
32
33 @Override
34 protected void addPages() {
35 try {
36 simplePage = new SimplePage(this,
37 I18nDemoMessages.get().SimpleMultitabEditor_SimplePageTitle);
38 addPage(simplePage);
39
40 multiSectionPage = new MultiSectionPage(
41 this,
42 I18nDemoMessages.get().SimpleMultitabEditor_MultiSectionPageTitle);
43 addPage(multiSectionPage);
44
45 } catch (PartInitException e) {
46 throw new ArgeoException("Not able to add an empty page ", e);
47 }
48 }
49
50 @Override
51 public void doSaveAs() {
52 // unused compulsory method
53 }
54
55 @Override
56 public void doSave(IProgressMonitor monitor) {
57 try {
58 // Automatically commit all pages of the editor
59 commitPages(true);
60 firePropertyChange(PROP_DIRTY);
61 } catch (Exception e) {
62 throw new ArgeoException("Error while saving node", e);
63 }
64
65 }
66
67 @Override
68 public boolean isSaveAsAllowed() {
69 return true;
70 }
71 }