]> 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
03a8216918b885ff2509613c723d303ebd2cdd15
[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, getAkbNode(), getAkbService());
27 GridData gd = new GridData(SWT.FILL, SWT.TOP, true, false);
28 gd.minimumHeight = 250;
29 ittCmp.setLayoutData(gd);
30
31 Composite bottomCmp = getToolkit().createComposite(parent);
32 gd = new GridData(SWT.FILL, SWT.FILL, true, true);
33 bottomCmp.setLayoutData(gd);
34 populateBottomPart(bottomCmp, managedForm);
35 }
36
37 @Override
38 protected void addOtherPages() throws PartInitException {
39 addPage(new TestPage(this, "testPage", "Test"));
40 }
41
42 /** Overwrite to add specific bottom part depending on the item type */
43 abstract protected void populateBottomPart(Composite parent,
44 IManagedForm managedForm);
45
46 /**
47 * Display history
48 */
49 private class TestPage extends FormPage {
50
51 public TestPage(FormEditor editor, String id, String title) {
52 super(editor, id, title);
53 }
54
55 protected void createFormContent(IManagedForm managedForm) {
56 super.createFormContent(managedForm);
57 ScrolledForm form = managedForm.getForm();
58 form.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
59 Composite parent = form.getBody();
60 populateTestPage(parent);
61 }
62 }
63
64 protected void populateTestPage(Composite parent) {
65 parent.setLayout(AkbUiUtils.gridLayoutNoBorder());
66 getToolkit().createLabel(
67 parent,
68 "This page will display a test page "
69 + "using default connection for the chosen alias");
70 }
71
72 }