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
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
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 {
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
--- /dev/null
+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
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
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
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
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
\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
\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
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
\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
\r
@Override\r
public boolean isDirty() {\r
- return true;\r
+ return dirtyBoy;\r
}\r
\r
@Override\r
\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
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
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
--- /dev/null
+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