1 package eu
.etaxonomy
.taxeditor
.designproposal2
.view
;
3 import org
.eclipse
.jface
.action
.IMenuManager
;
4 import org
.eclipse
.jface
.action
.IToolBarManager
;
5 import org
.eclipse
.jface
.viewers
.DoubleClickEvent
;
6 import org
.eclipse
.jface
.viewers
.IDoubleClickListener
;
7 import org
.eclipse
.jface
.viewers
.IStructuredContentProvider
;
8 import org
.eclipse
.jface
.viewers
.ITableLabelProvider
;
9 import org
.eclipse
.jface
.viewers
.LabelProvider
;
10 import org
.eclipse
.jface
.viewers
.StructuredSelection
;
11 import org
.eclipse
.jface
.viewers
.TableViewer
;
12 import org
.eclipse
.jface
.viewers
.TreeViewer
;
13 import org
.eclipse
.jface
.viewers
.Viewer
;
14 import org
.eclipse
.jface
.viewers
.ViewerLabel
;
15 import org
.eclipse
.swt
.SWT
;
16 import org
.eclipse
.swt
.custom
.StackLayout
;
17 import org
.eclipse
.swt
.events
.FocusAdapter
;
18 import org
.eclipse
.swt
.events
.FocusEvent
;
19 import org
.eclipse
.swt
.events
.FocusListener
;
20 import org
.eclipse
.swt
.events
.MouseAdapter
;
21 import org
.eclipse
.swt
.events
.MouseEvent
;
22 import org
.eclipse
.swt
.events
.SelectionEvent
;
23 import org
.eclipse
.swt
.events
.SelectionListener
;
24 import org
.eclipse
.swt
.graphics
.Image
;
25 import org
.eclipse
.swt
.layout
.FillLayout
;
26 import org
.eclipse
.swt
.layout
.GridData
;
27 import org
.eclipse
.swt
.layout
.GridLayout
;
28 import org
.eclipse
.swt
.layout
.RowData
;
29 import org
.eclipse
.swt
.widgets
.Button
;
30 import org
.eclipse
.swt
.widgets
.Composite
;
31 import org
.eclipse
.swt
.widgets
.Control
;
32 import org
.eclipse
.swt
.widgets
.Display
;
33 import org
.eclipse
.swt
.widgets
.ExpandBar
;
34 import org
.eclipse
.swt
.widgets
.ExpandItem
;
35 import org
.eclipse
.swt
.widgets
.Label
;
36 import org
.eclipse
.swt
.widgets
.Menu
;
37 import org
.eclipse
.swt
.widgets
.MenuItem
;
38 import org
.eclipse
.swt
.widgets
.Table
;
39 import org
.eclipse
.swt
.widgets
.TableItem
;
40 import org
.eclipse
.swt
.widgets
.Text
;
41 import org
.eclipse
.swt
.widgets
.Tree
;
42 import org
.eclipse
.swt
.widgets
.TreeItem
;
43 import org
.eclipse
.ui
.part
.ViewPart
;
45 import com
.swtdesigner
.ResourceManager
;
46 import com
.swtdesigner
.SWTResourceManager
;
48 //import eu.etaxonomy.cdm.api.service.INameService;
49 //import eu.etaxonomy.cdm.event.ICdmEventListener;
50 //import eu.etaxonomy.cdm.event.ICdmEventListenerRegistration;
51 //import eu.etaxonomy.cdm.model.name.TaxonName;
52 import eu
.etaxonomy
.taxeditor
.designproposal2
.controller
.OpenNameEditorAction
;
53 import eu
.etaxonomy
.taxeditor
.designproposal2
.Activator
;
55 //public class NameListView extends ViewPart implements ICdmEventListener {
56 public class NameListView
extends ViewPart
{
57 private Text searchText
;
59 private Composite composite
;
61 private Composite taxTreeComposite
= null;
62 private Composite recentNamesComposite
= null;
63 private Composite searchComposite
= null;
64 private Composite top
= null;
65 private ExpandBar expandBar
= null;
66 private ExpandItem taxTreeExpandItem
;
67 private ExpandItem recentNamesExpandItem
;
68 private ExpandItem searchExpandItem
;
69 public static final String ID
= "eu.etaxonomy.taxeditor.designproposal2.view.namelistview"; //$NON-NLS-1$
74 * Create contents of the view part
78 public void createPartControl(Composite parent
) {
79 // TODO Auto-generated method stub
80 parent
.setLayout(new FillLayout());
81 GridLayout gridLayout
= new GridLayout();
82 gridLayout
.horizontalSpacing
= 0;
83 gridLayout
.marginWidth
= 0;
84 gridLayout
.marginHeight
= 0;
85 gridLayout
.verticalSpacing
= 0;
87 top
= new Composite(parent
, SWT
.NONE
);
88 top
.setBackground(Display
.getCurrent().getSystemColor(SWT
.COLOR_WHITE
));
90 composite
= new Composite(top
, SWT
.NONE
);
91 composite
.setBackground(Display
.getCurrent().getSystemColor(SWT
.COLOR_WHITE
));
92 final GridLayout gridLayout_1
= new GridLayout();
93 gridLayout_1
.numColumns
= 2;
94 composite
.setLayout(gridLayout_1
);
95 final Label lblDataSourceTitle
= new Label(composite
, SWT
.NONE
);
96 lblDataSourceTitle
.setFont(SWTResourceManager
.getFont("Arial", 14, SWT
.BOLD
));
97 lblDataSourceTitle
.setBackground(Display
.getCurrent().getSystemColor(SWT
.COLOR_WHITE
));
98 lblDataSourceTitle
.setAlignment(SWT
.CENTER
);
99 lblDataSourceTitle
.setText(" Euro+Med");
101 final Label lblDbImg
= new Label(composite
, SWT
.NONE
);
102 lblDbImg
.setLayoutData(new GridData(SWT
.RIGHT
, SWT
.CENTER
, false, false));
103 lblDbImg
.setBackground(Display
.getCurrent().getSystemColor(SWT
.COLOR_WHITE
));
104 lblDbImg
.setImage(ResourceManager
.getPluginImage(Activator
.getDefault(), "icons/db.gif"));
106 final Menu menu
= new Menu(lblDbImg
);
107 lblDbImg
.setMenu(menu
);
109 final MenuItem checkboxMenuItem
= new MenuItem(menu
, SWT
.CHECK
);
110 checkboxMenuItem
.setSelection(true);
111 checkboxMenuItem
.setText("Euro+Med (mssql://128.14.101.12:80/europlusmed)");
113 final MenuItem checkboxMenuItem_1
= new MenuItem(menu
, SWT
.CHECK
);
114 checkboxMenuItem_1
.setText("WP6 (mssql://128.14.101.13:80/wp6)");
116 final MenuItem palmWebora1922299480pwMenuItem
= new MenuItem(menu
, SWT
.NONE
);
117 palmWebora1922299480pwMenuItem
.setText("Palm Web (ora://192.22.99.4:80/pw)");
119 new MenuItem(menu
, SWT
.SEPARATOR
);
121 final MenuItem newDataSourceMenuItem
= new MenuItem(menu
, SWT
.NONE
);
122 newDataSourceMenuItem
.setText("New data source ...");
124 final Label lblDataSource
= new Label(composite
, SWT
.NONE
);
125 final GridData gd_lblDataSource
= new GridData(SWT
.LEFT
, SWT
.CENTER
, false, false, 2, 1);
126 gd_lblDataSource
.heightHint
= 16;
127 lblDataSource
.setLayoutData(gd_lblDataSource
);
128 lblDataSource
.setFont(SWTResourceManager
.getFont("Arial", 8, SWT
.NONE
));
129 lblDataSource
.setBackground(Display
.getCurrent().getSystemColor(SWT
.COLOR_WHITE
));
130 lblDataSource
.setAlignment(SWT
.CENTER
);
131 lblDataSource
.setText(" mssql://128.14.101.12:80/europlusmed");
135 top
.setLayout(gridLayout
);
136 top
.setTabList(new Control
[] {composite
, expandBar
});
140 * This method initializes expandBar
143 private void createExpandBar() {
144 expandBar
= new ExpandBar(top
, SWT
.V_SCROLL
);
145 GridData gridData
= new GridData();
146 gridData
.horizontalAlignment
= GridData
.FILL
;
147 gridData
.grabExcessHorizontalSpace
= true;
148 gridData
.grabExcessVerticalSpace
= true;
149 gridData
.verticalAlignment
= GridData
.FILL
;
150 expandBar
.setLayoutData(gridData
);
151 createNameListComposite();
152 createRecentNamesComposite();
153 createSearchComposite();
161 private void createNameListComposite() {
167 private void createRecentNamesComposite() {
168 taxTreeExpandItem
= new ExpandItem(expandBar
, SWT
.NONE
, 0);
169 taxTreeExpandItem
.setExpanded(true);
170 taxTreeExpandItem
.setHeight(200);
171 taxTreeExpandItem
.setText("Taxonomic Tree");
172 // IFileArrangerImages.IMG_HOME);
173 // nameListExpandItem.setImage(image);
175 taxTreeComposite
= new Composite(expandBar
, SWT
.NONE
);
176 taxTreeComposite
.setLayout(new FillLayout());
177 taxTreeComposite
.setBackground(Display
.getCurrent().getSystemColor(SWT
.COLOR_WHITE
));
179 taxTreeExpandItem
.setControl(taxTreeComposite
);
181 tree
= new Tree(taxTreeComposite
, SWT
.FULL_SELECTION
);
182 tree
.setItemCount(1);
183 tree
.addMouseListener(new MouseAdapter() {
184 public void mouseDoubleClick(final MouseEvent e
) {
185 new OpenNameEditorAction("Pilosella").run();
189 final TreeItem newItemTreeItem
= new TreeItem(tree
, SWT
.NONE
);
190 newItemTreeItem
.setChecked(true);
191 newItemTreeItem
.setText("Compositae Giseke");
193 final TreeItem newItemTreeItem_1
= new TreeItem(newItemTreeItem
, SWT
.NONE
);
194 newItemTreeItem_1
.setItemCount(1);
195 newItemTreeItem_1
.setText("Anthemideae Cass.");
197 final TreeItem newItemTreeItem_2
= new TreeItem(newItemTreeItem
, SWT
.NONE
);
198 newItemTreeItem_2
.setItemCount(1);
199 newItemTreeItem_2
.setText("Arctotideae Cass.");
201 final TreeItem newItemTreeItem_3
= new TreeItem(newItemTreeItem
, SWT
.NONE
);
202 newItemTreeItem_3
.setItemCount(1);
203 newItemTreeItem_3
.setText("Astereae Cass.");
205 final TreeItem newItemTreeItem_4
= new TreeItem(newItemTreeItem
, SWT
.NONE
);
206 newItemTreeItem_4
.setItemCount(1);
207 newItemTreeItem_4
.setText("Calenduleae Cass.");
209 final TreeItem newItemTreeItem_5
= new TreeItem(newItemTreeItem
, SWT
.NONE
);
210 newItemTreeItem_5
.setItemCount(1);
211 newItemTreeItem_5
.setText("Cardueae Cass.");
213 final TreeItem newItemTreeItem_6
= new TreeItem(newItemTreeItem
, SWT
.NONE
);
214 newItemTreeItem_6
.setText("Cichorieae Lam. & DC.");
216 final TreeItem newItemTreeItem_16
= new TreeItem(newItemTreeItem_6
, SWT
.NONE
);
217 newItemTreeItem_16
.setExpanded(true);
218 newItemTreeItem_16
.setText("Pilosella Vaill.");
220 final TreeItem newItemTreeItem_17
= new TreeItem(newItemTreeItem_16
, SWT
.NONE
);
221 newItemTreeItem_17
.setText("Pilosella fuscoatra coll.");
223 final TreeItem newItemTreeItem_18
= new TreeItem(newItemTreeItem_17
, SWT
.NONE
);
224 newItemTreeItem_18
.setFont(SWTResourceManager
.getFont("", 8, SWT
.BOLD
));
225 newItemTreeItem_18
.setExpanded(true);
226 newItemTreeItem_18
.setText("Pilosella fuscoatra (Nägeli & Peter) Soják");
228 final TreeItem newItemTreeItem_7
= new TreeItem(newItemTreeItem
, SWT
.NONE
);
229 newItemTreeItem_7
.setItemCount(1);
230 newItemTreeItem_7
.setText("Eupatorieae Cass.");
232 final TreeItem newItemTreeItem_8
= new TreeItem(newItemTreeItem
, SWT
.NONE
);
233 newItemTreeItem_8
.setItemCount(1);
234 newItemTreeItem_8
.setText("Gnaphalieae Lecoq & Juillet");
236 final TreeItem newItemTreeItem_9
= new TreeItem(newItemTreeItem
, SWT
.NONE
);
237 newItemTreeItem_9
.setItemCount(1);
238 newItemTreeItem_9
.setText("Helenieae Lindl.");
240 final TreeItem newItemTreeItem_10
= new TreeItem(newItemTreeItem
, SWT
.NONE
);
241 newItemTreeItem_10
.setItemCount(1);
242 newItemTreeItem_10
.setText("Heliantheae Cass.");
244 final TreeItem newItemTreeItem_11
= new TreeItem(newItemTreeItem
, SWT
.NONE
);
245 newItemTreeItem_11
.setItemCount(1);
246 newItemTreeItem_11
.setText("Inuleae Cass.");
248 final TreeItem newItemTreeItem_12
= new TreeItem(newItemTreeItem
, SWT
.NONE
);
249 newItemTreeItem_12
.setItemCount(1);
250 newItemTreeItem_12
.setText("Mutisieae Cass.");
252 final TreeItem newItemTreeItem_13
= new TreeItem(newItemTreeItem
, SWT
.NONE
);
253 newItemTreeItem_13
.setItemCount(1);
254 newItemTreeItem_13
.setText("Plucheeae Anderb.");
256 final TreeItem newItemTreeItem_14
= new TreeItem(newItemTreeItem
, SWT
.NONE
);
257 newItemTreeItem_14
.setItemCount(1);
258 newItemTreeItem_14
.setText("Senecioneae Cass.");
260 final TreeItem newItemTreeItem_15
= new TreeItem(newItemTreeItem
, SWT
.NONE
);
261 newItemTreeItem_15
.setItemCount(1);
262 newItemTreeItem_15
.setText("Vernonieae Cass.");
263 taxTreeComposite
.setTabList(new Control
[] {tree
});
264 recentNamesExpandItem
= new ExpandItem(expandBar
, SWT
.NONE
, 1);
265 recentNamesExpandItem
.setHeight(130);
266 recentNamesExpandItem
.setExpanded(true);
267 recentNamesExpandItem
.setText("Recently viewed names");
268 recentNamesComposite
= new Composite(expandBar
, SWT
.NONE
);
269 final GridLayout gridLayout
= new GridLayout();
270 recentNamesComposite
.setLayout(gridLayout
);
272 recentNamesExpandItem
.setControl(recentNamesComposite
);
274 table
= new Table(recentNamesComposite
, SWT
.NONE
);
275 table
.addMouseListener(new MouseAdapter() {
276 public void mouseDoubleClick(final MouseEvent e
) {
277 new OpenNameEditorAction("Carduus").run();
280 table
.setLayoutData(new GridData(SWT
.FILL
, SWT
.FILL
, true, true));
282 final TableItem newItemTableItem
= new TableItem(table
, SWT
.BORDER
);
283 newItemTableItem
.setText("Laphangium (Hilliard & B. L. Burtt) Tzvelev");
285 final TableItem newItemTableItem_1
= new TableItem(table
, SWT
.BORDER
);
286 newItemTableItem_1
.setText("Carduus L.");
288 final TableItem newItemTableItem_2
= new TableItem(table
, SWT
.BORDER
);
289 newItemTableItem_2
.setText("Carduus carpetanus Boiss. & Reut.");
291 final TableItem newItemTableItem_3
= new TableItem(table
, SWT
.BORDER
);
292 newItemTableItem_3
.setText("Carduus kerneri Simonk.");
294 final TableItem newItemTableItem_5
= new TableItem(table
, SWT
.BORDER
);
295 newItemTableItem_5
.setText("Senecio eboracensis R. J. Abbott & A. J. Lowe");
297 final TableItem newItemTableItem_6
= new TableItem(table
, SWT
.BORDER
);
298 newItemTableItem_6
.setText("Senecio elegans L.");
300 // Image image = FileArrangerImages.getImageRegistry().get(
301 // IFileArrangerImages.IMG_BOOKMARK);
302 // bookmarksExpandItem.setImage(image);
305 private void createSearchComposite() {
306 searchExpandItem
= new ExpandItem(expandBar
, SWT
.NONE
, 2);
307 searchExpandItem
.setHeight(50);
308 searchExpandItem
.setExpanded(true);
309 searchExpandItem
.setText("Search");
310 searchComposite
= new Composite(expandBar
, SWT
.NONE
);
311 final GridLayout gridLayout
= new GridLayout();
312 gridLayout
.numColumns
= 2;
313 searchComposite
.setLayout(gridLayout
);
315 searchExpandItem
.setControl(searchComposite
);
317 searchText
= new Text(searchComposite
, SWT
.BORDER
);
318 searchText
.setForeground(SWTResourceManager
.getColor(192, 192, 192));
319 searchText
.setText("Use \"*\" for wildcard searching");
320 final GridData gd_useForText
= new GridData(SWT
.FILL
, SWT
.CENTER
, true, false);
321 searchText
.setLayoutData(gd_useForText
);
322 searchText
.addFocusListener(new FocusListener() {
324 public void focusGained(FocusEvent e
) {
325 searchText
.setForeground(SWTResourceManager
.getColor(0,0,0));
326 searchText
.setText("");
329 public void focusLost(FocusEvent e
) {
330 if (searchText
.getText() == "") {
331 searchText
.setForeground(SWTResourceManager
.getColor(192, 192, 192));
332 searchText
.setText("Use \"*\" for wildcard searching");
339 final Button searchButton
= new Button(searchComposite
, SWT
.NONE
);
340 searchButton
.setText("Search");
342 // final Label carduusLLabel = new Label(searchComposite, SWT.NONE);
343 // carduusLLabel.setLayoutData(gd_carduusLLabel);
344 // carduusLLabel.setText("Carduus L.");
346 // final Label carduusCarpetanusBoissLabel = new Label(searchComposite, SWT.NONE);
347 // carduusCarpetanusBoissLabel.setLayoutData(gd_carduusCarpetanusBoissLabel);
348 // carduusCarpetanusBoissLabel.setText("Carduus carpetanus Boiss. & Reut.");
350 // Image image = FileArrangerImages.getImageRegistry().get(
351 // IFileArrangerImages.IMG_FTP);
352 // ftpExpandItem.setImage(image);
355 private void createActions() {
356 // Create the actions
360 * Initialize the toolbar
362 private void initializeToolBar() {
363 IToolBarManager toolbarManager
= getViewSite().getActionBars()
364 .getToolBarManager();
368 * Initialize the menu
370 private void initializeMenu() {
371 IMenuManager menuManager
= getViewSite().getActionBars()
376 public void setFocus() {
381 * Refreshes a taxon name in the list
383 // public void refreshElement(TaxonName taxonname) {
386 // public void onDelete(ICdmEventListenerRegistration arg0) {
387 // // TODO Auto-generated method stub
391 public void onInsert(Object arg0
) {
392 // TODO Auto-generated method stub
396 public void onLoad(Object arg0
) {
399 // public void onUpdate(ICdmEventListenerRegistration arg0) {
400 // System.out.println("here i am");
401 // refreshElement((TaxonName)arg0);