1 package eu
.etaxonomy
.taxeditor
;
3 import org
.eclipse
.jface
.action
.Action
;
4 import org
.eclipse
.jface
.viewers
.ISelectionChangedListener
;
5 import org
.eclipse
.jface
.viewers
.IStructuredContentProvider
;
6 import org
.eclipse
.jface
.viewers
.ITableLabelProvider
;
7 import org
.eclipse
.jface
.viewers
.LabelProvider
;
8 import org
.eclipse
.jface
.viewers
.SelectionChangedEvent
;
9 import org
.eclipse
.jface
.viewers
.TableViewer
;
10 import org
.eclipse
.jface
.viewers
.Viewer
;
11 import org
.eclipse
.swt
.SWT
;
12 import org
.eclipse
.swt
.graphics
.Image
;
13 import org
.eclipse
.swt
.layout
.GridData
;
14 import org
.eclipse
.swt
.layout
.GridLayout
;
15 import org
.eclipse
.swt
.widgets
.Button
;
16 import org
.eclipse
.swt
.widgets
.Composite
;
17 import org
.eclipse
.swt
.widgets
.Table
;
18 import org
.eclipse
.ui
.ISharedImages
;
19 import org
.eclipse
.ui
.PlatformUI
;
20 import org
.eclipse
.ui
.forms
.DetailsPart
;
21 import org
.eclipse
.ui
.forms
.IManagedForm
;
22 import org
.eclipse
.ui
.forms
.MasterDetailsBlock
;
23 import org
.eclipse
.ui
.forms
.SectionPart
;
24 import org
.eclipse
.ui
.forms
.editor
.FormPage
;
25 import org
.eclipse
.ui
.forms
.widgets
.FormToolkit
;
26 import org
.eclipse
.ui
.forms
.widgets
.ScrolledForm
;
27 import org
.eclipse
.ui
.forms
.widgets
.Section
;
29 public class ScrolledPropertiesBlock
extends MasterDetailsBlock
{
30 private FormPage page
;
31 public ScrolledPropertiesBlock(FormPage page
) {
38 class MasterContentProvider
implements IStructuredContentProvider
{
39 public Object
[] getElements(Object inputElement
) {
40 if (inputElement
instanceof SimpleFormEditorInput
) {
41 SimpleFormEditorInput input
= (SimpleFormEditorInput
) page
42 .getEditor().getEditorInput();
43 return input
.getModel().getContents();
47 public void dispose() {
49 public void inputChanged(Viewer viewer
, Object oldInput
, Object newInput
) {
52 class MasterLabelProvider
extends LabelProvider
55 public String
getColumnText(Object obj
, int index
) {
56 return obj
.toString();
58 public Image
getColumnImage(Object obj
, int index
) {
59 /*if (obj instanceof TypeOne) {
60 return PlatformUI.getWorkbench().getSharedImages().getImage(
61 ISharedImages.IMG_OBJ_ELEMENT);
63 if (obj instanceof TypeTwo) {
64 return PlatformUI.getWorkbench().getSharedImages().getImage(
65 ISharedImages.IMG_OBJ_FILE);
72 protected void createMasterPart(final IManagedForm managedForm
,
74 //final ScrolledForm form = managedForm.getForm();
75 FormToolkit toolkit
= managedForm
.getToolkit();
76 Section section
= toolkit
.createSection(parent
, Section
.DESCRIPTION
|Section
.TITLE_BAR
);
77 section
.setText(Messages
.getString("ScrolledPropertiesBlock.sname")); //$NON-NLS-1$
79 .setDescription(Messages
.getString("ScrolledPropertiesBlock.sdesc")); //$NON-NLS-1$
80 section
.marginWidth
= 10;
81 section
.marginHeight
= 5;
82 Composite client
= toolkit
.createComposite(section
, SWT
.WRAP
);
83 GridLayout layout
= new GridLayout();
84 layout
.numColumns
= 2;
85 layout
.marginWidth
= 2;
86 layout
.marginHeight
= 2;
87 client
.setLayout(layout
);
88 Table t
= toolkit
.createTable(client
, SWT
.NULL
);
89 GridData gd
= new GridData(GridData
.FILL_BOTH
);
93 toolkit
.paintBordersFor(client
);
94 Button b
= toolkit
.createButton(client
, Messages
.getString("ScrolledPropertiesBlock.add"), SWT
.PUSH
); //$NON-NLS-1$
95 gd
= new GridData(GridData
.VERTICAL_ALIGN_BEGINNING
);
97 section
.setClient(client
);
98 final SectionPart spart
= new SectionPart(section
);
99 managedForm
.addPart(spart
);
100 TableViewer viewer
= new TableViewer(t
);
101 viewer
.addSelectionChangedListener(new ISelectionChangedListener() {
102 public void selectionChanged(SelectionChangedEvent event
) {
103 managedForm
.fireSelectionChanged(spart
, event
.getSelection());
106 viewer
.setContentProvider(new MasterContentProvider());
107 viewer
.setLabelProvider(new MasterLabelProvider());
108 viewer
.setInput(page
.getEditor().getEditorInput());
110 protected void createToolBarActions(IManagedForm managedForm
) {
111 final ScrolledForm form
= managedForm
.getForm();
112 Action haction
= new Action("hor", Action
.AS_RADIO_BUTTON
) { //$NON-NLS-1$
114 sashForm
.setOrientation(SWT
.HORIZONTAL
);
118 haction
.setChecked(true);
119 haction
.setToolTipText(Messages
.getString("ScrolledPropertiesBlock.horizontal")); //$NON-NLS-1$
120 haction
.setImageDescriptor(Activator
.getDefault()
122 .getDescriptor(Activator
.IMG_HORIZONTAL
));
123 Action vaction
= new Action("ver", Action
.AS_RADIO_BUTTON
) { //$NON-NLS-1$
125 sashForm
.setOrientation(SWT
.VERTICAL
);
129 vaction
.setChecked(false);
130 vaction
.setToolTipText(Messages
.getString("ScrolledPropertiesBlock.vertical")); //$NON-NLS-1$
131 vaction
.setImageDescriptor(Activator
.getDefault()
132 .getImageRegistry().getDescriptor(Activator
.IMG_VERTICAL
));
133 form
.getToolBarManager().add(haction
);
134 form
.getToolBarManager().add(vaction
);
136 protected void registerPages(DetailsPart detailsPart
) {
137 detailsPart
.registerPage(Name
.class, new NameDetailsPage());