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