Now have 3 dummy taxa editor views (2 existing, 1 new).
authorp.ciardelli <p.ciardelli@localhost>
Fri, 12 Oct 2007 15:47:47 +0000 (15:47 +0000)
committerp.ciardelli <p.ciardelli@localhost>
Fri, 12 Oct 2007 15:47:47 +0000 (15:47 +0000)
.gitattributes
eclipseprojects/eu.etaxonomy.taxeditor.designproposal1/src/eu/etaxonomy/taxeditor/designproposal1/Perspective.java
eclipseprojects/eu.etaxonomy.taxeditor.designproposal1/src/eu/etaxonomy/taxeditor/designproposal1/controller/OpenNameEditorAction.java
eclipseprojects/eu.etaxonomy.taxeditor.designproposal1/src/eu/etaxonomy/taxeditor/designproposal1/view/CarduusEditorView.java [new file with mode: 0644]
eclipseprojects/eu.etaxonomy.taxeditor.designproposal1/src/eu/etaxonomy/taxeditor/designproposal1/view/MultiPagePilosellaView.java
eclipseprojects/eu.etaxonomy.taxeditor.designproposal1/src/eu/etaxonomy/taxeditor/designproposal1/view/NameEditorView.java
eclipseprojects/eu.etaxonomy.taxeditor.designproposal1/src/eu/etaxonomy/taxeditor/designproposal1/view/NameListView.java
eclipseprojects/eu.etaxonomy.taxeditor.designproposal1/src/eu/etaxonomy/taxeditor/designproposal1/view/PilosellaEditorView.java [new file with mode: 0644]

index 07f58791998b31e1ff0cd07bbeed26d1950eb70a..473e8610a6d8b950e55e233aa3feb591e1dbe7e7 100644 (file)
@@ -52,6 +52,7 @@ eclipseprojects/eu.etaxonomy.taxeditor.designproposal1/src/eu/etaxonomy/taxedito
 eclipseprojects/eu.etaxonomy.taxeditor.designproposal1/src/eu/etaxonomy/taxeditor/designproposal1/controller/SaveNameAction.java -text
 eclipseprojects/eu.etaxonomy.taxeditor.designproposal1/src/eu/etaxonomy/taxeditor/designproposal1/model/NameEditorInput.java -text
 eclipseprojects/eu.etaxonomy.taxeditor.designproposal1/src/eu/etaxonomy/taxeditor/designproposal1/model/ObjectList.java -text
+eclipseprojects/eu.etaxonomy.taxeditor.designproposal1/src/eu/etaxonomy/taxeditor/designproposal1/view/CarduusEditorView.java -text
 eclipseprojects/eu.etaxonomy.taxeditor.designproposal1/src/eu/etaxonomy/taxeditor/designproposal1/view/CreateNameView.java -text
 eclipseprojects/eu.etaxonomy.taxeditor.designproposal1/src/eu/etaxonomy/taxeditor/designproposal1/view/EditNameProperties.java -text
 eclipseprojects/eu.etaxonomy.taxeditor.designproposal1/src/eu/etaxonomy/taxeditor/designproposal1/view/EmptyEditorView.java -text
@@ -62,6 +63,7 @@ eclipseprojects/eu.etaxonomy.taxeditor.designproposal1/src/eu/etaxonomy/taxedito
 eclipseprojects/eu.etaxonomy.taxeditor.designproposal1/src/eu/etaxonomy/taxeditor/designproposal1/view/MySourceViewerConfig.java -text
 eclipseprojects/eu.etaxonomy.taxeditor.designproposal1/src/eu/etaxonomy/taxeditor/designproposal1/view/NameEditorView.java -text
 eclipseprojects/eu.etaxonomy.taxeditor.designproposal1/src/eu/etaxonomy/taxeditor/designproposal1/view/NameListView.java -text
+eclipseprojects/eu.etaxonomy.taxeditor.designproposal1/src/eu/etaxonomy/taxeditor/designproposal1/view/PilosellaEditorView.java -text
 eclipseprojects/eu.etaxonomy.taxeditor.designproposal1/src/eu/etaxonomy/taxeditor/designproposal1/view/UndoView.java -text
 eclipseprojects/eu.etaxonomy.taxeditor.prototype1/.classpath -text
 eclipseprojects/eu.etaxonomy.taxeditor.prototype1/.project -text
index 0349d2c516c5701d494bcb8b743b9e0785f15159..9c0f5c77d88e4ee51ff1f15f0b8bf4d146eb8cd0 100644 (file)
@@ -7,7 +7,7 @@ import org.eclipse.ui.IPlaceholderFolderLayout;
 
 import eu.etaxonomy.taxeditor.designproposal1.view.NameListView;
 import eu.etaxonomy.taxeditor.designproposal1.view.UndoView;
-import eu.etaxonomy.taxeditor.designproposal1.view.DogView;
+//import eu.etaxonomy.taxeditor.designproposal1.view.DogView;
 
 public class Perspective implements IPerspectiveFactory {
 
index c48c410590f13884a4ed4222f8751dea3a7a3f93..178541e9ee7e604a2423d9e9fcf85f1c98f863a8 100644 (file)
@@ -24,7 +24,15 @@ public class OpenNameEditorAction extends Action {
                INameService ns = Activator.getDefault().getApplicationController().getNameService();\r
                this.taxonname = ns.createTaxonName(null);\r
                setId(ID);\r
-               setText("New name");\r
+               setText("New taxon");\r
+       }\r
+\r
+       public OpenNameEditorAction(String name) {\r
+               INameService ns = Activator.getDefault().getApplicationController().getNameService();\r
+               this.taxonname = ns.createTaxonName(null);\r
+               this.taxonname.setName(name);\r
+//             setId(ID);\r
+//             setText("New name");\r
        }\r
        \r
        public void run() {\r
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor.designproposal1/src/eu/etaxonomy/taxeditor/designproposal1/view/CarduusEditorView.java b/eclipseprojects/eu.etaxonomy.taxeditor.designproposal1/src/eu/etaxonomy/taxeditor/designproposal1/view/CarduusEditorView.java
new file mode 100644 (file)
index 0000000..4fe5047
--- /dev/null
@@ -0,0 +1,480 @@
+package eu.etaxonomy.taxeditor.designproposal1.view;\r
+\r
+import java.beans.PropertyChangeEvent;\r
+import java.beans.PropertyChangeListener;\r
+\r
+import org.eclipse.core.runtime.IProgressMonitor;\r
+import org.eclipse.jface.action.Action;\r
+import org.eclipse.jface.text.Document;\r
+import org.eclipse.jface.text.TextViewer;\r
+import org.eclipse.jface.text.source.SourceViewer;\r
+import org.eclipse.swt.SWT;\r
+import org.eclipse.swt.custom.PopupList;\r
+import org.eclipse.swt.custom.StyledText;\r
+import org.eclipse.swt.events.ControlAdapter;\r
+import org.eclipse.swt.events.ControlEvent;\r
+import org.eclipse.swt.events.FocusEvent;\r
+import org.eclipse.swt.events.FocusListener;\r
+import org.eclipse.swt.events.KeyEvent;\r
+import org.eclipse.swt.events.KeyListener;\r
+import org.eclipse.swt.events.MouseAdapter;\r
+import org.eclipse.swt.events.MouseEvent;\r
+import org.eclipse.swt.events.SelectionAdapter;\r
+import org.eclipse.swt.events.SelectionEvent;\r
+import org.eclipse.swt.events.SelectionListener;\r
+import org.eclipse.swt.graphics.Point;\r
+import org.eclipse.swt.graphics.Rectangle;\r
+import org.eclipse.swt.layout.FillLayout;\r
+import org.eclipse.swt.layout.GridData;\r
+import org.eclipse.swt.layout.GridLayout;\r
+import org.eclipse.swt.widgets.Button;\r
+import org.eclipse.swt.widgets.Composite;\r
+import org.eclipse.swt.widgets.CoolBar;\r
+import org.eclipse.swt.widgets.CoolItem;\r
+import org.eclipse.swt.widgets.Display;\r
+import org.eclipse.swt.widgets.Event;\r
+import org.eclipse.swt.widgets.Label;\r
+import org.eclipse.swt.widgets.Listener;\r
+import org.eclipse.swt.widgets.Menu;\r
+import org.eclipse.swt.widgets.MenuItem;\r
+import org.eclipse.swt.widgets.Shell;\r
+import org.eclipse.swt.widgets.Table;\r
+import org.eclipse.swt.widgets.TableColumn;\r
+import org.eclipse.swt.widgets.TableItem;\r
+import org.eclipse.swt.widgets.Text;\r
+import org.eclipse.swt.widgets.ToolBar;\r
+import org.eclipse.swt.widgets.ToolItem;\r
+import org.eclipse.ui.IEditorInput;\r
+import org.eclipse.ui.IEditorSite;\r
+import org.eclipse.ui.PartInitException;\r
+import org.eclipse.ui.part.EditorPart;\r
+import com.swtdesigner.ResourceManager;\r
+import com.swtdesigner.SWTResourceManager;\r
+\r
+//import org.eclipse.ui.texteditor.AbstractTextEditor;\r
+\r
+import eu.etaxonomy.cdm.event.ICdmEventListener;\r
+import eu.etaxonomy.cdm.event.ICdmEventListenerRegistration;\r
+import eu.etaxonomy.cdm.model.name.TaxonName;\r
+import eu.etaxonomy.taxeditor.designproposal1.Activator;\r
+import eu.etaxonomy.taxeditor.designproposal1.controller.OpenNameEditorAction;\r
+import eu.etaxonomy.taxeditor.designproposal1.controller.SaveNameAction;\r
+\r
+public class CarduusEditorView extends EditorPart implements ICdmEventListener {\r
+\r
+       private Table table_1;\r
+       private Text carduusLSpText;\r
+       private StyledText styledText;\r
+       private TaxonName taxonname;\r
+\r
+       public static final String ID = "eu.etaxonomy.taxeditor.designproposal1.view.carduuseditorview"; //$NON-NLS-1$\r
+\r
+       /**\r
+        * Create contents of the editor part\r
+        * @param parent\r
+        */\r
+       @Override\r
+       public void createPartControl(Composite parent) {\r
+               //\r
+               \r
+               \r
+//             txtPlay = new Text(container, SWT.BORDER);\r
+//             txtPlay.setCapture(true);\r
+//             final GridData gd_txtPlay = new GridData(SWT.FILL, SWT.CENTER, true, false, 2, 1);\r
+//             gd_txtPlay.heightHint = 96;\r
+//             txtPlay.setLayoutData(gd_txtPlay);\r
+////           txtPlay.addVerifyListener(new VerifyListener() {\r
+////                   @Override\r
+////                   public void verifyText(VerifyEvent e) {\r
+////                   e.doit = Character.isDigit(e.character);\r
+////               }           \r
+////           });\r
+//             txtPlay.addSelectionListener(new SelectionListener() {\r
+//\r
+//                     @Override\r
+//                     public void widgetDefaultSelected(SelectionEvent e) {\r
+//                             // TODO Auto-generated method stub\r
+//                             \r
+//                     }\r
+//\r
+//                     @Override\r
+//                     public void widgetSelected(SelectionEvent e) {\r
+//                             System.out.println(e.toString());\r
+//                     }\r
+//                     \r
+//                     \r
+//             });\r
+//             \r
+//             \r
+//             txtPlay.addKeyListener(new KeyListener() {\r
+//\r
+//                     public void keyPressed(KeyEvent e) {\r
+//                             System.out.println(e.character);\r
+//                             if (e.character == '=') {\r
+//                                     Shell shell = Activator.getDefault().getWorkbench().\r
+//                                             getActiveWorkbenchWindow().getShell();\r
+//                                     PopupList list = new PopupList(shell, SWT.H_SCROLL | SWT.V_SCROLL);\r
+//                                     \r
+////                                   Combo list = new Combo(shell, SWT.H_SCROLL | SWT.V_SCROLL);\r
+//                                     \r
+//                                     // Add the items to the list\r
+//                                     String[] OPTIONS = { "Create homo. syn.",\r
+//                                                     "Create hetero. syn.",\r
+//                                                     "Create mis. name",\r
+//                                                     "Create homonym"};\r
+//\r
+//                                     list.setItems(OPTIONS);\r
+//                                     \r
+//                                     // Open the list and get the selected item\r
+//                                     String selected = list.open(txtPlay.getBounds());\r
+//                                     \r
+//                                     // Print the item to the console\r
+//                                     System.out.println(selected);                                   \r
+//                             }\r
+//                             \r
+//                     }\r
+//\r
+//                     public void keyReleased(KeyEvent e) {\r
+//                             // TODO Auto-generated method stub\r
+//                             \r
+//                     }\r
+//             });\r
+               parent.setLayout(new GridLayout());\r
+               Document doc = new Document("");\r
+\r
+               final Label taxonomicallyIncludedInLabel = new Label(parent, SWT.NONE);\r
+               taxonomicallyIncludedInLabel.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false));\r
+               taxonomicallyIncludedInLabel.setText("Higher taxon: \"Cardueae Cass.\"");\r
+\r
+               final ToolBar toolBar = new ToolBar(parent, SWT.NONE);\r
+//             toolBar.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_GRAY));\r
+\r
+               final ToolItem itemSave = new ToolItem(toolBar, SWT.PUSH);\r
+               itemSave.setToolTipText("Save taxon \"Pilosella fuscoatra (Nägeli & Peter) Soják\"");\r
+               itemSave.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/save.gif"));\r
+               itemSave.addSelectionListener(new SelectionListener() {\r
+                       public void mouseDown(final MouseEvent e) {\r
+                               \r
+//                             taxonname.setGenus(txtGenus.getText());\r
+//                             taxonname.setSpecificEpithet(txtSpEpi.getText());\r
+                               \r
+                               new SaveNameAction(taxonname).run();\r
+                       }\r
+\r
+                       public void widgetDefaultSelected(SelectionEvent e) {\r
+                               new SaveNameAction(taxonname).run();\r
+                       }\r
+\r
+                       public void widgetSelected(SelectionEvent e) {\r
+                               new SaveNameAction(taxonname).run();\r
+                       }\r
+               });\r
+\r
+               final ToolItem itemMove = new ToolItem(toolBar, SWT.DROP_DOWN);\r
+               itemMove.setToolTipText("Move taxon \"Pilosella fuscoatra (Nägeli & Peter) Soják\"");\r
+               itemMove.addSelectionListener(new SelectionAdapter() {\r
+                       public void widgetSelected(final SelectionEvent e) {\r
+                       }\r
+               });\r
+               \r
+               final Menu menuMove = new Menu(toolBar);\r
+               menuMove.setData("x", null);\r
+               addDropDown(itemMove, menuMove);\r
+\r
+               final MenuItem moveTaxonpilosellaMenuItem = new MenuItem(menuMove, SWT.NONE);\r
+               moveTaxonpilosellaMenuItem.setText("Move taxon \"Pilosella fuscoatra (Nägeli & Peter) Soják\" to another higher taxon");\r
+\r
+               final MenuItem turnTaxonpilosellaMenuItem = new MenuItem(menuMove, SWT.NONE);\r
+               turnTaxonpilosellaMenuItem.setText("Turn taxon \"Pilosella fuscoatra (Nägeli & Peter) Soják\" into a synonym");\r
+               \r
+//             });\r
+//             newItemToolItem.setText("New item");\r
+               itemMove.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/move_no_bg.gif"));\r
+\r
+               final ToolItem itemDelete = new ToolItem(toolBar, SWT.NONE);\r
+               itemDelete.setToolTipText("Delete taxon \"Pilosella fuscoatra (Nägeli & Peter) Soják\"");\r
+               itemDelete.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/delete.gif"));\r
+                               \r
+               final ToolItem separator1 = new ToolItem(toolBar, SWT.SEPARATOR);\r
+\r
+               final ToolItem itemAddRelationship = new ToolItem(toolBar, SWT.DROP_DOWN);\r
+               itemAddRelationship.setToolTipText("Add nom. or tax. relation to \"Pilosella fuscoatra (Nägeli & Peter) Soják\"");\r
+               itemAddRelationship.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/rel_no_bg.gif"));\r
+               \r
+               final Menu menuAddRel = new Menu(toolBar);\r
+               menuAddRel.setData("x", null);\r
+               addDropDown(itemAddRelationship, menuAddRel);\r
+\r
+               final MenuItem testMenuItem = new MenuItem(menuAddRel, SWT.NONE);\r
+               testMenuItem.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/unknown_no_bg.gif"));\r
+               testMenuItem.setText("Add synonymy (type unknown)");\r
+\r
+               final MenuItem addHomotypicSynonymMenuItem = new MenuItem(menuAddRel, SWT.NONE);\r
+               addHomotypicSynonymMenuItem.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/homosyn_no_bg.gif"));\r
+               addHomotypicSynonymMenuItem.setText("Add homotypic synonym");\r
+\r
+               final MenuItem addHeterotypicSynoynmMenuItem = new MenuItem(menuAddRel, SWT.NONE);\r
+               addHeterotypicSynoynmMenuItem.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/heterosyn_no_bg.gif"));\r
+               addHeterotypicSynoynmMenuItem.setText("Add heterotypic synoynm");\r
+\r
+               final MenuItem addBasionymMenuItem = new MenuItem(menuAddRel, SWT.NONE);\r
+               addBasionymMenuItem.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/basionym_no_bg.gif"));\r
+               addBasionymMenuItem.setText("Add basionym");\r
+\r
+               final MenuItem addReplacedSynonymMenuItem = new MenuItem(menuAddRel, SWT.NONE);\r
+               addReplacedSynonymMenuItem.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/repsyn_no_bg.gif"));\r
+               addReplacedSynonymMenuItem.setText("Add replaced synonym");\r
+\r
+               final MenuItem addHomonymMenuItem = new MenuItem(menuAddRel, SWT.NONE);\r
+               addHomonymMenuItem.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/homonym_no_bg.gif"));\r
+               addHomonymMenuItem.setText("Add homonym");\r
+\r
+               final MenuItem addOrthographicVariantMenuItem = new MenuItem(menuAddRel, SWT.NONE);\r
+               addOrthographicVariantMenuItem.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/orthovariant_no_bg.gif"));\r
+               addOrthographicVariantMenuItem.setText("Add orthographic variant");\r
+\r
+               final MenuItem addMisappliedNameMenuItem = new MenuItem(menuAddRel, SWT.NONE);\r
+               addMisappliedNameMenuItem.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/misapplied_no_bg.gif"));\r
+               addMisappliedNameMenuItem.setText("Add misapplied name");\r
+\r
+               final MenuItem addConceptRelationMenuItem_1 = new MenuItem(menuAddRel, SWT.CASCADE);\r
+               addConceptRelationMenuItem_1.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/concept_no_bg.gif"));\r
+               addConceptRelationMenuItem_1.setText("Add concept relation");\r
+\r
+               final Menu menu = new Menu(addConceptRelationMenuItem_1);\r
+               addConceptRelationMenuItem_1.setMenu(menu);\r
+\r
+               final MenuItem checkboxMenuItem = new MenuItem(menu, SWT.CHECK);\r
+               checkboxMenuItem.setText("congruent");\r
+\r
+               final MenuItem checkboxMenuItem_1 = new MenuItem(menu, SWT.CHECK);\r
+               checkboxMenuItem_1.setSelection(true);\r
+               checkboxMenuItem_1.setText("included in");\r
+\r
+               final MenuItem checkboxMenuItem_2 = new MenuItem(menu, SWT.CHECK);\r
+               checkboxMenuItem_2.setText("includes");\r
+\r
+               final MenuItem checkboxMenuItem_3 = new MenuItem(menu, SWT.CHECK);\r
+               checkboxMenuItem_3.setText("overlaps");\r
+\r
+               final MenuItem checkboxMenuItem_4 = new MenuItem(menu, SWT.CHECK);\r
+               checkboxMenuItem_4.setText("excludes");\r
+\r
+               final MenuItem checkboxMenuItem_5 = new MenuItem(menu, SWT.CHECK);\r
+               checkboxMenuItem_5.setSelection(true);\r
+               checkboxMenuItem_5.setText("doubtful");\r
+               \r
+               final ToolItem separator2 = new ToolItem(toolBar, SWT.SEPARATOR);\r
+\r
+               final ToolItem itemAddTaxon = new ToolItem(toolBar, SWT.DROP_DOWN);\r
+               itemAddTaxon.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/add_no_bg2.gif"));\r
+               itemAddTaxon.setToolTipText("Add new taxon");\r
+\r
+               final Menu menuAdd = new Menu(toolBar);\r
+               menuAdd.setData("x", null);\r
+               addDropDown(itemAddTaxon, menuAdd);\r
+\r
+               final MenuItem addTaxonToMenuItem = new MenuItem(menuAdd, SWT.NONE);\r
+               addTaxonToMenuItem.setText("Add new taxon to \"Pilosella fuscoatra (Nägeli & Peter) Soják\"");\r
+\r
+               final MenuItem addNewTaxonMenuItem = new MenuItem(menuAdd, SWT.NONE);\r
+               addNewTaxonMenuItem.setText("Add new taxon to \"Pilosella fuscoatra coll.\"");\r
+\r
+               final Composite composite = new Composite(parent, SWT.NONE);\r
+               composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));\r
+               composite.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));\r
+               final GridLayout gridLayout_2 = new GridLayout();\r
+               gridLayout_2.horizontalSpacing = 3;\r
+               gridLayout_2.numColumns = 2;\r
+               composite.setLayout(gridLayout_2);\r
+\r
+               carduusLSpText = new Text(composite, SWT.WRAP);\r
+               carduusLSpText.setText("Carduus L., Sp. Pl.: 820. 1753");\r
+               carduusLSpText.setFont(SWTResourceManager.getFont("Georgia", 12, SWT.NONE));\r
+               final GridData gd_carduusLSpText = new GridData(SWT.FILL, SWT.CENTER, true, false);\r
+               carduusLSpText.setLayoutData(gd_carduusLSpText);\r
+               carduusLSpText.addFocusListener(new FocusListener() {\r
+\r
+                       public void focusGained(FocusEvent e) {\r
+                               carduusLSpText.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WIDGET_LIGHT_SHADOW));\r
+                       }\r
+\r
+                       public void focusLost(FocusEvent e) {\r
+                               carduusLSpText.setBackground(null);                             \r
+                       }\r
+\r
+               });\r
+\r
+               table_1 = new Table(composite, SWT.BORDER);\r
+               table_1.setLinesVisible(true);\r
+               table_1.setLayoutData(new GridData(SWT.RIGHT, SWT.FILL, true, true, 1, 2));\r
+\r
+               final TableColumn newColumnTableColumn = new TableColumn(table_1, SWT.NONE);\r
+               newColumnTableColumn.setWidth(100);\r
+               newColumnTableColumn.setText("New column");\r
+\r
+               final TableColumn newColumnTableColumn_1 = new TableColumn(table_1, SWT.NONE);\r
+               newColumnTableColumn_1.setWidth(100);\r
+               newColumnTableColumn_1.setText("New column");\r
+\r
+               final TableItem newItemTableItem = new TableItem(table_1, SWT.BORDER);\r
+               newItemTableItem.setText(0, "Rank");\r
+               newItemTableItem.setText(1, "genus");\r
+               newItemTableItem.setText("Rank");\r
+               \r
+               final TableItem newItemTableItem_1 = new TableItem(table_1, SWT.BORDER);\r
+               newItemTableItem_1.setText(1, "Carduus");\r
+               newItemTableItem_1.setText(0, "Genus");\r
+\r
+               final TableItem newItemTableItem_2 = new TableItem(table_1, SWT.BORDER);\r
+               newItemTableItem_2.setText(0, "Species epithet");\r
+\r
+               final TableItem newItemTableItem_3 = new TableItem(table_1, SWT.BORDER);\r
+               newItemTableItem_3.setText(1, "L.");\r
+               newItemTableItem_3.setText(0, "Author team");\r
+\r
+               final TableItem newItemTableItem_4 = new TableItem(table_1, SWT.BORDER);\r
+               newItemTableItem_4.setText("...");\r
+//             newItemTableItem_2.setText("Species epithet");\r
+//             newItemTableItem_1.setText("Genus");\r
+               //container.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_GRAY));\r
+\r
+               SourceViewer sourceviewer = new SourceViewer(composite, null, SWT.WRAP | SWT.FULL_SELECTION);\r
+               sourceviewer.setAnnotationHover(null);\r
+               styledText = sourceviewer.getTextWidget();\r
+               final GridData gd_styledText = new GridData(SWT.FILL, SWT.TOP, true, false);\r
+               gd_styledText.heightHint = 41;\r
+               gd_styledText.widthHint = 450;\r
+               styledText.setLayoutData(gd_styledText);\r
+               sourceviewer.setDocument(doc);\r
+               sourceviewer.configure(new MySourceViewerConfig());\r
+               sourceviewer.setTabsToSpacesConverter(null);\r
+\r
+               \r
+//             final Menu menu = new Menu(toolBar);\r
+//             addDropDown(newItemToolItem, menu);\r
+//             );\r
+               \r
+//             Action testAction = new OpenNameEditorAction();\r
+//             testAction.setImageDescriptor(ResourceManager.getPluginImageDescriptor(Activator.getDefault(), "icons/edit_16x16.gif"));\r
+//             testAction.setToolTipText("Add relation");\r
+//             toolBar.add(testAction);\r
+               \r
+               populateForm();         \r
+       }\r
+\r
+//     private void populateForm() {\r
+//             \r
+//             String fulltext = "";\r
+//             \r
+//             if (taxonname.getGenus() != null) {\r
+//                     fulltext = taxonname.getGenus();\r
+//             }\r
+//\r
+//             if (taxonname.getSpecificEpithet() != null) {\r
+//                     fulltext += " " + taxonname.getSpecificEpithet();\r
+//             }\r
+//\r
+//             if (taxonname.getAuthorship() != null) {\r
+//                     fulltext += " " + taxonname.getAuthorship();\r
+//             }\r
+//             \r
+////           txtPlay.setText(fulltext);\r
+////           txtPlay.setToolTipText("Joe mama\njoe daddy\njoe gramammy");\r
+//             \r
+//             this.setPartName(taxonname.getName());\r
+//     }\r
+\r
+       private void populateForm() {\r
+               this.setPartName("Pilosella fuscoatra (Nägeli & Peter) Soják");\r
+       }\r
+       \r
+       @Override\r
+       public void setFocus() {\r
+               // Set the focus\r
+       }\r
+\r
+       @Override\r
+       public void doSave(IProgressMonitor monitor) {\r
+               // Do the Save operation\r
+       }\r
+\r
+       @Override\r
+       public void doSaveAs() {\r
+               // Do the Save As operation\r
+       }\r
+\r
+       @Override\r
+       public void init(IEditorSite site, IEditorInput input) throws PartInitException {\r
+\r
+               if (!(input instanceof IEditorInput))\r
+                       throw new PartInitException(\r
+                                       "Invalid Input: Must be IFileEditorInput");\r
+               \r
+               if (input.getAdapter(TaxonName.class) != null) {\r
+                       taxonname = (TaxonName) input.getAdapter(TaxonName.class);\r
+                       taxonname.addCdmEventListener(this);\r
+               } else {\r
+                       \r
+                       taxonname = null;\r
+               }\r
+               \r
+               setSite(site);\r
+               setInput(input);\r
+       }\r
+\r
+       @Override\r
+       public boolean isDirty() {\r
+               return false;\r
+       }\r
+\r
+       @Override\r
+       public boolean isSaveAsAllowed() {\r
+               return false;\r
+       }\r
+\r
+       public void propertyChange(PropertyChangeEvent evt) {\r
+//             TaxonName taxonname = (TaxonName)evt.getNewValue();\r
+               this.taxonname = (TaxonName)evt.getNewValue();\r
+               System.out.println(((TaxonName)evt.getNewValue()).getName());\r
+               populateForm();\r
+               \r
+               // for individual fields, do something like:\r
+               //      if (evt.getPropertyName().equalsIgnoreCase("genus"))\r
+               //              txtGenus.setText ...\r
+       }\r
+\r
+       public void onDelete(ICdmEventListenerRegistration arg0) {\r
+               // TODO Auto-generated method stub\r
+               \r
+       }\r
+\r
+       public void onInsert(Object arg0) {\r
+               // TODO Auto-generated method stub\r
+               \r
+       }\r
+\r
+       public void onLoad(Object arg0) {\r
+               // TODO Auto-generated method stub\r
+               \r
+       }\r
+\r
+       public void onUpdate(ICdmEventListenerRegistration arg0) {\r
+               // TODO Auto-generated method stub\r
+               \r
+       }\r
+       \r
+       private static void addDropDown(final ToolItem item, final Menu menu) {\r
+               item.addListener(SWT.Selection, new Listener() {\r
+                       public void handleEvent(Event event) {\r
+                               if (event.detail == SWT.ARROW) {\r
+                                       Rectangle rect = item.getBounds();\r
+                                       Point pt = new Point(rect.x, rect.y + rect.height);\r
+                                       pt = item.getParent().toDisplay(pt);\r
+                                       menu.setLocation(pt.x, pt.y);\r
+                                       menu.setVisible(true);\r
+                               }\r
+                       }\r
+               });\r
+       }\r
+}\r
index 7391575ad7195b2b1194149f8a1ea0f71c88ea92..d2f56c0b747f439073ff3d12599a191632e64ca9 100644 (file)
@@ -1,6 +1,8 @@
 package eu.etaxonomy.taxeditor.designproposal1.view;\r
 \r
 import org.eclipse.core.runtime.IProgressMonitor;\r
+import org.eclipse.ui.IEditorInput;\r
+import org.eclipse.ui.IEditorSite;\r
 import org.eclipse.ui.PartInitException;\r
 import org.eclipse.ui.part.MultiPageEditorPart;\r
 \r
@@ -10,12 +12,21 @@ import eu.etaxonomy.taxeditor.designproposal1.model.NameEditorInput;
 public class MultiPagePilosellaView extends MultiPageEditorPart {\r
 \r
        public static final String ID = "eu.etaxonomy.taxeditor.designproposal1.view.mpetestview";\r
-\r
+       private TaxonName taxonname;\r
+       \r
        @Override\r
        protected void createPages() {\r
-               this.setPartName("Pilosella fuscoatra (Nägeli & Peter) Soják");\r
                try {\r
-                       addPage(0, new NameEditorView(), new NameEditorInput(new TaxonName()));\r
+                       if (taxonname.getName() == "Carduus") {\r
+                               this.setPartName("Carduus L.");\r
+                               addPage(0, new CarduusEditorView(), new NameEditorInput(new TaxonName()));\r
+                       } else if (taxonname.getName() == "Pilosella") {\r
+                               this.setPartName("Pilosella fuscoatra (Nägeli & Peter) Soják");\r
+                               addPage(0, new PilosellaEditorView(), new NameEditorInput(new TaxonName()));\r
+                       } else {\r
+                               this.setPartName("New taxon");\r
+                               addPage(0, new NameEditorView(), new NameEditorInput(new TaxonName()));                         \r
+                       }\r
                        setPageText(0, "Name");\r
 \r
                        addPage(1, new EmptyEditorView(), new NameEditorInput(new TaxonName()));\r
@@ -51,4 +62,25 @@ public class MultiPagePilosellaView extends MultiPageEditorPart {
                return false;\r
        }\r
 \r
+       @Override\r
+       public void init(IEditorSite site, IEditorInput input) throws PartInitException {\r
+\r
+               if (!(input instanceof IEditorInput))\r
+                       throw new PartInitException(\r
+                                       "Invalid Input: Must be IFileEditorInput");\r
+               \r
+               if (input.getAdapter(TaxonName.class) != null) {\r
+                       taxonname = (TaxonName) input.getAdapter(TaxonName.class);\r
+                       System.out.println(taxonname.getCreatedWho());\r
+//                     taxonname.addCdmEventListener(this);\r
+               } else {\r
+                       \r
+                       taxonname = null;\r
+               }\r
+       \r
+               \r
+               setSite(site);\r
+               setInput(input);\r
+       }\r
+       \r
 }\r
index a7d45efff2045a5ae5a192eef334292b74ee3215..61bd4a0bc6d44dbbafe8e2b1a0051ae5a97f23a4 100644 (file)
@@ -15,6 +15,7 @@ import org.eclipse.swt.events.ControlAdapter;
 import org.eclipse.swt.events.ControlEvent;\r
 import org.eclipse.swt.events.FocusEvent;\r
 import org.eclipse.swt.events.FocusListener;\r
+import org.eclipse.swt.events.KeyAdapter;\r
 import org.eclipse.swt.events.KeyEvent;\r
 import org.eclipse.swt.events.KeyListener;\r
 import org.eclipse.swt.events.MouseAdapter;\r
@@ -64,12 +65,13 @@ public class NameEditorView extends EditorPart implements ICdmEventListener {
 \r
        private Table table_1;\r
        private Text text_3;\r
-       private Text hieraciumFuscoatrumSubspText;\r
-       private Text hieraciumAurantiacumSubspText;\r
-       private Text text_1;\r
        private StyledText styledText;\r
        private TaxonName taxonname;\r
-\r
+       private Text clickHereToText;\r
+       \r
+       public boolean dirtyBoy = false;\r
+       String clickText;\r
+       \r
        public static final String ID = "eu.etaxonomy.taxeditor.designproposal1.view.nameeditorview"; //$NON-NLS-1$\r
 \r
        /**\r
@@ -147,7 +149,7 @@ public class NameEditorView extends EditorPart implements ICdmEventListener {
 \r
                final Label taxonomicallyIncludedInLabel = new Label(parent, SWT.NONE);\r
                taxonomicallyIncludedInLabel.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false));\r
-               taxonomicallyIncludedInLabel.setText("Higher taxon: \"Pilosella fuscoatra coll.\"");\r
+               taxonomicallyIncludedInLabel.setText(" ");\r
 \r
                final ToolBar toolBar = new ToolBar(parent, SWT.NONE);\r
 //             toolBar.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_GRAY));\r
@@ -288,28 +290,66 @@ public class NameEditorView extends EditorPart implements ICdmEventListener {
                composite.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));\r
                final GridLayout gridLayout_2 = new GridLayout();\r
                gridLayout_2.horizontalSpacing = 3;\r
-               gridLayout_2.numColumns = 3;\r
+               gridLayout_2.numColumns = 2;\r
                composite.setLayout(gridLayout_2);\r
 \r
-               text_3 = new Text(composite, SWT.WRAP);\r
-               text_3.setText("Pilosella fuscoatra (Nägeli & Peter) Soják in Preslia 43: 184. 1971 ");\r
-               text_3.setFont(SWTResourceManager.getFont("Georgia", 12, SWT.NONE));\r
-               text_3.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 2, 1));\r
-               text_3.addFocusListener(new FocusListener() {\r
+               clickText = "Click here to start entering accepted name or enter its individual fields in the property sheet to the right";\r
+               \r
+               clickHereToText = new Text(composite, SWT.WRAP);\r
+               clickHereToText.addKeyListener(new KeyAdapter() {\r
+                       public void keyPressed(final KeyEvent e) {\r
+                       }\r
+               });\r
+               clickHereToText.setForeground(SWTResourceManager.getColor(192, 192, 192));\r
+               clickHereToText.setText(clickText);\r
+               clickHereToText.setFont(SWTResourceManager.getFont("Georgia", 12, SWT.ITALIC));\r
+               final GridData gd_clickHereToText = new GridData(SWT.FILL, SWT.CENTER, true, false);\r
+               gd_clickHereToText.widthHint = 426;\r
+               clickHereToText.setLayoutData(gd_clickHereToText);\r
+               clickHereToText.addFocusListener(new FocusListener() {\r
 \r
                        public void focusGained(FocusEvent e) {\r
-                               text_3.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WIDGET_LIGHT_SHADOW));\r
+//                             clickHereToText.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WIDGET_LIGHT_SHADOW));\r
+                               if (!dirtyBoy) {\r
+                                       clickHereToText.setText("");\r
+                                       clickHereToText.setFont(SWTResourceManager.getFont("Georgia", 12, SWT.NONE));\r
+                                       clickHereToText.setForeground(SWTResourceManager.getColor(0, 0, 0));\r
+                                       dirtyBoy = true;\r
+                                       firePropertyChange(PROP_DIRTY);\r
+                               }\r
                        }\r
 \r
                        public void focusLost(FocusEvent e) {\r
-                               text_3.setBackground(null);                             \r
+//                             clickHereToText.setBackground(null);                            \r
+                               if (clickHereToText.getText() == "") {\r
+                                       clickHereToText.setForeground(SWTResourceManager.getColor(192, 192, 192));\r
+                                       clickHereToText.setText(clickText);\r
+                                       clickHereToText.setFont(SWTResourceManager.getFont("Georgia", 12, SWT.ITALIC));\r
+                                       dirtyBoy = false;\r
+                               } else {\r
+                                       dirtyBoy = true;\r
+                               }\r
                        }\r
 \r
                });\r
+//             clickHereToText.addKeyListener(new KeyListener() {\r
+//\r
+//                     public void keyPressed(KeyEvent e) {\r
+//                             dirtyBoy = true;\r
+//                             isDirty();\r
+//                             \r
+//                     }\r
+//\r
+//                     public void keyReleased(KeyEvent e) {\r
+//                             // TODO Auto-generated method stub\r
+//                             \r
+//                     }\r
+//                     \r
+//             });\r
 \r
                table_1 = new Table(composite, SWT.BORDER);\r
                table_1.setLinesVisible(true);\r
-               table_1.setLayoutData(new GridData(SWT.RIGHT, SWT.FILL, true, true, 1, 5));\r
+               table_1.setLayoutData(new GridData(SWT.RIGHT, SWT.FILL, true, true, 1, 2));\r
 \r
                final TableColumn newColumnTableColumn = new TableColumn(table_1, SWT.NONE);\r
                newColumnTableColumn.setWidth(100);\r
@@ -321,160 +361,22 @@ public class NameEditorView extends EditorPart implements ICdmEventListener {
 \r
                final TableItem newItemTableItem = new TableItem(table_1, SWT.BORDER);\r
                newItemTableItem.setText(0, "Rank");\r
-               newItemTableItem.setText(1, "species");\r
                newItemTableItem.setText("Rank");\r
                \r
                final TableItem newItemTableItem_1 = new TableItem(table_1, SWT.BORDER);\r
-               newItemTableItem_1.setText(1, "Pilosella");\r
                newItemTableItem_1.setText(0, "Genus");\r
 \r
                final TableItem newItemTableItem_2 = new TableItem(table_1, SWT.BORDER);\r
-               newItemTableItem_2.setText(1, "fuscoatra");\r
                newItemTableItem_2.setText(0, "Species epithet");\r
 \r
                final TableItem newItemTableItem_3 = new TableItem(table_1, SWT.BORDER);\r
-               newItemTableItem_3.setText(1, "Nägeli & Peter");\r
                newItemTableItem_3.setText(0, "Author team");\r
 \r
                final TableItem newItemTableItem_4 = new TableItem(table_1, SWT.BORDER);\r
                newItemTableItem_4.setText("...");\r
-//             newItemTableItem_3.setText("Author team");\r
-//             newItemTableItem_2.setText("Species epithet");\r
 //             newItemTableItem_1.setText("Genus");\r
-\r
-               final Label labelWithMenu = new Label(composite, SWT.NONE);\r
-               labelWithMenu.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));\r
-               labelWithMenu.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/homosyn_no_bg.gif"));\r
-               final GridData gd_labelWithMenu = new GridData(SWT.LEFT, SWT.TOP, false, false);\r
-               labelWithMenu.setLayoutData(gd_labelWithMenu);\r
-               \r
-               text_1 = new Text(composite, SWT.WRAP);\r
-               final GridData gd_text_1 = new GridData(SWT.FILL, SWT.CENTER, true, false);\r
-               gd_text_1.widthHint = 444;\r
-               text_1.setLayoutData(gd_text_1);\r
-               text_1.setFont(SWTResourceManager.getFont("Georgia", 11, SWT.NONE));\r
-               text_1.setText("Hieracium fuscoatrum Nägeli & Peter, Hierac. Mitt.-Eur. 1: 315. 1885");\r
-               text_1.addFocusListener(new FocusListener() {\r
-\r
-                       public void focusGained(FocusEvent e) {\r
-                               text_1.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WIDGET_LIGHT_SHADOW));\r
-                       }\r
-\r
-                       public void focusLost(FocusEvent e) {\r
-                               text_1.setBackground(null);                             \r
-                       }\r
-\r
-               });\r
-               \r
-\r
-               final Label label_1 = new Label(composite, SWT.NONE);\r
-               label_1.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false));\r
-               label_1.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/heterosyn_no_bg.gif"));\r
-               label_1.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));\r
-\r
-               hieraciumAurantiacumSubspText = new Text(composite, SWT.WRAP);\r
-               final GridData gd_hieraciumAurantiacumSubspText = new GridData(SWT.FILL, SWT.CENTER, true, false);\r
-               gd_hieraciumAurantiacumSubspText.widthHint = 441;\r
-               hieraciumAurantiacumSubspText.setLayoutData(gd_hieraciumAurantiacumSubspText);\r
-               hieraciumAurantiacumSubspText.setFont(SWTResourceManager.getFont("Georgia", 11, SWT.NONE));\r
-               hieraciumAurantiacumSubspText.setText("Hieracium aurantiacum subsp. chaetodermum Pohle & Zahn in Allg. Bot. Z. Syst. 13: 110. 1907");\r
-               hieraciumAurantiacumSubspText.addFocusListener(new FocusListener() {\r
-\r
-                       public void focusGained(FocusEvent e) {\r
-                               hieraciumAurantiacumSubspText.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WIDGET_LIGHT_SHADOW));\r
-                       }\r
-\r
-                       public void focusLost(FocusEvent e) {\r
-                               hieraciumAurantiacumSubspText.setBackground(null);                              \r
-                       }\r
-\r
-               });\r
-               \r
-\r
-               final Label label_2 = new Label(composite, SWT.NONE);\r
-               label_2.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false));\r
-               label_2.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));\r
-               label_2.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/heterosyn_no_bg.gif"));\r
-\r
-               hieraciumFuscoatrumSubspText = new Text(composite, SWT.WRAP);\r
-               final GridData gd_hieraciumFuscoatrumSubspText = new GridData(SWT.FILL, SWT.CENTER, true, false);\r
-               gd_hieraciumFuscoatrumSubspText.widthHint = 447;\r
-               hieraciumFuscoatrumSubspText.setLayoutData(gd_hieraciumFuscoatrumSubspText);\r
-               hieraciumFuscoatrumSubspText.setText("Hieracium fuscoatrum subsp. chaetodermum (Pohle & Zahn) Zahn in Engler, Pflanzenr. 82: 1267. 1923");\r
-               hieraciumFuscoatrumSubspText.setFont(SWTResourceManager.getFont("Georgia", 11, SWT.NONE));\r
-               hieraciumFuscoatrumSubspText.addFocusListener(new FocusListener() {\r
-\r
-                       public void focusGained(FocusEvent e) {\r
-                               hieraciumFuscoatrumSubspText.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WIDGET_LIGHT_SHADOW));\r
-                       }\r
-\r
-                       public void focusLost(FocusEvent e) {\r
-                               hieraciumFuscoatrumSubspText.setBackground(null);                               \r
-                       }\r
-\r
-               });\r
-               \r
-               final Label label_4 = new Label(composite, SWT.NONE);\r
-               label_4.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false));\r
-               label_4.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/unknown_no_bg.gif"));\r
-               label_4.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));\r
                //container.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_GRAY));\r
 \r
-               final Menu menu1 = new Menu(labelWithMenu);\r
-               labelWithMenu.setMenu(menu1);\r
-\r
-               final MenuItem deletehieraciumFuscoatrumMenuItem = new MenuItem(menu1, SWT.NONE);\r
-               deletehieraciumFuscoatrumMenuItem.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/delete.gif"));\r
-               deletehieraciumFuscoatrumMenuItem.setText("Delete \"Hieracium fuscoatrum Nägeli & Peter\" from this taxon");\r
-\r
-               new MenuItem(menu1, SWT.SEPARATOR);\r
-\r
-               final MenuItem moveMenuItem = new MenuItem(menu1, SWT.NONE);\r
-               moveMenuItem.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/move_no_bg.gif"));\r
-               moveMenuItem.setText("Move \"Hieracium fuscoatrum Nägeli & Peter\" to another taxon");\r
-\r
-               final MenuItem makehieraciumFuscoatrumMenuItem = new MenuItem(menu1, SWT.NONE);\r
-               makehieraciumFuscoatrumMenuItem.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/a_no_bg.gif"));\r
-               makehieraciumFuscoatrumMenuItem.setText("Turn \"Hieracium fuscoatrum Nägeli & Peter\" into an accepted name");\r
-\r
-               new MenuItem(menu1, SWT.SEPARATOR);\r
-\r
-               final MenuItem turnhieraciumFuscoatrumMenuItem = new MenuItem(menu1, SWT.NONE);\r
-               turnhieraciumFuscoatrumMenuItem.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/unknown_no_bg.gif"));\r
-               turnhieraciumFuscoatrumMenuItem.setText("Turn \"Hieracium fuscoatrum Nägeli & Peter\" into a synonym (type unknown)");\r
-\r
-               final MenuItem turnhieraciumFuscoatrumMenuItem_1 = new MenuItem(menu1, SWT.NONE);\r
-               turnhieraciumFuscoatrumMenuItem_1.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/homosyn_no_bg.gif"));\r
-               turnhieraciumFuscoatrumMenuItem_1.setText("Turn \"Hieracium fuscoatrum Nägeli & Peter\" into a homotypic synonym");\r
-\r
-               final MenuItem turnhieraciumFuscoatrumMenuItem_2 = new MenuItem(menu1, SWT.NONE);\r
-               turnhieraciumFuscoatrumMenuItem_2.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/heterosyn_no_bg.gif"));\r
-               turnhieraciumFuscoatrumMenuItem_2.setText("Turn \"Hieracium fuscoatrum Nägeli & Peter\" into a heterotypic synoynm");\r
-\r
-               final MenuItem turnhieraciumFuscoatrumMenuItem_3 = new MenuItem(menu1, SWT.NONE);\r
-               turnhieraciumFuscoatrumMenuItem_3.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/basionym_no_bg.gif"));\r
-               turnhieraciumFuscoatrumMenuItem_3.setText("Turn \"Hieracium fuscoatrum Nägeli & Peter\" into a basionym");\r
-\r
-               final MenuItem turnhieraciumFuscoatrumMenuItem_4 = new MenuItem(menu1, SWT.NONE);\r
-               turnhieraciumFuscoatrumMenuItem_4.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/repsyn_no_bg.gif"));\r
-               turnhieraciumFuscoatrumMenuItem_4.setText("Turn \"Hieracium fuscoatrum Nägeli & Peter\" into a replaced synonym");\r
-\r
-               final MenuItem turnhieraciumFuscoatrumMenuItem_5 = new MenuItem(menu1, SWT.NONE);\r
-               turnhieraciumFuscoatrumMenuItem_5.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/homonym_no_bg.gif"));\r
-               turnhieraciumFuscoatrumMenuItem_5.setText("Turn \"Hieracium fuscoatrum Nägeli & Peter\" into a homonym");\r
-\r
-               final MenuItem turnhieraciumFuscoatrumMenuItem_6 = new MenuItem(menu1, SWT.NONE);\r
-               turnhieraciumFuscoatrumMenuItem_6.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/orthovariant_no_bg.gif"));\r
-               turnhieraciumFuscoatrumMenuItem_6.setText("Turn \"Hieracium fuscoatrum Nägeli & Peter\" into a orthographic variant");\r
-\r
-               final MenuItem turnhieraciumFuscoatrumMenuItem_7 = new MenuItem(menu1, SWT.NONE);\r
-               turnhieraciumFuscoatrumMenuItem_7.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/misapplied_no_bg.gif"));\r
-               turnhieraciumFuscoatrumMenuItem_7.setText("Turn \"Hieracium fuscoatrum Nägeli & Peter\" into a misapplied name");\r
-\r
-               final MenuItem turnhieraciumFuscoatrumMenuItem_8 = new MenuItem(menu1, SWT.NONE);\r
-               turnhieraciumFuscoatrumMenuItem_8.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/concept_no_bg.gif"));\r
-               turnhieraciumFuscoatrumMenuItem_8.setText("Turn \"Hieracium fuscoatrum Nägeli & Peter\" into a concept relation");\r
-\r
                SourceViewer sourceviewer = new SourceViewer(composite, null, SWT.WRAP | SWT.FULL_SELECTION);\r
                sourceviewer.setAnnotationHover(null);\r
                styledText = sourceviewer.getTextWidget();\r
@@ -561,7 +463,7 @@ public class NameEditorView extends EditorPart implements ICdmEventListener {
 \r
        @Override\r
        public boolean isDirty() {\r
-               return true;\r
+               return dirtyBoy;\r
        }\r
 \r
        @Override\r
index 358fbbb780d66e621751e34abd9fb49d3ca3555d..b9b5b9aedf5056a5c349b20ad395515e801ae4d9 100644 (file)
@@ -179,6 +179,11 @@ public class NameListView extends ViewPart implements ICdmEventListener {
 \r
                tree = new Tree(taxTreeComposite, SWT.FULL_SELECTION);\r
                tree.setItemCount(1);\r
+               tree.addMouseListener(new MouseAdapter() {\r
+                       public void mouseDoubleClick(final MouseEvent e) {\r
+                               new OpenNameEditorAction("Pilosella").run();\r
+                       }\r
+               });\r
 \r
                final TreeItem newItemTreeItem = new TreeItem(tree, SWT.NONE);\r
                newItemTreeItem.setChecked(true);\r
@@ -268,7 +273,7 @@ public class NameListView extends ViewPart implements ICdmEventListener {
                table = new Table(recentNamesComposite, SWT.NONE);\r
                table.addMouseListener(new MouseAdapter() {\r
                        public void mouseDoubleClick(final MouseEvent e) {\r
-                               new OpenNameEditorAction().run();\r
+                               new OpenNameEditorAction("Carduus").run();\r
                        }\r
                });\r
                table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));\r
@@ -285,9 +290,6 @@ public class NameListView extends ViewPart implements ICdmEventListener {
                final TableItem newItemTableItem_3 = new TableItem(table, SWT.BORDER);\r
                newItemTableItem_3.setText("Carduus kerneri Simonk.");\r
 \r
-               final TableItem newItemTableItem_4 = new TableItem(table, SWT.BORDER);\r
-               newItemTableItem_4.setText("Carduus kerneri Simonk.");\r
-\r
                final TableItem newItemTableItem_5 = new TableItem(table, SWT.BORDER);\r
                newItemTableItem_5.setText("Senecio eboracensis R. J. Abbott & A. J. Lowe");\r
 \r
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor.designproposal1/src/eu/etaxonomy/taxeditor/designproposal1/view/PilosellaEditorView.java b/eclipseprojects/eu.etaxonomy.taxeditor.designproposal1/src/eu/etaxonomy/taxeditor/designproposal1/view/PilosellaEditorView.java
new file mode 100644 (file)
index 0000000..e3b70c0
--- /dev/null
@@ -0,0 +1,616 @@
+package eu.etaxonomy.taxeditor.designproposal1.view;\r
+\r
+import java.beans.PropertyChangeEvent;\r
+import java.beans.PropertyChangeListener;\r
+\r
+import org.eclipse.core.runtime.IProgressMonitor;\r
+import org.eclipse.jface.action.Action;\r
+import org.eclipse.jface.text.Document;\r
+import org.eclipse.jface.text.TextViewer;\r
+import org.eclipse.jface.text.source.SourceViewer;\r
+import org.eclipse.swt.SWT;\r
+import org.eclipse.swt.custom.PopupList;\r
+import org.eclipse.swt.custom.StyledText;\r
+import org.eclipse.swt.events.ControlAdapter;\r
+import org.eclipse.swt.events.ControlEvent;\r
+import org.eclipse.swt.events.FocusEvent;\r
+import org.eclipse.swt.events.FocusListener;\r
+import org.eclipse.swt.events.KeyEvent;\r
+import org.eclipse.swt.events.KeyListener;\r
+import org.eclipse.swt.events.MouseAdapter;\r
+import org.eclipse.swt.events.MouseEvent;\r
+import org.eclipse.swt.events.SelectionAdapter;\r
+import org.eclipse.swt.events.SelectionEvent;\r
+import org.eclipse.swt.events.SelectionListener;\r
+import org.eclipse.swt.graphics.Point;\r
+import org.eclipse.swt.graphics.Rectangle;\r
+import org.eclipse.swt.layout.FillLayout;\r
+import org.eclipse.swt.layout.GridData;\r
+import org.eclipse.swt.layout.GridLayout;\r
+import org.eclipse.swt.widgets.Button;\r
+import org.eclipse.swt.widgets.Composite;\r
+import org.eclipse.swt.widgets.CoolBar;\r
+import org.eclipse.swt.widgets.CoolItem;\r
+import org.eclipse.swt.widgets.Display;\r
+import org.eclipse.swt.widgets.Event;\r
+import org.eclipse.swt.widgets.Label;\r
+import org.eclipse.swt.widgets.Listener;\r
+import org.eclipse.swt.widgets.Menu;\r
+import org.eclipse.swt.widgets.MenuItem;\r
+import org.eclipse.swt.widgets.Shell;\r
+import org.eclipse.swt.widgets.Table;\r
+import org.eclipse.swt.widgets.TableColumn;\r
+import org.eclipse.swt.widgets.TableItem;\r
+import org.eclipse.swt.widgets.Text;\r
+import org.eclipse.swt.widgets.ToolBar;\r
+import org.eclipse.swt.widgets.ToolItem;\r
+import org.eclipse.ui.IEditorInput;\r
+import org.eclipse.ui.IEditorSite;\r
+import org.eclipse.ui.PartInitException;\r
+import org.eclipse.ui.part.EditorPart;\r
+import com.swtdesigner.ResourceManager;\r
+import com.swtdesigner.SWTResourceManager;\r
+\r
+//import org.eclipse.ui.texteditor.AbstractTextEditor;\r
+\r
+import eu.etaxonomy.cdm.event.ICdmEventListener;\r
+import eu.etaxonomy.cdm.event.ICdmEventListenerRegistration;\r
+import eu.etaxonomy.cdm.model.name.TaxonName;\r
+import eu.etaxonomy.taxeditor.designproposal1.Activator;\r
+import eu.etaxonomy.taxeditor.designproposal1.controller.OpenNameEditorAction;\r
+import eu.etaxonomy.taxeditor.designproposal1.controller.SaveNameAction;\r
+\r
+public class PilosellaEditorView extends EditorPart implements ICdmEventListener {\r
+\r
+       private Table table_1;\r
+       private Text text_3;\r
+       private Text hieraciumFuscoatrumSubspText;\r
+       private Text hieraciumAurantiacumSubspText;\r
+       private Text text_1;\r
+       private StyledText styledText;\r
+       private TaxonName taxonname;\r
+\r
+       public static final String ID = "eu.etaxonomy.taxeditor.designproposal1.view.pilosellaeditorview"; //$NON-NLS-1$\r
+\r
+       /**\r
+        * Create contents of the editor part\r
+        * @param parent\r
+        */\r
+       @Override\r
+       public void createPartControl(Composite parent) {\r
+               //\r
+               \r
+               \r
+//             txtPlay = new Text(container, SWT.BORDER);\r
+//             txtPlay.setCapture(true);\r
+//             final GridData gd_txtPlay = new GridData(SWT.FILL, SWT.CENTER, true, false, 2, 1);\r
+//             gd_txtPlay.heightHint = 96;\r
+//             txtPlay.setLayoutData(gd_txtPlay);\r
+////           txtPlay.addVerifyListener(new VerifyListener() {\r
+////                   @Override\r
+////                   public void verifyText(VerifyEvent e) {\r
+////                   e.doit = Character.isDigit(e.character);\r
+////               }           \r
+////           });\r
+//             txtPlay.addSelectionListener(new SelectionListener() {\r
+//\r
+//                     @Override\r
+//                     public void widgetDefaultSelected(SelectionEvent e) {\r
+//                             // TODO Auto-generated method stub\r
+//                             \r
+//                     }\r
+//\r
+//                     @Override\r
+//                     public void widgetSelected(SelectionEvent e) {\r
+//                             System.out.println(e.toString());\r
+//                     }\r
+//                     \r
+//                     \r
+//             });\r
+//             \r
+//             \r
+//             txtPlay.addKeyListener(new KeyListener() {\r
+//\r
+//                     public void keyPressed(KeyEvent e) {\r
+//                             System.out.println(e.character);\r
+//                             if (e.character == '=') {\r
+//                                     Shell shell = Activator.getDefault().getWorkbench().\r
+//                                             getActiveWorkbenchWindow().getShell();\r
+//                                     PopupList list = new PopupList(shell, SWT.H_SCROLL | SWT.V_SCROLL);\r
+//                                     \r
+////                                   Combo list = new Combo(shell, SWT.H_SCROLL | SWT.V_SCROLL);\r
+//                                     \r
+//                                     // Add the items to the list\r
+//                                     String[] OPTIONS = { "Create homo. syn.",\r
+//                                                     "Create hetero. syn.",\r
+//                                                     "Create mis. name",\r
+//                                                     "Create homonym"};\r
+//\r
+//                                     list.setItems(OPTIONS);\r
+//                                     \r
+//                                     // Open the list and get the selected item\r
+//                                     String selected = list.open(txtPlay.getBounds());\r
+//                                     \r
+//                                     // Print the item to the console\r
+//                                     System.out.println(selected);                                   \r
+//                             }\r
+//                             \r
+//                     }\r
+//\r
+//                     public void keyReleased(KeyEvent e) {\r
+//                             // TODO Auto-generated method stub\r
+//                             \r
+//                     }\r
+//             });\r
+               parent.setLayout(new GridLayout());\r
+               Document doc = new Document("");\r
+\r
+               final Label taxonomicallyIncludedInLabel = new Label(parent, SWT.NONE);\r
+               taxonomicallyIncludedInLabel.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false));\r
+               taxonomicallyIncludedInLabel.setText("Higher taxon: \"Pilosella fuscoatra coll.\"");\r
+\r
+               final ToolBar toolBar = new ToolBar(parent, SWT.NONE);\r
+//             toolBar.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_GRAY));\r
+\r
+               final ToolItem itemSave = new ToolItem(toolBar, SWT.PUSH);\r
+               itemSave.setToolTipText("Save taxon \"Pilosella fuscoatra (Nägeli & Peter) Soják\"");\r
+               itemSave.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/save.gif"));\r
+               itemSave.addSelectionListener(new SelectionListener() {\r
+                       public void mouseDown(final MouseEvent e) {\r
+                               \r
+//                             taxonname.setGenus(txtGenus.getText());\r
+//                             taxonname.setSpecificEpithet(txtSpEpi.getText());\r
+                               \r
+                               new SaveNameAction(taxonname).run();\r
+                       }\r
+\r
+                       public void widgetDefaultSelected(SelectionEvent e) {\r
+                               new SaveNameAction(taxonname).run();\r
+                       }\r
+\r
+                       public void widgetSelected(SelectionEvent e) {\r
+                               new SaveNameAction(taxonname).run();\r
+                       }\r
+               });\r
+\r
+               final ToolItem itemMove = new ToolItem(toolBar, SWT.DROP_DOWN);\r
+               itemMove.setToolTipText("Move taxon \"Pilosella fuscoatra (Nägeli & Peter) Soják\"");\r
+               itemMove.addSelectionListener(new SelectionAdapter() {\r
+                       public void widgetSelected(final SelectionEvent e) {\r
+                       }\r
+               });\r
+               \r
+               final Menu menuMove = new Menu(toolBar);\r
+               menuMove.setData("x", null);\r
+               addDropDown(itemMove, menuMove);\r
+\r
+               final MenuItem moveTaxonpilosellaMenuItem = new MenuItem(menuMove, SWT.NONE);\r
+               moveTaxonpilosellaMenuItem.setText("Move taxon \"Pilosella fuscoatra (Nägeli & Peter) Soják\" to another higher taxon");\r
+\r
+               final MenuItem turnTaxonpilosellaMenuItem = new MenuItem(menuMove, SWT.NONE);\r
+               turnTaxonpilosellaMenuItem.setText("Turn taxon \"Pilosella fuscoatra (Nägeli & Peter) Soják\" into a synonym");\r
+               \r
+//             });\r
+//             newItemToolItem.setText("New item");\r
+               itemMove.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/move_no_bg.gif"));\r
+\r
+               final ToolItem itemDelete = new ToolItem(toolBar, SWT.NONE);\r
+               itemDelete.setToolTipText("Delete taxon \"Pilosella fuscoatra (Nägeli & Peter) Soják\"");\r
+               itemDelete.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/delete.gif"));\r
+                               \r
+               final ToolItem separator1 = new ToolItem(toolBar, SWT.SEPARATOR);\r
+\r
+               final ToolItem itemAddRelationship = new ToolItem(toolBar, SWT.DROP_DOWN);\r
+               itemAddRelationship.setToolTipText("Add nom. or tax. relation to \"Pilosella fuscoatra (Nägeli & Peter) Soják\"");\r
+               itemAddRelationship.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/rel_no_bg.gif"));\r
+               \r
+               final Menu menuAddRel = new Menu(toolBar);\r
+               menuAddRel.setData("x", null);\r
+               addDropDown(itemAddRelationship, menuAddRel);\r
+\r
+               final MenuItem testMenuItem = new MenuItem(menuAddRel, SWT.NONE);\r
+               testMenuItem.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/unknown_no_bg.gif"));\r
+               testMenuItem.setText("Add synonymy (type unknown)");\r
+\r
+               final MenuItem addHomotypicSynonymMenuItem = new MenuItem(menuAddRel, SWT.NONE);\r
+               addHomotypicSynonymMenuItem.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/homosyn_no_bg.gif"));\r
+               addHomotypicSynonymMenuItem.setText("Add homotypic synonym");\r
+\r
+               final MenuItem addHeterotypicSynoynmMenuItem = new MenuItem(menuAddRel, SWT.NONE);\r
+               addHeterotypicSynoynmMenuItem.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/heterosyn_no_bg.gif"));\r
+               addHeterotypicSynoynmMenuItem.setText("Add heterotypic synoynm");\r
+\r
+               final MenuItem addBasionymMenuItem = new MenuItem(menuAddRel, SWT.NONE);\r
+               addBasionymMenuItem.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/basionym_no_bg.gif"));\r
+               addBasionymMenuItem.setText("Add basionym");\r
+\r
+               final MenuItem addReplacedSynonymMenuItem = new MenuItem(menuAddRel, SWT.NONE);\r
+               addReplacedSynonymMenuItem.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/repsyn_no_bg.gif"));\r
+               addReplacedSynonymMenuItem.setText("Add replaced synonym");\r
+\r
+               final MenuItem addHomonymMenuItem = new MenuItem(menuAddRel, SWT.NONE);\r
+               addHomonymMenuItem.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/homonym_no_bg.gif"));\r
+               addHomonymMenuItem.setText("Add homonym");\r
+\r
+               final MenuItem addOrthographicVariantMenuItem = new MenuItem(menuAddRel, SWT.NONE);\r
+               addOrthographicVariantMenuItem.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/orthovariant_no_bg.gif"));\r
+               addOrthographicVariantMenuItem.setText("Add orthographic variant");\r
+\r
+               final MenuItem addMisappliedNameMenuItem = new MenuItem(menuAddRel, SWT.NONE);\r
+               addMisappliedNameMenuItem.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/misapplied_no_bg.gif"));\r
+               addMisappliedNameMenuItem.setText("Add misapplied name");\r
+\r
+               final MenuItem addConceptRelationMenuItem_1 = new MenuItem(menuAddRel, SWT.CASCADE);\r
+               addConceptRelationMenuItem_1.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/concept_no_bg.gif"));\r
+               addConceptRelationMenuItem_1.setText("Add concept relation");\r
+\r
+               final Menu menu = new Menu(addConceptRelationMenuItem_1);\r
+               addConceptRelationMenuItem_1.setMenu(menu);\r
+\r
+               final MenuItem checkboxMenuItem = new MenuItem(menu, SWT.CHECK);\r
+               checkboxMenuItem.setText("congruent");\r
+\r
+               final MenuItem checkboxMenuItem_1 = new MenuItem(menu, SWT.CHECK);\r
+               checkboxMenuItem_1.setSelection(true);\r
+               checkboxMenuItem_1.setText("included in");\r
+\r
+               final MenuItem checkboxMenuItem_2 = new MenuItem(menu, SWT.CHECK);\r
+               checkboxMenuItem_2.setText("includes");\r
+\r
+               final MenuItem checkboxMenuItem_3 = new MenuItem(menu, SWT.CHECK);\r
+               checkboxMenuItem_3.setText("overlaps");\r
+\r
+               final MenuItem checkboxMenuItem_4 = new MenuItem(menu, SWT.CHECK);\r
+               checkboxMenuItem_4.setText("excludes");\r
+\r
+               final MenuItem checkboxMenuItem_5 = new MenuItem(menu, SWT.CHECK);\r
+               checkboxMenuItem_5.setSelection(true);\r
+               checkboxMenuItem_5.setText("doubtful");\r
+               \r
+               final ToolItem separator2 = new ToolItem(toolBar, SWT.SEPARATOR);\r
+\r
+               final ToolItem itemAddTaxon = new ToolItem(toolBar, SWT.DROP_DOWN);\r
+               itemAddTaxon.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/add_no_bg2.gif"));\r
+               itemAddTaxon.setToolTipText("Add new taxon");\r
+\r
+               final Menu menuAdd = new Menu(toolBar);\r
+               menuAdd.setData("x", null);\r
+               addDropDown(itemAddTaxon, menuAdd);\r
+\r
+               final MenuItem addTaxonToMenuItem = new MenuItem(menuAdd, SWT.NONE);\r
+               addTaxonToMenuItem.setText("Add new taxon to \"Pilosella fuscoatra (Nägeli & Peter) Soják\"");\r
+\r
+               final MenuItem addNewTaxonMenuItem = new MenuItem(menuAdd, SWT.NONE);\r
+               addNewTaxonMenuItem.setText("Add new taxon to \"Pilosella fuscoatra coll.\"");\r
+\r
+               final Composite composite = new Composite(parent, SWT.NONE);\r
+               composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));\r
+               composite.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));\r
+               final GridLayout gridLayout_2 = new GridLayout();\r
+               gridLayout_2.horizontalSpacing = 3;\r
+               gridLayout_2.numColumns = 3;\r
+               composite.setLayout(gridLayout_2);\r
+\r
+               text_3 = new Text(composite, SWT.WRAP);\r
+               text_3.setText("Pilosella fuscoatra (Nägeli & Peter) Soják in Preslia 43: 184. 1971 ");\r
+               text_3.setFont(SWTResourceManager.getFont("Georgia", 12, SWT.NONE));\r
+               text_3.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 2, 1));\r
+               text_3.addFocusListener(new FocusListener() {\r
+\r
+                       public void focusGained(FocusEvent e) {\r
+                               text_3.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WIDGET_LIGHT_SHADOW));\r
+                       }\r
+\r
+                       public void focusLost(FocusEvent e) {\r
+                               text_3.setBackground(null);                             \r
+                       }\r
+\r
+               });\r
+\r
+               table_1 = new Table(composite, SWT.BORDER);\r
+               table_1.setLinesVisible(true);\r
+               table_1.setLayoutData(new GridData(SWT.RIGHT, SWT.FILL, true, true, 1, 5));\r
+\r
+               final TableColumn newColumnTableColumn = new TableColumn(table_1, SWT.NONE);\r
+               newColumnTableColumn.setWidth(100);\r
+               newColumnTableColumn.setText("New column");\r
+\r
+               final TableColumn newColumnTableColumn_1 = new TableColumn(table_1, SWT.NONE);\r
+               newColumnTableColumn_1.setWidth(100);\r
+               newColumnTableColumn_1.setText("New column");\r
+\r
+               final TableItem newItemTableItem = new TableItem(table_1, SWT.BORDER);\r
+               newItemTableItem.setText(0, "Rank");\r
+               newItemTableItem.setText(1, "species");\r
+               newItemTableItem.setText("Rank");\r
+               \r
+               final TableItem newItemTableItem_1 = new TableItem(table_1, SWT.BORDER);\r
+               newItemTableItem_1.setText(1, "Pilosella");\r
+               newItemTableItem_1.setText(0, "Genus");\r
+\r
+               final TableItem newItemTableItem_2 = new TableItem(table_1, SWT.BORDER);\r
+               newItemTableItem_2.setText(1, "fuscoatra");\r
+               newItemTableItem_2.setText(0, "Species epithet");\r
+\r
+               final TableItem newItemTableItem_3 = new TableItem(table_1, SWT.BORDER);\r
+               newItemTableItem_3.setText(1, "Nägeli & Peter");\r
+               newItemTableItem_3.setText(0, "Author team");\r
+\r
+               final TableItem newItemTableItem_4 = new TableItem(table_1, SWT.BORDER);\r
+               newItemTableItem_4.setText("...");\r
+//             newItemTableItem_3.setText("Author team");\r
+//             newItemTableItem_2.setText("Species epithet");\r
+//             newItemTableItem_1.setText("Genus");\r
+\r
+               final Label labelWithMenu = new Label(composite, SWT.NONE);\r
+               labelWithMenu.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));\r
+               labelWithMenu.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/homosyn_no_bg.gif"));\r
+               final GridData gd_labelWithMenu = new GridData(SWT.LEFT, SWT.TOP, false, false);\r
+               labelWithMenu.setLayoutData(gd_labelWithMenu);\r
+               \r
+               text_1 = new Text(composite, SWT.WRAP);\r
+               final GridData gd_text_1 = new GridData(SWT.FILL, SWT.CENTER, true, false);\r
+               gd_text_1.widthHint = 444;\r
+               text_1.setLayoutData(gd_text_1);\r
+               text_1.setFont(SWTResourceManager.getFont("Georgia", 11, SWT.NONE));\r
+               text_1.setText("Hieracium fuscoatrum Nägeli & Peter, Hierac. Mitt.-Eur. 1: 315. 1885");\r
+               text_1.addFocusListener(new FocusListener() {\r
+\r
+                       public void focusGained(FocusEvent e) {\r
+                               text_1.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WIDGET_LIGHT_SHADOW));\r
+                       }\r
+\r
+                       public void focusLost(FocusEvent e) {\r
+                               text_1.setBackground(null);                             \r
+                       }\r
+\r
+               });\r
+               \r
+\r
+               final Label label_1 = new Label(composite, SWT.NONE);\r
+               label_1.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false));\r
+               label_1.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/heterosyn_no_bg.gif"));\r
+               label_1.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));\r
+\r
+               hieraciumAurantiacumSubspText = new Text(composite, SWT.WRAP);\r
+               final GridData gd_hieraciumAurantiacumSubspText = new GridData(SWT.FILL, SWT.CENTER, true, false);\r
+               gd_hieraciumAurantiacumSubspText.widthHint = 441;\r
+               hieraciumAurantiacumSubspText.setLayoutData(gd_hieraciumAurantiacumSubspText);\r
+               hieraciumAurantiacumSubspText.setFont(SWTResourceManager.getFont("Georgia", 11, SWT.NONE));\r
+               hieraciumAurantiacumSubspText.setText("Hieracium aurantiacum subsp. chaetodermum Pohle & Zahn in Allg. Bot. Z. Syst. 13: 110. 1907");\r
+               hieraciumAurantiacumSubspText.addFocusListener(new FocusListener() {\r
+\r
+                       public void focusGained(FocusEvent e) {\r
+                               hieraciumAurantiacumSubspText.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WIDGET_LIGHT_SHADOW));\r
+                       }\r
+\r
+                       public void focusLost(FocusEvent e) {\r
+                               hieraciumAurantiacumSubspText.setBackground(null);                              \r
+                       }\r
+\r
+               });\r
+               \r
+\r
+               final Label label_2 = new Label(composite, SWT.NONE);\r
+               label_2.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false));\r
+               label_2.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));\r
+               label_2.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/heterosyn_no_bg.gif"));\r
+\r
+               hieraciumFuscoatrumSubspText = new Text(composite, SWT.WRAP);\r
+               final GridData gd_hieraciumFuscoatrumSubspText = new GridData(SWT.FILL, SWT.CENTER, true, false);\r
+               gd_hieraciumFuscoatrumSubspText.widthHint = 447;\r
+               hieraciumFuscoatrumSubspText.setLayoutData(gd_hieraciumFuscoatrumSubspText);\r
+               hieraciumFuscoatrumSubspText.setText("Hieracium fuscoatrum subsp. chaetodermum (Pohle & Zahn) Zahn in Engler, Pflanzenr. 82: 1267. 1923");\r
+               hieraciumFuscoatrumSubspText.setFont(SWTResourceManager.getFont("Georgia", 11, SWT.NONE));\r
+               hieraciumFuscoatrumSubspText.addFocusListener(new FocusListener() {\r
+\r
+                       public void focusGained(FocusEvent e) {\r
+                               hieraciumFuscoatrumSubspText.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WIDGET_LIGHT_SHADOW));\r
+                       }\r
+\r
+                       public void focusLost(FocusEvent e) {\r
+                               hieraciumFuscoatrumSubspText.setBackground(null);                               \r
+                       }\r
+\r
+               });\r
+               \r
+               final Label label_4 = new Label(composite, SWT.NONE);\r
+               label_4.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false));\r
+               label_4.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/unknown_no_bg.gif"));\r
+               label_4.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));\r
+               //container.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_GRAY));\r
+\r
+               final Menu menu1 = new Menu(labelWithMenu);\r
+               labelWithMenu.setMenu(menu1);\r
+\r
+               final MenuItem deletehieraciumFuscoatrumMenuItem = new MenuItem(menu1, SWT.NONE);\r
+               deletehieraciumFuscoatrumMenuItem.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/delete.gif"));\r
+               deletehieraciumFuscoatrumMenuItem.setText("Delete \"Hieracium fuscoatrum Nägeli & Peter\" from this taxon");\r
+\r
+               new MenuItem(menu1, SWT.SEPARATOR);\r
+\r
+               final MenuItem moveMenuItem = new MenuItem(menu1, SWT.NONE);\r
+               moveMenuItem.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/move_no_bg.gif"));\r
+               moveMenuItem.setText("Move \"Hieracium fuscoatrum Nägeli & Peter\" to another taxon");\r
+\r
+               final MenuItem makehieraciumFuscoatrumMenuItem = new MenuItem(menu1, SWT.NONE);\r
+               makehieraciumFuscoatrumMenuItem.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/a_no_bg.gif"));\r
+               makehieraciumFuscoatrumMenuItem.setText("Turn \"Hieracium fuscoatrum Nägeli & Peter\" into an accepted name");\r
+\r
+               new MenuItem(menu1, SWT.SEPARATOR);\r
+\r
+               final MenuItem turnhieraciumFuscoatrumMenuItem = new MenuItem(menu1, SWT.NONE);\r
+               turnhieraciumFuscoatrumMenuItem.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/unknown_no_bg.gif"));\r
+               turnhieraciumFuscoatrumMenuItem.setText("Turn \"Hieracium fuscoatrum Nägeli & Peter\" into a synonym (type unknown)");\r
+\r
+               final MenuItem turnhieraciumFuscoatrumMenuItem_1 = new MenuItem(menu1, SWT.NONE);\r
+               turnhieraciumFuscoatrumMenuItem_1.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/homosyn_no_bg.gif"));\r
+               turnhieraciumFuscoatrumMenuItem_1.setText("Turn \"Hieracium fuscoatrum Nägeli & Peter\" into a homotypic synonym");\r
+\r
+               final MenuItem turnhieraciumFuscoatrumMenuItem_2 = new MenuItem(menu1, SWT.NONE);\r
+               turnhieraciumFuscoatrumMenuItem_2.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/heterosyn_no_bg.gif"));\r
+               turnhieraciumFuscoatrumMenuItem_2.setText("Turn \"Hieracium fuscoatrum Nägeli & Peter\" into a heterotypic synoynm");\r
+\r
+               final MenuItem turnhieraciumFuscoatrumMenuItem_3 = new MenuItem(menu1, SWT.NONE);\r
+               turnhieraciumFuscoatrumMenuItem_3.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/basionym_no_bg.gif"));\r
+               turnhieraciumFuscoatrumMenuItem_3.setText("Turn \"Hieracium fuscoatrum Nägeli & Peter\" into a basionym");\r
+\r
+               final MenuItem turnhieraciumFuscoatrumMenuItem_4 = new MenuItem(menu1, SWT.NONE);\r
+               turnhieraciumFuscoatrumMenuItem_4.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/repsyn_no_bg.gif"));\r
+               turnhieraciumFuscoatrumMenuItem_4.setText("Turn \"Hieracium fuscoatrum Nägeli & Peter\" into a replaced synonym");\r
+\r
+               final MenuItem turnhieraciumFuscoatrumMenuItem_5 = new MenuItem(menu1, SWT.NONE);\r
+               turnhieraciumFuscoatrumMenuItem_5.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/homonym_no_bg.gif"));\r
+               turnhieraciumFuscoatrumMenuItem_5.setText("Turn \"Hieracium fuscoatrum Nägeli & Peter\" into a homonym");\r
+\r
+               final MenuItem turnhieraciumFuscoatrumMenuItem_6 = new MenuItem(menu1, SWT.NONE);\r
+               turnhieraciumFuscoatrumMenuItem_6.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/orthovariant_no_bg.gif"));\r
+               turnhieraciumFuscoatrumMenuItem_6.setText("Turn \"Hieracium fuscoatrum Nägeli & Peter\" into a orthographic variant");\r
+\r
+               final MenuItem turnhieraciumFuscoatrumMenuItem_7 = new MenuItem(menu1, SWT.NONE);\r
+               turnhieraciumFuscoatrumMenuItem_7.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/misapplied_no_bg.gif"));\r
+               turnhieraciumFuscoatrumMenuItem_7.setText("Turn \"Hieracium fuscoatrum Nägeli & Peter\" into a misapplied name");\r
+\r
+               final MenuItem turnhieraciumFuscoatrumMenuItem_8 = new MenuItem(menu1, SWT.NONE);\r
+               turnhieraciumFuscoatrumMenuItem_8.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/concept_no_bg.gif"));\r
+               turnhieraciumFuscoatrumMenuItem_8.setText("Turn \"Hieracium fuscoatrum Nägeli & Peter\" into a concept relation");\r
+\r
+               SourceViewer sourceviewer = new SourceViewer(composite, null, SWT.WRAP | SWT.FULL_SELECTION);\r
+               sourceviewer.setAnnotationHover(null);\r
+               styledText = sourceviewer.getTextWidget();\r
+               final GridData gd_styledText = new GridData(SWT.FILL, SWT.TOP, true, false);\r
+               gd_styledText.heightHint = 41;\r
+               gd_styledText.widthHint = 450;\r
+               styledText.setLayoutData(gd_styledText);\r
+               sourceviewer.setDocument(doc);\r
+               sourceviewer.configure(new MySourceViewerConfig());\r
+               sourceviewer.setTabsToSpacesConverter(null);\r
+\r
+               \r
+//             final Menu menu = new Menu(toolBar);\r
+//             addDropDown(newItemToolItem, menu);\r
+//             );\r
+               \r
+//             Action testAction = new OpenNameEditorAction();\r
+//             testAction.setImageDescriptor(ResourceManager.getPluginImageDescriptor(Activator.getDefault(), "icons/edit_16x16.gif"));\r
+//             testAction.setToolTipText("Add relation");\r
+//             toolBar.add(testAction);\r
+               \r
+               populateForm();         \r
+       }\r
+\r
+//     private void populateForm() {\r
+//             \r
+//             String fulltext = "";\r
+//             \r
+//             if (taxonname.getGenus() != null) {\r
+//                     fulltext = taxonname.getGenus();\r
+//             }\r
+//\r
+//             if (taxonname.getSpecificEpithet() != null) {\r
+//                     fulltext += " " + taxonname.getSpecificEpithet();\r
+//             }\r
+//\r
+//             if (taxonname.getAuthorship() != null) {\r
+//                     fulltext += " " + taxonname.getAuthorship();\r
+//             }\r
+//             \r
+////           txtPlay.setText(fulltext);\r
+////           txtPlay.setToolTipText("Joe mama\njoe daddy\njoe gramammy");\r
+//             \r
+//             this.setPartName(taxonname.getName());\r
+//     }\r
+\r
+       private void populateForm() {\r
+               this.setPartName("Pilosella fuscoatra (Nägeli & Peter) Soják");\r
+       }\r
+       \r
+       @Override\r
+       public void setFocus() {\r
+               // Set the focus\r
+       }\r
+\r
+       @Override\r
+       public void doSave(IProgressMonitor monitor) {\r
+               // Do the Save operation\r
+       }\r
+\r
+       @Override\r
+       public void doSaveAs() {\r
+               // Do the Save As operation\r
+       }\r
+\r
+       @Override\r
+       public void init(IEditorSite site, IEditorInput input) throws PartInitException {\r
+\r
+               if (!(input instanceof IEditorInput))\r
+                       throw new PartInitException(\r
+                                       "Invalid Input: Must be IFileEditorInput");\r
+               \r
+               if (input.getAdapter(TaxonName.class) != null) {\r
+                       taxonname = (TaxonName) input.getAdapter(TaxonName.class);\r
+                       taxonname.addCdmEventListener(this);\r
+               } else {\r
+                       \r
+                       taxonname = null;\r
+               }\r
+               \r
+               setSite(site);\r
+               setInput(input);\r
+       }\r
+\r
+       @Override\r
+       public boolean isDirty() {\r
+               return true;\r
+       }\r
+\r
+       @Override\r
+       public boolean isSaveAsAllowed() {\r
+               return false;\r
+       }\r
+\r
+       public void propertyChange(PropertyChangeEvent evt) {\r
+//             TaxonName taxonname = (TaxonName)evt.getNewValue();\r
+               this.taxonname = (TaxonName)evt.getNewValue();\r
+               System.out.println(((TaxonName)evt.getNewValue()).getName());\r
+               populateForm();\r
+               \r
+               // for individual fields, do something like:\r
+               //      if (evt.getPropertyName().equalsIgnoreCase("genus"))\r
+               //              txtGenus.setText ...\r
+       }\r
+\r
+       public void onDelete(ICdmEventListenerRegistration arg0) {\r
+               // TODO Auto-generated method stub\r
+               \r
+       }\r
+\r
+       public void onInsert(Object arg0) {\r
+               // TODO Auto-generated method stub\r
+               \r
+       }\r
+\r
+       public void onLoad(Object arg0) {\r
+               // TODO Auto-generated method stub\r
+               \r
+       }\r
+\r
+       public void onUpdate(ICdmEventListenerRegistration arg0) {\r
+               // TODO Auto-generated method stub\r
+               \r
+       }\r
+       \r
+       private static void addDropDown(final ToolItem item, final Menu menu) {\r
+               item.addListener(SWT.Selection, new Listener() {\r
+                       public void handleEvent(Event event) {\r
+                               if (event.detail == SWT.ARROW) {\r
+                                       Rectangle rect = item.getBounds();\r
+                                       Point pt = new Point(rect.x, rect.y + rect.height);\r
+                                       pt = item.getParent().toDisplay(pt);\r
+                                       menu.setLocation(pt.x, pt.y);\r
+                                       menu.setVisible(true);\r
+                               }\r
+                       }\r
+               });\r
+       }\r
+}\r