1 package org
.argeo
.slc
.akb
.ui
.editors
;
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
;
15 * Parent class for most akb items editor. Factorizes UI parts that are common
16 * in various item types.
18 public abstract class AkbItemTemplateEditor
extends AbstractAkbNodeEditor
{
20 /* CONTENT CREATION */
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
);
32 Composite bottomCmp
= getToolkit().createComposite(parent
);
33 gd
= new GridData(SWT
.FILL
, SWT
.FILL
, true, true);
34 bottomCmp
.setLayoutData(gd
);
35 populateBottomPart(bottomCmp
, managedForm
);
39 protected void addOtherPages() throws PartInitException
{
40 addPage(new TestPage(this, "testPage", "Test"));
43 /** Overwrite to add specific bottom part depending on the item type */
44 abstract protected void populateBottomPart(Composite parent
,
45 IManagedForm managedForm
);
50 private class TestPage
extends FormPage
{
52 public TestPage(FormEditor editor
, String id
, String title
) {
53 super(editor
, id
, title
);
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
);
65 protected void populateTestPage(Composite parent
, IManagedForm managedForm
) {
66 parent
.setLayout(AkbUiUtils
.gridLayoutNoBorder());
67 getToolkit().createLabel(
69 "This page will display a test page "
70 + "using default connection for the chosen alias");