]> git.argeo.org Git - gpl/argeo-slc.git/blob - plugins/org.argeo.slc.akb.ui/src/main/java/org/argeo/slc/akb/ui/editors/AkbItemTemplateEditor.java
Prepare SLC v1.1.15 release
[gpl/argeo-slc.git] / plugins / org.argeo.slc.akb.ui / src / main / java / org / argeo / slc / akb / ui / editors / AkbItemTemplateEditor.java
1 package org.argeo.slc.akb.ui.editors;
2
3 import org.argeo.slc.akb.ui.AkbUiUtils;
4 import org.argeo.slc.akb.ui.composites.ItemTemplateTitleComposite;
5 import org.eclipse.swt.SWT;
6 import org.eclipse.swt.layout.GridData;
7 import org.eclipse.swt.widgets.Composite;
8 import org.eclipse.ui.PartInitException;
9 import org.eclipse.ui.forms.IManagedForm;
10 import org.eclipse.ui.forms.editor.FormEditor;
11 import org.eclipse.ui.forms.editor.FormPage;
12 import org.eclipse.ui.forms.widgets.ScrolledForm;
13
14 /**
15 * Parent class for most akb items editor. Factorizes UI parts that are common
16 * in various item types.
17 */
18 public abstract class AkbItemTemplateEditor extends AbstractAkbNodeEditor {
19
20 /* CONTENT CREATION */
21 @Override
22 public void populateMainPage(Composite parent, IManagedForm managedForm) {
23 parent.setLayout(AkbUiUtils.gridLayoutNoBorder());
24 // First line main info
25 ItemTemplateTitleComposite ittCmp = new ItemTemplateTitleComposite(
26 parent, SWT.NO_FOCUS, getToolkit(), managedForm, getEnvNode(),
27 getAkbNode(), getAkbService());
28 GridData gd = new GridData(SWT.FILL, SWT.TOP, true, false);
29 gd.minimumHeight = 250;
30 ittCmp.setLayoutData(gd);
31
32 Composite bottomCmp = getToolkit().createComposite(parent);
33 gd = new GridData(SWT.FILL, SWT.FILL, true, true);
34 bottomCmp.setLayoutData(gd);
35 populateBottomPart(bottomCmp, managedForm);
36 }
37
38 @Override
39 protected void addOtherPages() throws PartInitException {
40 addPage(new TestPage(this, "testPage", "Test"));
41 }
42
43 /** Overwrite to add specific bottom part depending on the item type */
44 abstract protected void populateBottomPart(Composite parent,
45 IManagedForm managedForm);
46
47 /**
48 * Display history
49 */
50 private class TestPage extends FormPage {
51
52 public TestPage(FormEditor editor, String id, String title) {
53 super(editor, id, title);
54 }
55
56 protected void createFormContent(IManagedForm managedForm) {
57 super.createFormContent(managedForm);
58 ScrolledForm form = managedForm.getForm();
59 form.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
60 Composite parent = form.getBody();
61 populateTestPage(parent, managedForm);
62 }
63 }
64
65 protected void populateTestPage(Composite parent, IManagedForm managedForm) {
66 parent.setLayout(AkbUiUtils.gridLayoutNoBorder());
67 getToolkit().createLabel(
68 parent,
69 "This page will display a test page "
70 + "using default connection for the chosen alias");
71 }
72
73 }