]> git.argeo.org Git - lgpl/argeo-commons.git/blob - demo/plugins/org.argeo.demo.i18n/src/main/java/org/argeo/demo/i18n/editors/SimplePage.java
Improve CSV and tabular
[lgpl/argeo-commons.git] / demo / plugins / org.argeo.demo.i18n / src / main / java / org / argeo / demo / i18n / editors / SimplePage.java
1 package org.argeo.demo.i18n.editors;
2
3 import java.util.ArrayList;
4 import java.util.List;
5
6 import org.apache.commons.logging.Log;
7 import org.apache.commons.logging.LogFactory;
8 import org.eclipse.swt.events.ModifyEvent;
9 import org.eclipse.swt.events.ModifyListener;
10 import org.eclipse.swt.layout.GridLayout;
11 import org.eclipse.swt.widgets.Composite;
12 import org.eclipse.swt.widgets.Control;
13 import org.eclipse.ui.forms.AbstractFormPart;
14 import org.eclipse.ui.forms.IManagedForm;
15 import org.eclipse.ui.forms.editor.FormEditor;
16 import org.eclipse.ui.forms.editor.FormPage;
17 import org.eclipse.ui.forms.widgets.FormToolkit;
18 import org.eclipse.ui.forms.widgets.ScrolledForm;
19
20 /**
21 * Main node editor page. Lists all properties of the current node and enable
22 * access and editing for some of them.
23 */
24
25 public class SimplePage extends FormPage {
26 private final static Log log = LogFactory.getLog(SimplePage.class);
27
28 // Utils
29 // protected DateFormat timeFormatter = new
30 // SimpleDateFormat(DATE_TIME_FORMAT);
31
32 // This page widgets
33 private FormToolkit tk;
34 private List<Control> modifyableProperties = new ArrayList<Control>();
35
36 public SimplePage(FormEditor editor, String title) {
37 super(editor, "id", title);
38 }
39
40 protected void createFormContent(IManagedForm managedForm) {
41 tk = managedForm.getToolkit();
42 ScrolledForm form = managedForm.getForm();
43 GridLayout twt = new GridLayout(3, false);
44 twt.marginWidth = twt.marginHeight = 5;
45
46 form.getBody().setLayout(twt);
47 createPropertiesPart(form.getBody());
48 }
49
50 private void createPropertiesPart(Composite parent) {
51 // Initializes form part
52 tk.createLabel(parent, "Implement something");
53 AbstractFormPart part = new AbstractFormPart() {
54 public void commit(boolean onSave) {
55 if (onSave) {
56
57 // We only commit when onSave = true,
58 // thus it is still possible to save after a tab
59 // change.
60 super.commit(onSave);
61 }
62 }
63 };
64
65 getManagedForm().addPart(part);
66
67 }
68
69 //
70 // LISTENERS
71 //
72
73 private class ModifiedFieldListener implements ModifyListener {
74
75 private AbstractFormPart formPart;
76
77 public ModifiedFieldListener(AbstractFormPart generalPart) {
78 this.formPart = generalPart;
79 }
80
81 public void modifyText(ModifyEvent e) {
82 formPart.markDirty();
83 }
84 }
85
86 }