(no commit message)
[taxeditor.git] / eclipseprojects / eu.etaxonomy.taxeditor.designproposal1 / src / eu / etaxonomy / taxeditor / designproposal1 / view / PilosellaEditorView.java
1 package eu.etaxonomy.taxeditor.designproposal1.view;
2
3 import java.beans.PropertyChangeEvent;
4 import java.beans.PropertyChangeListener;
5
6 import org.eclipse.core.runtime.IProgressMonitor;
7 import org.eclipse.jface.action.Action;
8 import org.eclipse.jface.dialogs.MessageDialog;
9 import org.eclipse.jface.text.Document;
10 import org.eclipse.jface.text.TextViewer;
11 import org.eclipse.jface.text.source.SourceViewer;
12 import org.eclipse.swt.SWT;
13 import org.eclipse.swt.custom.PopupList;
14 import org.eclipse.swt.custom.StyledText;
15 import org.eclipse.swt.events.ControlAdapter;
16 import org.eclipse.swt.events.ControlEvent;
17 import org.eclipse.swt.events.FocusEvent;
18 import org.eclipse.swt.events.FocusListener;
19 import org.eclipse.swt.events.KeyEvent;
20 import org.eclipse.swt.events.KeyListener;
21 import org.eclipse.swt.events.MouseAdapter;
22 import org.eclipse.swt.events.MouseEvent;
23 import org.eclipse.swt.events.MouseListener;
24 import org.eclipse.swt.events.SelectionAdapter;
25 import org.eclipse.swt.events.SelectionEvent;
26 import org.eclipse.swt.events.SelectionListener;
27 import org.eclipse.swt.graphics.Point;
28 import org.eclipse.swt.graphics.Rectangle;
29 import org.eclipse.swt.layout.FillLayout;
30 import org.eclipse.swt.layout.GridData;
31 import org.eclipse.swt.layout.GridLayout;
32 import org.eclipse.swt.widgets.Button;
33 import org.eclipse.swt.widgets.Composite;
34 import org.eclipse.swt.widgets.CoolBar;
35 import org.eclipse.swt.widgets.CoolItem;
36 import org.eclipse.swt.widgets.Display;
37 import org.eclipse.swt.widgets.Event;
38 import org.eclipse.swt.widgets.Label;
39 import org.eclipse.swt.widgets.Listener;
40 import org.eclipse.swt.widgets.Menu;
41 import org.eclipse.swt.widgets.MenuItem;
42 import org.eclipse.swt.widgets.Shell;
43 import org.eclipse.swt.widgets.Table;
44 import org.eclipse.swt.widgets.TableColumn;
45 import org.eclipse.swt.widgets.TableItem;
46 import org.eclipse.swt.widgets.Text;
47 import org.eclipse.swt.widgets.ToolBar;
48 import org.eclipse.swt.widgets.ToolItem;
49 import org.eclipse.ui.IEditorInput;
50 import org.eclipse.ui.IEditorSite;
51 import org.eclipse.ui.PartInitException;
52 import org.eclipse.ui.editors.text.TextEditor;
53 import org.eclipse.ui.part.EditorPart;
54 import com.swtdesigner.ResourceManager;
55 import com.swtdesigner.SWTResourceManager;
56
57 //import org.eclipse.ui.texteditor.AbstractTextEditor;
58
59 //import eu.etaxonomy.cdm.event.ICdmEventListener;
60 //import eu.etaxonomy.cdm.event.ICdmEventListenerRegistration;
61 //import eu.etaxonomy.cdm.model.name.TaxonName;
62 import eu.etaxonomy.taxeditor.designproposal1.Activator;
63 import eu.etaxonomy.taxeditor.designproposal1.controller.OpenNameEditorAction;
64 import eu.etaxonomy.taxeditor.designproposal1.controller.SaveNameAction;
65 import eu.etaxonomy.taxeditor.designproposal1.model.TaxonName;
66
67 public class PilosellaEditorView extends EditorPart {
68 //public class PilosellaEditorView extends TextEditor {
69
70 private Text hieraciumFuscoatrumSubspText_1;
71 private Text hieraciumRubroonegenseNorrlText;
72 private Table table_1;
73 private Text text_3;
74 private Text hieraciumFuscoatrumSubspText;
75 private Text hieraciumAurantiacumSubspText;
76 private Text text_1;
77 private StyledText styledText;
78 private TaxonName taxonname;
79
80 public static final String ID = "eu.etaxonomy.taxeditor.designproposal1.view.pilosellaeditorview"; //$NON-NLS-1$
81
82 /**
83 * Create contents of the editor part
84 * @param parent
85 */
86 @Override
87 public void createPartControl(Composite parent) {
88 //
89
90
91 // txtPlay = new Text(container, SWT.BORDER);
92 // txtPlay.setCapture(true);
93 // final GridData gd_txtPlay = new GridData(SWT.FILL, SWT.CENTER, true, false, 2, 1);
94 // gd_txtPlay.heightHint = 96;
95 // txtPlay.setLayoutData(gd_txtPlay);
96 //// txtPlay.addVerifyListener(new VerifyListener() {
97 //// @Override
98 //// public void verifyText(VerifyEvent e) {
99 //// e.doit = Character.isDigit(e.character);
100 //// }
101 //// });
102 // txtPlay.addSelectionListener(new SelectionListener() {
103 //
104 // @Override
105 // public void widgetDefaultSelected(SelectionEvent e) {
106 // // TODO Auto-generated method stub
107 //
108 // }
109 //
110 // @Override
111 // public void widgetSelected(SelectionEvent e) {
112 // System.out.println(e.toString());
113 // }
114 //
115 //
116 // });
117 //
118 //
119 // txtPlay.addKeyListener(new KeyListener() {
120 //
121 // public void keyPressed(KeyEvent e) {
122 // System.out.println(e.character);
123 // if (e.character == '=') {
124 // Shell shell = Activator.getDefault().getWorkbench().
125 // getActiveWorkbenchWindow().getShell();
126 // PopupList list = new PopupList(shell, SWT.H_SCROLL | SWT.V_SCROLL);
127 //
128 //// Combo list = new Combo(shell, SWT.H_SCROLL | SWT.V_SCROLL);
129 //
130 // // Add the items to the list
131 // String[] OPTIONS = { "Create homo. syn.",
132 // "Create hetero. syn.",
133 // "Create mis. name",
134 // "Create homonym"};
135 //
136 // list.setItems(OPTIONS);
137 //
138 // // Open the list and get the selected item
139 // String selected = list.open(txtPlay.getBounds());
140 //
141 // // Print the item to the console
142 // System.out.println(selected);
143 // }
144 //
145 // }
146 //
147 // public void keyReleased(KeyEvent e) {
148 // // TODO Auto-generated method stub
149 //
150 // }
151 // });
152 parent.setLayout(new GridLayout());
153 Document doc = new Document();
154
155 final Label taxonomicallyIncludedInLabel = new Label(parent, SWT.NONE);
156 taxonomicallyIncludedInLabel.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false));
157 taxonomicallyIncludedInLabel.setText("Higher taxon: \"Pilosella fuscoatra coll.\"");
158
159 final ToolBar toolBar = new ToolBar(parent, SWT.NONE);
160 // toolBar.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_GRAY));
161
162 final ToolItem itemSave = new ToolItem(toolBar, SWT.PUSH);
163 itemSave.setToolTipText("Save taxon \"Pilosella fuscoatra (Nägeli & Peter) Soják\"");
164 itemSave.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/save.gif"));
165 itemSave.addSelectionListener(new SelectionListener() {
166 public void mouseDown(final MouseEvent e) {
167
168 // taxonname.setGenus(txtGenus.getText());
169 // taxonname.setSpecificEpithet(txtSpEpi.getText());
170
171 new SaveNameAction(taxonname).run();
172 }
173
174 public void widgetDefaultSelected(SelectionEvent e) {
175 new SaveNameAction(taxonname).run();
176 }
177
178 public void widgetSelected(SelectionEvent e) {
179 new SaveNameAction(taxonname).run();
180 }
181 });
182
183 final ToolItem itemMove = new ToolItem(toolBar, SWT.DROP_DOWN);
184 itemMove.setToolTipText("Move taxon \"Pilosella fuscoatra (Nägeli & Peter) Soják\"");
185
186 final Menu menuMove = new Menu(toolBar);
187 menuMove.setData("x", null);
188 addDropDown(itemMove, menuMove);
189
190 final MenuItem moveTaxonpilosellaMenuItem = new MenuItem(menuMove, SWT.NONE);
191 moveTaxonpilosellaMenuItem.setText("Move taxon \"Pilosella fuscoatra (Nägeli & Peter) Soják\" to another higher taxon");
192
193 final MenuItem turnTaxonpilosellaMenuItem = new MenuItem(menuMove, SWT.NONE);
194 turnTaxonpilosellaMenuItem.addSelectionListener(new SelectionAdapter() {
195 public void widgetSelected(final SelectionEvent e) {
196 new MoveDialogView(getSite().getShell());
197 // MessageDialog.openInformation(getSite().getShell(),"Readme Editor","View Action executed");
198 MoveDialogView dialog = new MoveDialogView(getSite().getShell());
199 dialog.open();
200 }
201 });
202 turnTaxonpilosellaMenuItem.setText("Turn taxon \"Pilosella fuscoatra (Nägeli & Peter) Soják\" into a synonym");
203
204 // });
205 // newItemToolItem.setText("New item");
206 itemMove.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/move_no_bg.gif"));
207
208 final ToolItem itemDelete = new ToolItem(toolBar, SWT.NONE);
209 itemDelete.setToolTipText("Delete taxon \"Pilosella fuscoatra (Nägeli & Peter) Soják\"");
210 itemDelete.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/delete.gif"));
211
212 final ToolItem separator1 = new ToolItem(toolBar, SWT.SEPARATOR);
213
214 final ToolItem itemAddRelationship = new ToolItem(toolBar, SWT.DROP_DOWN);
215 itemAddRelationship.setToolTipText("Add nom. or tax. relation to \"Pilosella fuscoatra (Nägeli & Peter) Soják\"");
216 itemAddRelationship.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/rel_no_bg.gif"));
217
218 final Menu menuAddRel = new Menu(toolBar);
219 menuAddRel.setData("x", null);
220 addDropDown(itemAddRelationship, menuAddRel);
221
222 final MenuItem testMenuItem = new MenuItem(menuAddRel, SWT.NONE);
223 testMenuItem.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/unknown_no_bg.gif"));
224 testMenuItem.setText("Add synonymy (type unknown)");
225
226 final MenuItem addHomotypicSynonymMenuItem = new MenuItem(menuAddRel, SWT.NONE);
227 addHomotypicSynonymMenuItem.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/homosyn_no_bg.gif"));
228 addHomotypicSynonymMenuItem.setText("Add homotypic synonym");
229
230 final MenuItem addHeterotypicSynoynmMenuItem = new MenuItem(menuAddRel, SWT.NONE);
231 addHeterotypicSynoynmMenuItem.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/heterosyn_no_bg.gif"));
232 addHeterotypicSynoynmMenuItem.setText("Add heterotypic synoynm");
233
234 final MenuItem addBasionymMenuItem = new MenuItem(menuAddRel, SWT.NONE);
235 addBasionymMenuItem.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/basionym_no_bg.gif"));
236 addBasionymMenuItem.setText("Add basionym");
237
238 final MenuItem addReplacedSynonymMenuItem = new MenuItem(menuAddRel, SWT.NONE);
239 addReplacedSynonymMenuItem.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/repsyn_no_bg.gif"));
240 addReplacedSynonymMenuItem.setText("Add replaced synonym");
241
242 final MenuItem addHomonymMenuItem = new MenuItem(menuAddRel, SWT.NONE);
243 addHomonymMenuItem.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/homonym_no_bg.gif"));
244 addHomonymMenuItem.setText("Add homonym");
245
246 final MenuItem addOrthographicVariantMenuItem = new MenuItem(menuAddRel, SWT.NONE);
247 addOrthographicVariantMenuItem.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/orthovariant_no_bg.gif"));
248 addOrthographicVariantMenuItem.setText("Add orthographic variant");
249
250 final MenuItem addMisappliedNameMenuItem = new MenuItem(menuAddRel, SWT.NONE);
251 addMisappliedNameMenuItem.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/misapplied_no_bg.gif"));
252 addMisappliedNameMenuItem.setText("Add misapplied name");
253
254 final MenuItem addConceptRelationMenuItem_1 = new MenuItem(menuAddRel, SWT.CASCADE);
255 addConceptRelationMenuItem_1.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/concept_no_bg.gif"));
256 addConceptRelationMenuItem_1.setText("Add concept relation");
257
258 final Menu menu = new Menu(addConceptRelationMenuItem_1);
259 addConceptRelationMenuItem_1.setMenu(menu);
260
261 final MenuItem checkboxMenuItem = new MenuItem(menu, SWT.CHECK);
262 checkboxMenuItem.setText("congruent");
263
264 final MenuItem checkboxMenuItem_1 = new MenuItem(menu, SWT.CHECK);
265 checkboxMenuItem_1.setSelection(true);
266 checkboxMenuItem_1.setText("included in");
267
268 final MenuItem checkboxMenuItem_2 = new MenuItem(menu, SWT.CHECK);
269 checkboxMenuItem_2.setText("includes");
270
271 final MenuItem checkboxMenuItem_3 = new MenuItem(menu, SWT.CHECK);
272 checkboxMenuItem_3.setText("overlaps");
273
274 final MenuItem checkboxMenuItem_4 = new MenuItem(menu, SWT.CHECK);
275 checkboxMenuItem_4.setText("excludes");
276
277 final MenuItem checkboxMenuItem_5 = new MenuItem(menu, SWT.CHECK);
278 checkboxMenuItem_5.setSelection(true);
279 checkboxMenuItem_5.setText("doubtful");
280
281 final ToolItem separator2 = new ToolItem(toolBar, SWT.SEPARATOR);
282
283 final ToolItem itemAddTaxon = new ToolItem(toolBar, SWT.DROP_DOWN);
284 itemAddTaxon.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/add_no_bg2.gif"));
285 itemAddTaxon.setToolTipText("Add new taxon");
286
287 final Menu menuAdd = new Menu(toolBar);
288 menuAdd.setData("x", null);
289 addDropDown(itemAddTaxon, menuAdd);
290
291 final MenuItem addTaxonToMenuItem = new MenuItem(menuAdd, SWT.NONE);
292 addTaxonToMenuItem.setText("Add new taxon to \"Pilosella fuscoatra (Nägeli & Peter) Soják\"");
293
294 final MenuItem addNewTaxonMenuItem = new MenuItem(menuAdd, SWT.NONE);
295 addNewTaxonMenuItem.setText("Add new taxon to \"Pilosella fuscoatra coll.\"");
296
297 final Composite composite = new Composite(parent, SWT.NONE);
298 composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
299 composite.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
300 final GridLayout gridLayout_2 = new GridLayout();
301 gridLayout_2.horizontalSpacing = 3;
302 gridLayout_2.numColumns = 3;
303 composite.setLayout(gridLayout_2);
304
305 text_3 = new Text(composite, SWT.WRAP);
306 text_3.setText("Pilosella fuscoatra (Nägeli & Peter) Soják in Preslia 43: 184. 1971 ");
307 text_3.setFont(SWTResourceManager.getFont("Georgia", 12, SWT.NONE));
308 text_3.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 2, 1));
309 text_3.addFocusListener(new FocusListener() {
310
311 public void focusGained(FocusEvent e) {
312 text_3.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WIDGET_LIGHT_SHADOW));
313 }
314
315 public void focusLost(FocusEvent e) {
316 text_3.setBackground(null);
317 }
318
319 });
320
321 table_1 = new Table(composite, SWT.BORDER);
322 table_1.setLinesVisible(true);
323 table_1.setLayoutData(new GridData(SWT.RIGHT, SWT.FILL, true, true, 1, 7));
324
325 final TableColumn newColumnTableColumn = new TableColumn(table_1, SWT.NONE);
326 newColumnTableColumn.setWidth(100);
327 newColumnTableColumn.setText("New column");
328
329 final TableColumn newColumnTableColumn_1 = new TableColumn(table_1, SWT.NONE);
330 newColumnTableColumn_1.setWidth(100);
331 newColumnTableColumn_1.setText("New column");
332
333 final TableItem newItemTableItem = new TableItem(table_1, SWT.BORDER);
334 newItemTableItem.setText(0, "Rank");
335 newItemTableItem.setText(1, "species");
336 newItemTableItem.setText("Rank");
337
338 final TableItem newItemTableItem_1 = new TableItem(table_1, SWT.BORDER);
339 newItemTableItem_1.setText(1, "Pilosella");
340 newItemTableItem_1.setText(0, "Genus");
341
342 final TableItem newItemTableItem_2 = new TableItem(table_1, SWT.BORDER);
343 newItemTableItem_2.setText(1, "fuscoatra");
344 newItemTableItem_2.setText(0, "Species epithet");
345
346 final TableItem newItemTableItem_3 = new TableItem(table_1, SWT.BORDER);
347 newItemTableItem_3.setText(1, "Nägeli & Peter");
348 newItemTableItem_3.setText(0, "Author team");
349
350 final TableItem newItemTableItem_4 = new TableItem(table_1, SWT.BORDER);
351 newItemTableItem_4.setText("...");
352 // newItemTableItem_3.setText("Author team");
353 // newItemTableItem_2.setText("Species epithet");
354 // newItemTableItem_1.setText("Genus");
355
356 final Label labelWithMenu = new Label(composite, SWT.NONE);
357 labelWithMenu.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
358 labelWithMenu.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/homosyn_no_bg.gif"));
359 final GridData gd_labelWithMenu = new GridData(SWT.LEFT, SWT.TOP, false, false);
360 labelWithMenu.setLayoutData(gd_labelWithMenu);
361
362 text_1 = new Text(composite, SWT.WRAP);
363 final GridData gd_text_1 = new GridData(SWT.FILL, SWT.CENTER, true, false);
364 gd_text_1.widthHint = 300;
365 text_1.setLayoutData(gd_text_1);
366 text_1.setFont(SWTResourceManager.getFont("Georgia", 11, SWT.BOLD | SWT.ITALIC));
367 text_1.setText("Hieracium fuscoatrum Nägeli & Peter, Hierac. Mitt.-Eur. 1: 315. 1885");
368 text_1.addFocusListener(new FocusListener() {
369
370 public void focusGained(FocusEvent e) {
371 text_1.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WIDGET_LIGHT_SHADOW));
372 }
373
374 public void focusLost(FocusEvent e) {
375 text_1.setBackground(null);
376 }
377
378 });
379
380
381 final Label label_1 = new Label(composite, SWT.NONE);
382 label_1.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false));
383 label_1.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/heterosyn_no_bg.gif"));
384 label_1.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
385
386 hieraciumAurantiacumSubspText = new Text(composite, SWT.WRAP);
387 final GridData gd_hieraciumAurantiacumSubspText = new GridData(SWT.FILL, SWT.CENTER, true, false);
388 gd_hieraciumAurantiacumSubspText.widthHint = 300;
389 hieraciumAurantiacumSubspText.setLayoutData(gd_hieraciumAurantiacumSubspText);
390 hieraciumAurantiacumSubspText.setFont(SWTResourceManager.getFont("Georgia", 11, SWT.NONE));
391 hieraciumAurantiacumSubspText.setText("Hieracium aurantiacum subsp. chaetodermum Pohle & Zahn in Allg. Bot. Z. Syst. 13: 110. 1907");
392 hieraciumAurantiacumSubspText.addFocusListener(new FocusListener() {
393
394 public void focusGained(FocusEvent e) {
395 hieraciumAurantiacumSubspText.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WIDGET_LIGHT_SHADOW));
396 }
397
398 public void focusLost(FocusEvent e) {
399 hieraciumAurantiacumSubspText.setBackground(null);
400 }
401
402 });
403
404
405 final Label label_2 = new Label(composite, SWT.NONE);
406 label_2.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false));
407 label_2.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
408 label_2.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/heterosyn_no_bg.gif"));
409
410 // addDropDown(label_2, menuAddRel);
411
412 hieraciumFuscoatrumSubspText = new Text(composite, SWT.WRAP);
413 final GridData gd_hieraciumFuscoatrumSubspText = new GridData(SWT.FILL, SWT.CENTER, true, false);
414 gd_hieraciumFuscoatrumSubspText.widthHint = 300;
415 hieraciumFuscoatrumSubspText.setLayoutData(gd_hieraciumFuscoatrumSubspText);
416 hieraciumFuscoatrumSubspText.setText("Hieracium fuscoatrum subsp. chaetodermum (Pohle & Zahn) Zahn in Engler, Pflanzenr. 82: 1267. 1923");
417 hieraciumFuscoatrumSubspText.setFont(SWTResourceManager.getFont("Georgia", 11, SWT.NONE));
418 hieraciumFuscoatrumSubspText.addFocusListener(new FocusListener() {
419
420 public void focusGained(FocusEvent e) {
421 hieraciumFuscoatrumSubspText.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WIDGET_LIGHT_SHADOW));
422 }
423
424 public void focusLost(FocusEvent e) {
425 hieraciumFuscoatrumSubspText.setBackground(null);
426 }
427
428 });
429
430 final Label label = new Label(composite, SWT.NONE);
431 label.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false));
432 label.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
433 label.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/basionym_no_bg.gif"));
434
435 hieraciumRubroonegenseNorrlText = new Text(composite, SWT.WRAP);
436 hieraciumRubroonegenseNorrlText.setText("Hieracium rubroonegense Norrl. in Acta Soc. Fauna Fl. Fenn. 26(7): 61. 1904");
437 hieraciumRubroonegenseNorrlText.setFont(SWTResourceManager.getFont("Georgia", 11, SWT.NONE));
438 hieraciumRubroonegenseNorrlText.addFocusListener(new FocusListener() {
439
440 public void focusGained(FocusEvent e) {
441 hieraciumRubroonegenseNorrlText.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WIDGET_LIGHT_SHADOW));
442 }
443
444 public void focusLost(FocusEvent e) {
445 hieraciumRubroonegenseNorrlText.setBackground(null);
446 }
447
448 });
449 final GridData gd_hieraciumRubroonegenseNorrlText = new GridData(SWT.FILL, SWT.CENTER, true, false);
450 gd_hieraciumRubroonegenseNorrlText.widthHint = 300;
451 hieraciumRubroonegenseNorrlText.setLayoutData(gd_hieraciumRubroonegenseNorrlText);
452
453 final Label label_3 = new Label(composite, SWT.NONE);
454 label_3.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false));
455 label_3.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/repsyn_no_bg.gif"));
456 label_3.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
457
458 hieraciumFuscoatrumSubspText_1 = new Text(composite, SWT.WRAP);
459 hieraciumFuscoatrumSubspText_1.setText("Hieracium fuscoatrum subsp. rubroonegense (Norrl.) Zahn in Engler, Pflanzenr. 82: 1267. 1923");
460 hieraciumFuscoatrumSubspText_1.setFont(SWTResourceManager.getFont("Georgia", 11, SWT.NONE));
461 hieraciumFuscoatrumSubspText_1.addFocusListener(new FocusListener() {
462
463 public void focusGained(FocusEvent e) {
464 hieraciumFuscoatrumSubspText_1.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WIDGET_LIGHT_SHADOW));
465 }
466
467 public void focusLost(FocusEvent e) {
468 hieraciumFuscoatrumSubspText_1.setBackground(null);
469 }
470
471 });
472 final GridData gd_hieraciumFuscoatrumSubspText_1 = new GridData(SWT.FILL, SWT.CENTER, true, false);
473 gd_hieraciumFuscoatrumSubspText_1.widthHint = 300;
474 hieraciumFuscoatrumSubspText_1.setLayoutData(gd_hieraciumFuscoatrumSubspText_1);
475
476 final Label label_4 = new Label(composite, SWT.NONE);
477 label_4.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false));
478 label_4.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/unknown_no_bg.gif"));
479 label_4.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
480 //container.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_GRAY));
481
482 final Menu menu1 = new Menu(labelWithMenu);
483 labelWithMenu.setMenu(menu1);
484 labelWithMenu.addMouseListener(new MouseListener() {
485
486 public void mouseDoubleClick(MouseEvent e) {
487 // TODO Auto-generated method stub
488
489 }
490
491 public void mouseDown(MouseEvent e) {
492 menu1.setVisible(true);
493 }
494
495 public void mouseUp(MouseEvent e) {
496 // TODO Auto-generated method stub
497
498 }
499
500 });
501
502 final MenuItem deletehieraciumFuscoatrumMenuItem = new MenuItem(menu1, SWT.NONE);
503 deletehieraciumFuscoatrumMenuItem.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/delete.gif"));
504 deletehieraciumFuscoatrumMenuItem.setText("Delete \"Hieracium fuscoatrum Nägeli & Peter\" from this taxon");
505
506 new MenuItem(menu1, SWT.SEPARATOR);
507
508 final MenuItem moveMenuItem = new MenuItem(menu1, SWT.NONE);
509 moveMenuItem.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/move_no_bg.gif"));
510 moveMenuItem.setText("Move \"Hieracium fuscoatrum Nägeli & Peter\" to another taxon");
511
512 final MenuItem makehieraciumFuscoatrumMenuItem = new MenuItem(menu1, SWT.NONE);
513 makehieraciumFuscoatrumMenuItem.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/a_no_bg.gif"));
514 makehieraciumFuscoatrumMenuItem.setText("Turn \"Hieracium fuscoatrum Nägeli & Peter\" into an accepted name");
515
516 new MenuItem(menu1, SWT.SEPARATOR);
517
518 final MenuItem turnhieraciumFuscoatrumMenuItem = new MenuItem(menu1, SWT.NONE);
519 turnhieraciumFuscoatrumMenuItem.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/unknown_no_bg.gif"));
520 turnhieraciumFuscoatrumMenuItem.setText("Turn \"Hieracium fuscoatrum Nägeli & Peter\" into a synonym (type unknown)");
521
522 final MenuItem turnhieraciumFuscoatrumMenuItem_1 = new MenuItem(menu1, SWT.NONE);
523 turnhieraciumFuscoatrumMenuItem_1.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/homosyn_no_bg.gif"));
524 turnhieraciumFuscoatrumMenuItem_1.setText("Turn \"Hieracium fuscoatrum Nägeli & Peter\" into a homotypic synonym");
525
526 final MenuItem turnhieraciumFuscoatrumMenuItem_2 = new MenuItem(menu1, SWT.NONE);
527 turnhieraciumFuscoatrumMenuItem_2.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/heterosyn_no_bg.gif"));
528 turnhieraciumFuscoatrumMenuItem_2.setText("Turn \"Hieracium fuscoatrum Nägeli & Peter\" into a heterotypic synoynm");
529
530 final MenuItem turnhieraciumFuscoatrumMenuItem_3 = new MenuItem(menu1, SWT.NONE);
531 turnhieraciumFuscoatrumMenuItem_3.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/basionym_no_bg.gif"));
532 turnhieraciumFuscoatrumMenuItem_3.setText("Turn \"Hieracium fuscoatrum Nägeli & Peter\" into a basionym");
533
534 final MenuItem turnhieraciumFuscoatrumMenuItem_4 = new MenuItem(menu1, SWT.NONE);
535 turnhieraciumFuscoatrumMenuItem_4.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/repsyn_no_bg.gif"));
536 turnhieraciumFuscoatrumMenuItem_4.setText("Turn \"Hieracium fuscoatrum Nägeli & Peter\" into a replaced synonym");
537
538 final MenuItem turnhieraciumFuscoatrumMenuItem_5 = new MenuItem(menu1, SWT.NONE);
539 turnhieraciumFuscoatrumMenuItem_5.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/homonym_no_bg.gif"));
540 turnhieraciumFuscoatrumMenuItem_5.setText("Turn \"Hieracium fuscoatrum Nägeli & Peter\" into a homonym");
541
542 final MenuItem turnhieraciumFuscoatrumMenuItem_6 = new MenuItem(menu1, SWT.NONE);
543 turnhieraciumFuscoatrumMenuItem_6.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/orthovariant_no_bg.gif"));
544 turnhieraciumFuscoatrumMenuItem_6.setText("Turn \"Hieracium fuscoatrum Nägeli & Peter\" into a orthographic variant");
545
546 final MenuItem turnhieraciumFuscoatrumMenuItem_7 = new MenuItem(menu1, SWT.NONE);
547 turnhieraciumFuscoatrumMenuItem_7.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/misapplied_no_bg.gif"));
548 turnhieraciumFuscoatrumMenuItem_7.setText("Turn \"Hieracium fuscoatrum Nägeli & Peter\" into a misapplied name");
549
550 final MenuItem turnhieraciumFuscoatrumMenuItem_8 = new MenuItem(menu1, SWT.NONE);
551 turnhieraciumFuscoatrumMenuItem_8.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/concept_no_bg.gif"));
552 turnhieraciumFuscoatrumMenuItem_8.setText("Turn \"Hieracium fuscoatrum Nägeli & Peter\" into a concept relation");
553
554 SourceViewer sourceviewer = new SourceViewer(composite, null, SWT.WRAP | SWT.FULL_SELECTION);
555 sourceviewer.setAnnotationHover(null);
556 styledText = sourceviewer.getTextWidget();
557 final GridData gd_styledText = new GridData(SWT.FILL, SWT.TOP, true, false);
558 gd_styledText.heightHint = 41;
559 gd_styledText.widthHint = 450;
560 styledText.setLayoutData(gd_styledText);
561 sourceviewer.setDocument(doc);
562 sourceviewer.configure(new MySourceViewerConfig());
563 // sourceviewer.setTabsToSpacesConverter(null);
564
565
566 // final Menu menu = new Menu(toolBar);
567 // addDropDown(newItemToolItem, menu);
568 // );
569
570 // Action testAction = new OpenNameEditorAction();
571 // testAction.setImageDescriptor(ResourceManager.getPluginImageDescriptor(Activator.getDefault(), "icons/edit_16x16.gif"));
572 // testAction.setToolTipText("Add relation");
573 // toolBar.add(testAction);
574
575 populateForm();
576 }
577
578 // private void populateForm() {
579 //
580 // String fulltext = "";
581 //
582 // if (taxonname.getGenus() != null) {
583 // fulltext = taxonname.getGenus();
584 // }
585 //
586 // if (taxonname.getSpecificEpithet() != null) {
587 // fulltext += " " + taxonname.getSpecificEpithet();
588 // }
589 //
590 // if (taxonname.getAuthorship() != null) {
591 // fulltext += " " + taxonname.getAuthorship();
592 // }
593 //
594 //// txtPlay.setText(fulltext);
595 //// txtPlay.setToolTipText("Joe mama\njoe daddy\njoe gramammy");
596 //
597 // this.setPartName(taxonname.getName());
598 // }
599
600 private void populateForm() {
601 this.setPartName("Pilosella fuscoatra (Nägeli & Peter) Soják");
602 }
603
604 @Override
605 public void setFocus() {
606 // Set the focus
607 }
608
609 @Override
610 public void doSave(IProgressMonitor monitor) {
611 // Do the Save operation
612 }
613
614 @Override
615 public void doSaveAs() {
616 // Do the Save As operation
617 }
618
619 @Override
620 public void init(IEditorSite site, IEditorInput input) throws PartInitException {
621
622 if (!(input instanceof IEditorInput))
623 throw new PartInitException(
624 "Invalid Input: Must be IFileEditorInput");
625
626 if (input.getAdapter(TaxonName.class) != null) {
627 taxonname = (TaxonName) input.getAdapter(TaxonName.class);
628 // taxonname.addCdmEventListener(this);
629 } else {
630
631 taxonname = null;
632 }
633
634 setSite(site);
635 setInput(input);
636 }
637
638 @Override
639 public boolean isDirty() {
640 return true;
641 }
642
643 @Override
644 public boolean isSaveAsAllowed() {
645 return false;
646 }
647
648 public void propertyChange(PropertyChangeEvent evt) {
649 // TaxonName taxonname = (TaxonName)evt.getNewValue();
650 this.taxonname = (TaxonName)evt.getNewValue();
651 System.out.println(((TaxonName)evt.getNewValue()).getName());
652 populateForm();
653
654 // for individual fields, do something like:
655 // if (evt.getPropertyName().equalsIgnoreCase("genus"))
656 // txtGenus.setText ...
657 }
658
659 // public void onDelete(ICdmEventListenerRegistration arg0) {
660 // // TODO Auto-generated method stub
661 //
662 // }
663
664 public void onInsert(Object arg0) {
665 // TODO Auto-generated method stub
666
667 }
668
669 public void onLoad(Object arg0) {
670 // TODO Auto-generated method stub
671
672 }
673
674 // public void onUpdate(ICdmEventListenerRegistration arg0) {
675 // // TODO Auto-generated method stub
676 //
677 // }
678
679 private static void addDropDown(final ToolItem item, final Menu menu) {
680 item.addListener(SWT.Selection, new Listener() {
681 public void handleEvent(Event event) {
682 if (event.detail == SWT.ARROW) {
683 Rectangle rect = item.getBounds();
684 Point pt = new Point(rect.x, rect.y + rect.height);
685 pt = item.getParent().toDisplay(pt);
686 menu.setLocation(pt.x, pt.y);
687 menu.setVisible(true);
688 }
689 }
690 });
691 }
692 }