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