(no commit message)
authorp.ciardelli <p.ciardelli@localhost>
Fri, 7 Mar 2008 12:50:18 +0000 (12:50 +0000)
committerp.ciardelli <p.ciardelli@localhost>
Fri, 7 Mar 2008 12:50:18 +0000 (12:50 +0000)
95 files changed:
.gitattributes
eclipseprojects/eu.etaxonomy.taxeditor/.classpath [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/.project [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/META-INF/MANIFEST.MF [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/build.properties [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/eu.etaxonomy.taxeditor.product [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/icons/a_no_bg.gif [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/icons/add.gif [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/icons/add_edit.gif [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/icons/add_no_bg.gif [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/icons/add_no_bg2.gif [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/icons/alt_window_16.gif [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/icons/alt_window_32.gif [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/icons/basionym.gif [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/icons/basionym_no_bg.gif [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/icons/change.gif [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/icons/concept.gif [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/icons/concept_no_bg.gif [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/icons/correction_change.gif [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/icons/db.gif [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/icons/delete.gif [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/icons/delete_edit.gif [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/icons/edit_16x16.gif [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/icons/edit_16x16.ico [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/icons/heterosyn.gif [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/icons/heterosyn_no_bg.gif [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/icons/homonym.gif [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/icons/homonym_no_bg.gif [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/icons/homosyn.gif [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/icons/homosyn_no_bg.gif [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/icons/impl_co.gif [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/icons/misapplied.gif [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/icons/misapplied_no_bg.gif [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/icons/move.gif [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/icons/move_no_bg.gif [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/icons/orthovariant.gif [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/icons/orthovariant_no_bg.gif [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/icons/rel_no_bg.gif [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/icons/repsyn.gif [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/icons/repsyn_no_bg.gif [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/icons/save.gif [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/icons/save_edit.gif [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/icons/text.gif [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/icons/undo.gif [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/icons/unknown.gif [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/icons/unknown_no_bg.gif [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/icons/warn_tsk.gif [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/plugin.xml [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/splash.bmp [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/src/com/swtdesigner/ResourceManager.java [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/src/com/swtdesigner/SWTResourceManager.java [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/Activator.java [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/Application.java [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/ApplicationActionBarAdvisor.java [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/ApplicationWorkbenchAdvisor.java [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/ApplicationWorkbenchWindowAdvisor.java [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/Perspective.java [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/ActionAddQuickName.java [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/ActionAddSynonymToTaxon.java [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/ActionDeleteTaxon.java [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/ActionMoveTaxon.java [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/ActionOpenNameEditor.java [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/ActionOpenNewChildNameEditor.java [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/ActionPopulatePropertySheet.java [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/ActionRemoveTaxonFromTree.java [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/ActionSaveTaxon.java [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/NameTransfer.java [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/SynonymRelationshipTransfer.java [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/TaxonTransfer.java [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/NameEditorInput.java [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/NameTreeContentProvider.java [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/PropertySheetNode.java [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/EmptyEditorView.java [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/MoveDialogView.java [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/MultiPageTaxonView.java [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/NameEditorView.java [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/NameListView.java [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/NameViewer.java [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/PropertySheetViewer.java [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/RecentNamesTableViewer.java [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/TaxonomicTreeViewer.java [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/TestDnD.java [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/UndoView.java [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/nameviewersupport/CompositeRectangle.java [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/nameviewersupport/ErrorAnnotation.java [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/nameviewersupport/GroupComposite.java [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/nameviewersupport/NameComposite.java [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/nameviewersupport/NameViewerVerifyListener.java [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/nameviewersupport/TesterooWritableSet.java [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/nameviewersupport/WarningAnnotation.java [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/nameviewersupport/heterosyn_no_bg.gif [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/nameviewersupport/homosyn_no_bg.gif [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/propertysheetsupport/PropertySheetContentProvider.java [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/propertysheetsupport/PropertySheetValueEditingSupport.java [deleted file]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/propertysheetsupport/PropertySheetValueLabelProvider.java [deleted file]

index 7a84c0e1c6e328e32814a06823bd75ecc3f95f5a..311229fb65b0d6c0a1d1a6ced98be7eae8ade2e1 100644 (file)
@@ -306,97 +306,3 @@ eclipseprojects/eu.etaxonomy.taxeditor.prototype2/src/eu/etaxonomy/taxeditor/pro
 eclipseprojects/eu.etaxonomy.taxeditor.prototype2/src/eu/etaxonomy/taxeditor/prototype2/view/propertysheetsupport/PropertySheetContentProvider.java -text
 eclipseprojects/eu.etaxonomy.taxeditor.prototype2/src/eu/etaxonomy/taxeditor/prototype2/view/propertysheetsupport/PropertySheetValueEditingSupport.java -text
 eclipseprojects/eu.etaxonomy.taxeditor.prototype2/src/eu/etaxonomy/taxeditor/prototype2/view/propertysheetsupport/PropertySheetValueLabelProvider.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/.classpath -text
-eclipseprojects/eu.etaxonomy.taxeditor/.project -text
-eclipseprojects/eu.etaxonomy.taxeditor/META-INF/MANIFEST.MF -text
-eclipseprojects/eu.etaxonomy.taxeditor/build.properties -text
-eclipseprojects/eu.etaxonomy.taxeditor/eu.etaxonomy.taxeditor.product -text
-eclipseprojects/eu.etaxonomy.taxeditor/icons/a_no_bg.gif -text
-eclipseprojects/eu.etaxonomy.taxeditor/icons/add.gif -text
-eclipseprojects/eu.etaxonomy.taxeditor/icons/add_edit.gif -text
-eclipseprojects/eu.etaxonomy.taxeditor/icons/add_no_bg.gif -text
-eclipseprojects/eu.etaxonomy.taxeditor/icons/add_no_bg2.gif -text
-eclipseprojects/eu.etaxonomy.taxeditor/icons/alt_window_16.gif -text
-eclipseprojects/eu.etaxonomy.taxeditor/icons/alt_window_32.gif -text
-eclipseprojects/eu.etaxonomy.taxeditor/icons/basionym.gif -text
-eclipseprojects/eu.etaxonomy.taxeditor/icons/basionym_no_bg.gif -text
-eclipseprojects/eu.etaxonomy.taxeditor/icons/change.gif -text
-eclipseprojects/eu.etaxonomy.taxeditor/icons/concept.gif -text
-eclipseprojects/eu.etaxonomy.taxeditor/icons/concept_no_bg.gif -text
-eclipseprojects/eu.etaxonomy.taxeditor/icons/correction_change.gif -text
-eclipseprojects/eu.etaxonomy.taxeditor/icons/db.gif -text
-eclipseprojects/eu.etaxonomy.taxeditor/icons/delete.gif -text
-eclipseprojects/eu.etaxonomy.taxeditor/icons/delete_edit.gif -text
-eclipseprojects/eu.etaxonomy.taxeditor/icons/edit_16x16.gif -text
-eclipseprojects/eu.etaxonomy.taxeditor/icons/edit_16x16.ico -text
-eclipseprojects/eu.etaxonomy.taxeditor/icons/heterosyn.gif -text
-eclipseprojects/eu.etaxonomy.taxeditor/icons/heterosyn_no_bg.gif -text
-eclipseprojects/eu.etaxonomy.taxeditor/icons/homonym.gif -text
-eclipseprojects/eu.etaxonomy.taxeditor/icons/homonym_no_bg.gif -text
-eclipseprojects/eu.etaxonomy.taxeditor/icons/homosyn.gif -text
-eclipseprojects/eu.etaxonomy.taxeditor/icons/homosyn_no_bg.gif -text
-eclipseprojects/eu.etaxonomy.taxeditor/icons/impl_co.gif -text
-eclipseprojects/eu.etaxonomy.taxeditor/icons/misapplied.gif -text
-eclipseprojects/eu.etaxonomy.taxeditor/icons/misapplied_no_bg.gif -text
-eclipseprojects/eu.etaxonomy.taxeditor/icons/move.gif -text
-eclipseprojects/eu.etaxonomy.taxeditor/icons/move_no_bg.gif -text
-eclipseprojects/eu.etaxonomy.taxeditor/icons/orthovariant.gif -text
-eclipseprojects/eu.etaxonomy.taxeditor/icons/orthovariant_no_bg.gif -text
-eclipseprojects/eu.etaxonomy.taxeditor/icons/rel_no_bg.gif -text
-eclipseprojects/eu.etaxonomy.taxeditor/icons/repsyn.gif -text
-eclipseprojects/eu.etaxonomy.taxeditor/icons/repsyn_no_bg.gif -text
-eclipseprojects/eu.etaxonomy.taxeditor/icons/save.gif -text
-eclipseprojects/eu.etaxonomy.taxeditor/icons/save_edit.gif -text
-eclipseprojects/eu.etaxonomy.taxeditor/icons/text.gif -text
-eclipseprojects/eu.etaxonomy.taxeditor/icons/undo.gif -text
-eclipseprojects/eu.etaxonomy.taxeditor/icons/unknown.gif -text
-eclipseprojects/eu.etaxonomy.taxeditor/icons/unknown_no_bg.gif -text
-eclipseprojects/eu.etaxonomy.taxeditor/icons/warn_tsk.gif -text
-eclipseprojects/eu.etaxonomy.taxeditor/plugin.xml -text
-eclipseprojects/eu.etaxonomy.taxeditor/splash.bmp -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/com/swtdesigner/ResourceManager.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/com/swtdesigner/SWTResourceManager.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/Activator.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/Application.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/ApplicationActionBarAdvisor.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/ApplicationWorkbenchAdvisor.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/ApplicationWorkbenchWindowAdvisor.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/Perspective.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/ActionAddQuickName.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/ActionAddSynonymToTaxon.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/ActionDeleteTaxon.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/ActionMoveTaxon.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/ActionOpenNameEditor.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/ActionOpenNewChildNameEditor.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/ActionPopulatePropertySheet.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/ActionRemoveTaxonFromTree.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/ActionSaveTaxon.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/NameTransfer.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/SynonymRelationshipTransfer.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/TaxonTransfer.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/NameEditorInput.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/NameTreeContentProvider.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/PropertySheetNode.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/EmptyEditorView.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/MoveDialogView.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/MultiPageTaxonView.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/NameEditorView.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/NameListView.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/NameViewer.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/PropertySheetViewer.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/RecentNamesTableViewer.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/TaxonomicTreeViewer.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/TestDnD.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/UndoView.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/nameviewersupport/CompositeRectangle.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/nameviewersupport/ErrorAnnotation.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/nameviewersupport/GroupComposite.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/nameviewersupport/NameComposite.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/nameviewersupport/NameViewerVerifyListener.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/nameviewersupport/TesterooWritableSet.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/nameviewersupport/WarningAnnotation.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/nameviewersupport/heterosyn_no_bg.gif -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/nameviewersupport/homosyn_no_bg.gif -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/propertysheetsupport/PropertySheetContentProvider.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/propertysheetsupport/PropertySheetValueEditingSupport.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/propertysheetsupport/PropertySheetValueLabelProvider.java -text
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/.classpath b/eclipseprojects/eu.etaxonomy.taxeditor/.classpath
deleted file mode 100644 (file)
index 0215967..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<classpath>\r
-       <classpathentry kind="src" path="src"/>\r
-       <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>\r
-       <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>\r
-       <classpathentry kind="output" path="bin"/>\r
-</classpath>\r
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/.project b/eclipseprojects/eu.etaxonomy.taxeditor/.project
deleted file mode 100644 (file)
index 9795c78..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<projectDescription>\r
-       <name>eu.etaxonomy.taxeditor.prototype2</name>\r
-       <comment></comment>\r
-       <projects>\r
-       </projects>\r
-       <buildSpec>\r
-               <buildCommand>\r
-                       <name>org.eclipse.jdt.core.javabuilder</name>\r
-                       <arguments>\r
-                       </arguments>\r
-               </buildCommand>\r
-               <buildCommand>\r
-                       <name>org.eclipse.pde.ManifestBuilder</name>\r
-                       <arguments>\r
-                       </arguments>\r
-               </buildCommand>\r
-               <buildCommand>\r
-                       <name>org.eclipse.pde.SchemaBuilder</name>\r
-                       <arguments>\r
-                       </arguments>\r
-               </buildCommand>\r
-       </buildSpec>\r
-       <natures>\r
-               <nature>org.eclipse.pde.PluginNature</nature>\r
-               <nature>org.eclipse.jdt.core.javanature</nature>\r
-       </natures>\r
-</projectDescription>\r
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/META-INF/MANIFEST.MF b/eclipseprojects/eu.etaxonomy.taxeditor/META-INF/MANIFEST.MF
deleted file mode 100644 (file)
index dfdcf0c..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: EDIT Taxonomic Editor
-Bundle-SymbolicName: eu.etaxonomy.taxeditor;singleton:=true
-Bundle-Version: 1.0.0
-Bundle-Activator: eu.etaxonomy.taxeditor.Activator
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.core.databinding,
- org.eclipse.core.databinding.beans,
- org.eclipse.jface.databinding,
- org.eclipse.jface.text,
- org.eclipse.ui.forms,
- org.eclipse.core.resources,
- eu.etaxonomy.cdmLibrary
-Eclipse-LazyStart: true
-Export-Package: com.swtdesigner,
- eu.etaxonomy.taxeditor,
- eu.etaxonomy.taxeditor.controller,
- eu.etaxonomy.taxeditor.model,
- eu.etaxonomy.taxeditor.view
-Main-Class: eu.etaxonomy.taxeditor.designproposal1.Application
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/build.properties b/eclipseprojects/eu.etaxonomy.taxeditor/build.properties
deleted file mode 100644 (file)
index 39c9212..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-source.. = src/\r
-output.. = bin/\r
-bin.includes = plugin.xml,\\r
-               META-INF/,\\r
-               .,\\r
-               icons/,\\r
-               splash.bmp,\\r
-               bin/,\\r
-               .project,\\r
-               .classpath,\\r
-               build.properties,\\r
-               eu.etaxonomy.taxeditor.product\r
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/eu.etaxonomy.taxeditor.product b/eclipseprojects/eu.etaxonomy.taxeditor/eu.etaxonomy.taxeditor.product
deleted file mode 100644 (file)
index 7db42ca..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<?pde version="3.1"?>\r
-\r
-<product name="EDIT Taxonomic Editor" id="eu.etaxonomy.taxeditor.designproposal1.product" application="eu.etaxonomy.taxeditor.designproposal1.application" useFeatures="false">\r
-\r
-   <aboutInfo>\r
-      <image path="icons/edit_16x16.gif"/>\r
-      <text>\r
-         Thanks for all the laughs!\r
-      </text>\r
-   </aboutInfo>\r
-\r
-   <configIni use="default"/>\r
-\r
-   <launcherArgs>\r
-      <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts</vmArgsMac>\r
-   </launcherArgs>\r
-\r
-   <windowImages i16="icons/edit_16x16.gif"/>\r
-\r
-   <splash\r
-      location="eu.etaxonomy.taxeditor.designproposal1" />\r
-   <launcher name="EDIT Taxonomic Editor">\r
-      <solaris/>\r
-      <win useIco="true">\r
-         <ico path="/eu.etaxonomy.taxeditor.designproposal2/icons/edit_16x16.ico"/>\r
-         <bmp/>\r
-      </win>\r
-   </launcher>\r
-\r
-   <vm>\r
-      <windows type="jre">jre1.5.0_06</windows>\r
-   </vm>\r
-\r
-   <plugins>\r
-      <plugin id="com.ibm.icu"/>\r
-      <plugin id="eu.etaxonomy.taxeditor.designproposal1"/>\r
-      <plugin id="org.eclipse.core.commands"/>\r
-      <plugin id="org.eclipse.core.contenttype"/>\r
-      <plugin id="org.eclipse.core.databinding"/>\r
-      <plugin id="org.eclipse.core.expressions"/>\r
-      <plugin id="org.eclipse.core.jobs"/>\r
-      <plugin id="org.eclipse.core.runtime"/>\r
-      <plugin id="org.eclipse.core.runtime.compatibility.registry" fragment="true"/>\r
-      <plugin id="org.eclipse.equinox.app"/>\r
-      <plugin id="org.eclipse.equinox.common"/>\r
-      <plugin id="org.eclipse.equinox.preferences"/>\r
-      <plugin id="org.eclipse.equinox.registry"/>\r
-      <plugin id="org.eclipse.help"/>\r
-      <plugin id="org.eclipse.jface"/>\r
-      <plugin id="org.eclipse.jface.databinding"/>\r
-      <plugin id="org.eclipse.jface.text"/>\r
-      <plugin id="org.eclipse.osgi"/>\r
-      <plugin id="org.eclipse.swt"/>\r
-      <plugin id="org.eclipse.swt.win32.win32.x86" fragment="true"/>\r
-      <plugin id="org.eclipse.text"/>\r
-      <plugin id="org.eclipse.ui"/>\r
-      <plugin id="org.eclipse.ui.forms"/>\r
-      <plugin id="org.eclipse.ui.workbench"/>\r
-   </plugins>\r
-\r
-</product>\r
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/icons/a_no_bg.gif b/eclipseprojects/eu.etaxonomy.taxeditor/icons/a_no_bg.gif
deleted file mode 100644 (file)
index 2f54262..0000000
Binary files a/eclipseprojects/eu.etaxonomy.taxeditor/icons/a_no_bg.gif and /dev/null differ
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/icons/add.gif b/eclipseprojects/eu.etaxonomy.taxeditor/icons/add.gif
deleted file mode 100644 (file)
index 29c2aee..0000000
Binary files a/eclipseprojects/eu.etaxonomy.taxeditor/icons/add.gif and /dev/null differ
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/icons/add_edit.gif b/eclipseprojects/eu.etaxonomy.taxeditor/icons/add_edit.gif
deleted file mode 100644 (file)
index 252d7eb..0000000
Binary files a/eclipseprojects/eu.etaxonomy.taxeditor/icons/add_edit.gif and /dev/null differ
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/icons/add_no_bg.gif b/eclipseprojects/eu.etaxonomy.taxeditor/icons/add_no_bg.gif
deleted file mode 100644 (file)
index 0dd4eab..0000000
Binary files a/eclipseprojects/eu.etaxonomy.taxeditor/icons/add_no_bg.gif and /dev/null differ
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/icons/add_no_bg2.gif b/eclipseprojects/eu.etaxonomy.taxeditor/icons/add_no_bg2.gif
deleted file mode 100644 (file)
index dfbf68f..0000000
Binary files a/eclipseprojects/eu.etaxonomy.taxeditor/icons/add_no_bg2.gif and /dev/null differ
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/icons/alt_window_16.gif b/eclipseprojects/eu.etaxonomy.taxeditor/icons/alt_window_16.gif
deleted file mode 100644 (file)
index 05626b1..0000000
Binary files a/eclipseprojects/eu.etaxonomy.taxeditor/icons/alt_window_16.gif and /dev/null differ
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/icons/alt_window_32.gif b/eclipseprojects/eu.etaxonomy.taxeditor/icons/alt_window_32.gif
deleted file mode 100644 (file)
index b432f88..0000000
Binary files a/eclipseprojects/eu.etaxonomy.taxeditor/icons/alt_window_32.gif and /dev/null differ
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/icons/basionym.gif b/eclipseprojects/eu.etaxonomy.taxeditor/icons/basionym.gif
deleted file mode 100644 (file)
index 2780f44..0000000
Binary files a/eclipseprojects/eu.etaxonomy.taxeditor/icons/basionym.gif and /dev/null differ
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/icons/basionym_no_bg.gif b/eclipseprojects/eu.etaxonomy.taxeditor/icons/basionym_no_bg.gif
deleted file mode 100644 (file)
index 8c3d54b..0000000
Binary files a/eclipseprojects/eu.etaxonomy.taxeditor/icons/basionym_no_bg.gif and /dev/null differ
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/icons/change.gif b/eclipseprojects/eu.etaxonomy.taxeditor/icons/change.gif
deleted file mode 100644 (file)
index d79c444..0000000
Binary files a/eclipseprojects/eu.etaxonomy.taxeditor/icons/change.gif and /dev/null differ
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/icons/concept.gif b/eclipseprojects/eu.etaxonomy.taxeditor/icons/concept.gif
deleted file mode 100644 (file)
index 445cd44..0000000
Binary files a/eclipseprojects/eu.etaxonomy.taxeditor/icons/concept.gif and /dev/null differ
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/icons/concept_no_bg.gif b/eclipseprojects/eu.etaxonomy.taxeditor/icons/concept_no_bg.gif
deleted file mode 100644 (file)
index 362c109..0000000
Binary files a/eclipseprojects/eu.etaxonomy.taxeditor/icons/concept_no_bg.gif and /dev/null differ
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/icons/correction_change.gif b/eclipseprojects/eu.etaxonomy.taxeditor/icons/correction_change.gif
deleted file mode 100644 (file)
index 068e18d..0000000
Binary files a/eclipseprojects/eu.etaxonomy.taxeditor/icons/correction_change.gif and /dev/null differ
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/icons/db.gif b/eclipseprojects/eu.etaxonomy.taxeditor/icons/db.gif
deleted file mode 100644 (file)
index 1f3b8db..0000000
Binary files a/eclipseprojects/eu.etaxonomy.taxeditor/icons/db.gif and /dev/null differ
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/icons/delete.gif b/eclipseprojects/eu.etaxonomy.taxeditor/icons/delete.gif
deleted file mode 100644 (file)
index 559e462..0000000
Binary files a/eclipseprojects/eu.etaxonomy.taxeditor/icons/delete.gif and /dev/null differ
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/icons/delete_edit.gif b/eclipseprojects/eu.etaxonomy.taxeditor/icons/delete_edit.gif
deleted file mode 100644 (file)
index b6922ac..0000000
Binary files a/eclipseprojects/eu.etaxonomy.taxeditor/icons/delete_edit.gif and /dev/null differ
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/icons/edit_16x16.gif b/eclipseprojects/eu.etaxonomy.taxeditor/icons/edit_16x16.gif
deleted file mode 100644 (file)
index d857c6c..0000000
Binary files a/eclipseprojects/eu.etaxonomy.taxeditor/icons/edit_16x16.gif and /dev/null differ
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/icons/edit_16x16.ico b/eclipseprojects/eu.etaxonomy.taxeditor/icons/edit_16x16.ico
deleted file mode 100644 (file)
index d4b6c2b..0000000
Binary files a/eclipseprojects/eu.etaxonomy.taxeditor/icons/edit_16x16.ico and /dev/null differ
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/icons/heterosyn.gif b/eclipseprojects/eu.etaxonomy.taxeditor/icons/heterosyn.gif
deleted file mode 100644 (file)
index ebab24c..0000000
Binary files a/eclipseprojects/eu.etaxonomy.taxeditor/icons/heterosyn.gif and /dev/null differ
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/icons/heterosyn_no_bg.gif b/eclipseprojects/eu.etaxonomy.taxeditor/icons/heterosyn_no_bg.gif
deleted file mode 100644 (file)
index 02a6d38..0000000
Binary files a/eclipseprojects/eu.etaxonomy.taxeditor/icons/heterosyn_no_bg.gif and /dev/null differ
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/icons/homonym.gif b/eclipseprojects/eu.etaxonomy.taxeditor/icons/homonym.gif
deleted file mode 100644 (file)
index abaf009..0000000
Binary files a/eclipseprojects/eu.etaxonomy.taxeditor/icons/homonym.gif and /dev/null differ
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/icons/homonym_no_bg.gif b/eclipseprojects/eu.etaxonomy.taxeditor/icons/homonym_no_bg.gif
deleted file mode 100644 (file)
index 05b399a..0000000
Binary files a/eclipseprojects/eu.etaxonomy.taxeditor/icons/homonym_no_bg.gif and /dev/null differ
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/icons/homosyn.gif b/eclipseprojects/eu.etaxonomy.taxeditor/icons/homosyn.gif
deleted file mode 100644 (file)
index 143c881..0000000
Binary files a/eclipseprojects/eu.etaxonomy.taxeditor/icons/homosyn.gif and /dev/null differ
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/icons/homosyn_no_bg.gif b/eclipseprojects/eu.etaxonomy.taxeditor/icons/homosyn_no_bg.gif
deleted file mode 100644 (file)
index 19575f7..0000000
Binary files a/eclipseprojects/eu.etaxonomy.taxeditor/icons/homosyn_no_bg.gif and /dev/null differ
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/icons/impl_co.gif b/eclipseprojects/eu.etaxonomy.taxeditor/icons/impl_co.gif
deleted file mode 100644 (file)
index 98d914a..0000000
Binary files a/eclipseprojects/eu.etaxonomy.taxeditor/icons/impl_co.gif and /dev/null differ
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/icons/misapplied.gif b/eclipseprojects/eu.etaxonomy.taxeditor/icons/misapplied.gif
deleted file mode 100644 (file)
index 18fba08..0000000
Binary files a/eclipseprojects/eu.etaxonomy.taxeditor/icons/misapplied.gif and /dev/null differ
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/icons/misapplied_no_bg.gif b/eclipseprojects/eu.etaxonomy.taxeditor/icons/misapplied_no_bg.gif
deleted file mode 100644 (file)
index dca3ff0..0000000
Binary files a/eclipseprojects/eu.etaxonomy.taxeditor/icons/misapplied_no_bg.gif and /dev/null differ
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/icons/move.gif b/eclipseprojects/eu.etaxonomy.taxeditor/icons/move.gif
deleted file mode 100644 (file)
index f43e9b9..0000000
Binary files a/eclipseprojects/eu.etaxonomy.taxeditor/icons/move.gif and /dev/null differ
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/icons/move_no_bg.gif b/eclipseprojects/eu.etaxonomy.taxeditor/icons/move_no_bg.gif
deleted file mode 100644 (file)
index 2f2a3f0..0000000
Binary files a/eclipseprojects/eu.etaxonomy.taxeditor/icons/move_no_bg.gif and /dev/null differ
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/icons/orthovariant.gif b/eclipseprojects/eu.etaxonomy.taxeditor/icons/orthovariant.gif
deleted file mode 100644 (file)
index 14ade2f..0000000
Binary files a/eclipseprojects/eu.etaxonomy.taxeditor/icons/orthovariant.gif and /dev/null differ
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/icons/orthovariant_no_bg.gif b/eclipseprojects/eu.etaxonomy.taxeditor/icons/orthovariant_no_bg.gif
deleted file mode 100644 (file)
index caf5430..0000000
Binary files a/eclipseprojects/eu.etaxonomy.taxeditor/icons/orthovariant_no_bg.gif and /dev/null differ
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/icons/rel_no_bg.gif b/eclipseprojects/eu.etaxonomy.taxeditor/icons/rel_no_bg.gif
deleted file mode 100644 (file)
index 77f03e7..0000000
Binary files a/eclipseprojects/eu.etaxonomy.taxeditor/icons/rel_no_bg.gif and /dev/null differ
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/icons/repsyn.gif b/eclipseprojects/eu.etaxonomy.taxeditor/icons/repsyn.gif
deleted file mode 100644 (file)
index 1b627ce..0000000
Binary files a/eclipseprojects/eu.etaxonomy.taxeditor/icons/repsyn.gif and /dev/null differ
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/icons/repsyn_no_bg.gif b/eclipseprojects/eu.etaxonomy.taxeditor/icons/repsyn_no_bg.gif
deleted file mode 100644 (file)
index f2370b4..0000000
Binary files a/eclipseprojects/eu.etaxonomy.taxeditor/icons/repsyn_no_bg.gif and /dev/null differ
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/icons/save.gif b/eclipseprojects/eu.etaxonomy.taxeditor/icons/save.gif
deleted file mode 100644 (file)
index ad505a9..0000000
Binary files a/eclipseprojects/eu.etaxonomy.taxeditor/icons/save.gif and /dev/null differ
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/icons/save_edit.gif b/eclipseprojects/eu.etaxonomy.taxeditor/icons/save_edit.gif
deleted file mode 100644 (file)
index 499dd0c..0000000
Binary files a/eclipseprojects/eu.etaxonomy.taxeditor/icons/save_edit.gif and /dev/null differ
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/icons/text.gif b/eclipseprojects/eu.etaxonomy.taxeditor/icons/text.gif
deleted file mode 100644 (file)
index 9312d7e..0000000
Binary files a/eclipseprojects/eu.etaxonomy.taxeditor/icons/text.gif and /dev/null differ
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/icons/undo.gif b/eclipseprojects/eu.etaxonomy.taxeditor/icons/undo.gif
deleted file mode 100644 (file)
index 3aeba19..0000000
Binary files a/eclipseprojects/eu.etaxonomy.taxeditor/icons/undo.gif and /dev/null differ
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/icons/unknown.gif b/eclipseprojects/eu.etaxonomy.taxeditor/icons/unknown.gif
deleted file mode 100644 (file)
index 8c58c52..0000000
Binary files a/eclipseprojects/eu.etaxonomy.taxeditor/icons/unknown.gif and /dev/null differ
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/icons/unknown_no_bg.gif b/eclipseprojects/eu.etaxonomy.taxeditor/icons/unknown_no_bg.gif
deleted file mode 100644 (file)
index a6a784b..0000000
Binary files a/eclipseprojects/eu.etaxonomy.taxeditor/icons/unknown_no_bg.gif and /dev/null differ
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/icons/warn_tsk.gif b/eclipseprojects/eu.etaxonomy.taxeditor/icons/warn_tsk.gif
deleted file mode 100644 (file)
index 14009e9..0000000
Binary files a/eclipseprojects/eu.etaxonomy.taxeditor/icons/warn_tsk.gif and /dev/null differ
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/plugin.xml b/eclipseprojects/eu.etaxonomy.taxeditor/plugin.xml
deleted file mode 100644 (file)
index 7c34306..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<?eclipse version="3.2"?>\r
-<plugin>\r
-\r
-   <extension\r
-         id="application"\r
-         point="org.eclipse.core.runtime.applications">\r
-      <application>\r
-         <run\r
-               class="eu.etaxonomy.taxeditor.Application">\r
-         </run>\r
-      </application>\r
-   </extension>\r
-   <extension\r
-         point="org.eclipse.ui.perspectives">\r
-      <perspective\r
-            class="eu.etaxonomy.taxeditor.Perspective"\r
-            fixed="false"\r
-            id="eu.etaxonomy.taxeditor.taxonperspective"\r
-            name="Perspective">\r
-      </perspective>\r
-   </extension>\r
-   <extension\r
-         point="org.eclipse.ui.views">\r
-      <view\r
-            class="eu.etaxonomy.taxeditor.view.NameListView"\r
-            icon="icons/edit_16x16.gif"\r
-            id="eu.etaxonomy.taxeditor.prototype2.view.namelistview"\r
-            name="Name List View">\r
-      </view>\r
-      <view\r
-            class="eu.etaxonomy.taxeditor.view.UndoView"\r
-            icon="icons/text.gif"\r
-            id="eu.etaxonomy.taxeditor.prototype2.view.undoview"\r
-            name="Recent Actions">\r
-      </view>\r
-   </extension>\r
-   <extension\r
-         point="org.eclipse.ui.editors">\r
-      <editor\r
-            class="eu.etaxonomy.taxeditor.view.MultiPageTaxonView"\r
-            icon="icons/edit_16x16.gif"\r
-            id="eu.etaxonomy.taxeditor.prototype2.view.multipagetaxonview"\r
-            name="Multipart Test">\r
-      </editor>\r
-      <editor\r
-            class="eu.etaxonomy.taxeditor.view.NameEditorView"\r
-            icon="icons/edit_16x16.gif"\r
-            id="eu.etaxonomy.taxeditor.prototype2.view.nameeditorview"\r
-            name="New EditorPart">\r
-      </editor>\r
-      <editor\r
-            class="eu.etaxonomy.taxeditor.view.EmptyEditorView"\r
-            id="eu.etaxonomy.taxeditor.prototype2.view.EmptyEditorView"\r
-            name="New EditorPart">\r
-      </editor>\r
-   </extension>\r
-   <extension\r
-         id="product"\r
-         point="org.eclipse.core.runtime.products">\r
-      <product\r
-            application="eu.etaxonomy.taxeditor.application"\r
-            name="EDIT Taxonomic Editor">\r
-         <property\r
-               name="appName"\r
-               value="EDIT Taxonomic Editor - Prototype 2">\r
-         </property>\r
-         <property\r
-               name="aboutImage"\r
-               value="icons/edit_16x16.gif">\r
-         </property>\r
-         <property\r
-               name="aboutText"\r
-               value="Thanks for all the laughs!">\r
-         </property>\r
-         <property\r
-               name="windowImages"\r
-               value="icons/edit_16x16.gif">\r
-         </property>\r
-      </product>\r
-   </extension>\r
-\r
-</plugin>\r
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/splash.bmp b/eclipseprojects/eu.etaxonomy.taxeditor/splash.bmp
deleted file mode 100644 (file)
index 74c1225..0000000
Binary files a/eclipseprojects/eu.etaxonomy.taxeditor/splash.bmp and /dev/null differ
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/com/swtdesigner/ResourceManager.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/com/swtdesigner/ResourceManager.java
deleted file mode 100644 (file)
index b8480f6..0000000
+++ /dev/null
@@ -1,254 +0,0 @@
-package com.swtdesigner;
-import java.io.File;
-import java.io.InputStream;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Method;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Iterator;
-
-import org.eclipse.jface.resource.CompositeImageDescriptor;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.*;
-
-/**
- * Utility class for managing OS resources associated with SWT/JFace controls such as
- * colors, fonts, images, etc.
- * 
- * !!! IMPORTANT !!! Application code must explicitly invoke the <code>dispose()</code>
- * method to release the operating system resources managed by cached objects
- * when those objects and OS resources are no longer needed (e.g. on
- * application shutdown)
- * 
- * This class may be freely distributed as part of any application or plugin.
- * <p>
- * Copyright (c) 2003 - 2005, Instantiations, Inc. <br>All Rights Reserved
- * 
- * @author scheglov_ke
- * @author Dan Rubel
- */
-public class ResourceManager extends SWTResourceManager {
-
-    /**
-     * Dispose of cached objects and their underlying OS resources. This should
-     * only be called when the cached objects are no longer needed (e.g. on
-     * application shutdown)
-     */
-    public static void dispose() {
-        disposeColors();
-        disposeFonts();
-        disposeImages();
-        disposeCursors();
-    }
-
-    //////////////////////////////
-    // Image support
-    //////////////////////////////
-
-       /**
-        * Maps image descriptors to images
-        */
-    private static HashMap<ImageDescriptor, Image> m_DescriptorImageMap = new HashMap<ImageDescriptor, Image>();
-
-       /**
-        * Maps images to image decorators
-        */
-    private static HashMap<Image, HashMap<Image, Image>> m_ImageToDecoratorMap = new HashMap<Image, HashMap<Image, Image>>();
-    
-    /**
-     * Returns an image descriptor stored in the file at the specified path relative to the specified class
-     * @param clazz Class The class relative to which to find the image descriptor
-     * @param path String The path to the image file
-     * @return ImageDescriptor The image descriptor stored in the file at the specified path
-     */
-    public static ImageDescriptor getImageDescriptor(Class<?> clazz, String path) {
-        return ImageDescriptor.createFromFile(clazz, path);
-    }
-
-    /**
-     * Returns an image descriptor stored in the file at the specified path
-     * @param path String The path to the image file
-     * @return ImageDescriptor The image descriptor stored in the file at the specified path
-     */
-    public static ImageDescriptor getImageDescriptor(String path) {
-        try {
-            return ImageDescriptor.createFromURL((new File(path)).toURI().toURL());
-        } catch (MalformedURLException e) {
-            return null;
-        }
-    }
-
-    /**
-     * Returns an image based on the specified image descriptor
-     * @param descriptor ImageDescriptor The image descriptor for the image
-     * @return Image The image based on the specified image descriptor
-     */
-    public static Image getImage(ImageDescriptor descriptor) {
-        if (descriptor == null)
-            return null;
-        Image image = m_DescriptorImageMap.get(descriptor);
-        if (image == null) {
-            image = descriptor.createImage();
-            m_DescriptorImageMap.put(descriptor, image);
-        }
-        return image;
-    }
-
-    /**
-        * Returns an image composed of a base image decorated by another image
-        * @param baseImage Image The base image that should be decorated
-        * @param decorator Image The image to decorate the base image
-        * @param corner The corner to place decorator image
-        * @return Image The resulting decorated image
-        */
-       public static Image decorateImage(final Image baseImage, final Image decorator, final int corner) {
-               HashMap<Image, Image> decoratedMap = m_ImageToDecoratorMap.get(baseImage);
-               if (decoratedMap == null) {
-                       decoratedMap = new HashMap<Image, Image>();
-                       m_ImageToDecoratorMap.put(baseImage, decoratedMap);
-               }
-               Image result = decoratedMap.get(decorator);
-               if (result == null) {
-                       final Rectangle bid = baseImage.getBounds();
-                       final Rectangle did = decorator.getBounds();
-            final Point baseImageSize = new Point(bid.width, bid.height); 
-            CompositeImageDescriptor compositImageDesc = new CompositeImageDescriptor() { 
-                protected void drawCompositeImage(int width, int height) { 
-                    drawImage(baseImage.getImageData(), 0, 0); 
-                    if (corner == TOP_LEFT) { 
-                        drawImage(decorator.getImageData(), 0, 0); 
-                    } else if (corner == TOP_RIGHT) { 
-                        drawImage(decorator.getImageData(), bid.width - did.width - 1, 0); 
-                    } else if (corner == BOTTOM_LEFT) { 
-                        drawImage(decorator.getImageData(), 0, bid.height - did.height - 1); 
-                    } else if (corner == BOTTOM_RIGHT) { 
-                        drawImage(decorator.getImageData(), bid.width - did.width - 1, bid.height - did.height - 1); 
-                    } 
-                } 
-                protected Point getSize() { 
-                    return baseImageSize; 
-                } 
-            }; 
-            result = compositImageDesc.createImage(); 
-                       decoratedMap.put(decorator, result);
-               }
-               return result;
-       }
-
-    /**
-     * Dispose all of the cached images
-     */
-    public static void disposeImages() {
-       SWTResourceManager.disposeImages();
-       //
-        for (Iterator<Image> I = m_DescriptorImageMap.values().iterator(); I.hasNext();)
-             I.next().dispose();
-        m_DescriptorImageMap.clear();
-    }
-
-    //////////////////////////////
-    // Plugin images support
-    //////////////////////////////
-
-    /**
-     * Maps URL to images
-     */
-    private static HashMap<URL, Image> m_URLImageMap = new HashMap<URL, Image>();
-
-    /**
-     * Retuns an image based on a plugin and file path
-     * @param plugin Object The plugin containing the image
-     * @param name String The path to th eimage within the plugin
-     * @return Image The image stored in the file at the specified path
-     */
-    public static Image getPluginImage(Object plugin, String name) {
-        try {
-            try {
-                URL url = getPluginImageURL(plugin, name);
-                if (m_URLImageMap.containsKey(url))
-                    return m_URLImageMap.get(url);
-                InputStream is = url.openStream();
-                Image image;
-                try {
-                    image = getImage(is);
-                    m_URLImageMap.put(url, image);
-                } finally {
-                    is.close();
-                }
-                return image;
-            } catch (Throwable e) {
-               // Ignore any exceptions
-            }
-        } catch (Throwable e) {
-               // Ignore any exceptions
-        }
-        return null;
-    }
-
-    /**
-     * Retuns an image descriptor based on a plugin and file path
-     * @param plugin Object The plugin containing the image
-     * @param name String The path to th eimage within the plugin
-     * @return ImageDescriptor The image descriptor stored in the file at the specified path
-     */
-    public static ImageDescriptor getPluginImageDescriptor(Object plugin, String name) {
-        try {
-            try {
-                URL url = getPluginImageURL(plugin, name);
-                return ImageDescriptor.createFromURL(url);
-            } catch (Throwable e) {
-               // Ignore any exceptions
-            }
-        } catch (Throwable e) {
-               // Ignore any exceptions
-        }
-        return null;
-    }
-
-    /**
-     * Retuns an URL based on a plugin and file path
-     * @param plugin Object The plugin containing the file path
-     * @param name String The file path
-     * @return URL The URL representing the file at the specified path
-     * @throws Exception
-     */
-       @SuppressWarnings("unchecked") //$NON-NLS-1$
-       private static URL getPluginImageURL(Object plugin, String name) throws Exception {
-               // try to work with 'plugin' as with OSGI BundleContext
-               try {
-                       Class bundleClass = Class.forName("org.osgi.framework.Bundle"); //$NON-NLS-1$
-                       Class bundleContextClass = Class.forName("org.osgi.framework.BundleContext"); //$NON-NLS-1$
-                       if (bundleContextClass.isAssignableFrom(plugin.getClass())) {
-                               Method getBundleMethod = bundleContextClass.getMethod("getBundle", new Class[]{}); //$NON-NLS-1$
-                               Object bundle = getBundleMethod.invoke(plugin, new Object[]{});
-                               //
-                               Class ipathClass = Class.forName("org.eclipse.core.runtime.IPath"); //$NON-NLS-1$
-                               Class pathClass = Class.forName("org.eclipse.core.runtime.Path"); //$NON-NLS-1$
-                               Constructor pathConstructor = pathClass.getConstructor(new Class[]{String.class});
-                               Object path = pathConstructor.newInstance(new Object[]{name});
-                               //
-                               Class platformClass = Class.forName("org.eclipse.core.runtime.Platform"); //$NON-NLS-1$
-                               Method findMethod = platformClass.getMethod("find", new Class[]{bundleClass, ipathClass}); //$NON-NLS-1$
-                               return (URL) findMethod.invoke(null, new Object[]{bundle, path});
-                       }
-               } catch (Throwable e) {
-               // Ignore any exceptions
-               }
-               // else work with 'plugin' as with usual Eclipse plugin
-               {
-                       Class pluginClass = Class.forName("org.eclipse.core.runtime.Plugin"); //$NON-NLS-1$
-                       if (pluginClass.isAssignableFrom(plugin.getClass())) {
-                               //
-                               Class ipathClass = Class.forName("org.eclipse.core.runtime.IPath"); //$NON-NLS-1$
-                               Class pathClass = Class.forName("org.eclipse.core.runtime.Path"); //$NON-NLS-1$
-                               Constructor pathConstructor = pathClass.getConstructor(new Class[]{String.class});
-                               Object path = pathConstructor.newInstance(new Object[]{name});
-                               //
-                               Method findMethod = pluginClass.getMethod("find", new Class[]{ipathClass}); //$NON-NLS-1$
-                               return (URL) findMethod.invoke(plugin, new Object[]{path});
-                       }
-               }
-               return null;
-       }
-}
\ No newline at end of file
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/com/swtdesigner/SWTResourceManager.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/com/swtdesigner/SWTResourceManager.java
deleted file mode 100644 (file)
index f0b8891..0000000
+++ /dev/null
@@ -1,455 +0,0 @@
-package com.swtdesigner;
-import java.io.BufferedInputStream;
-import java.io.FileInputStream;
-import java.io.InputStream;
-import java.util.HashMap;
-import java.util.Iterator;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Cursor;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Canvas;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.CoolBar;
-import org.eclipse.swt.widgets.CoolItem;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * Utility class for managing OS resources associated with SWT controls such as
- * colors, fonts, images, etc.
- * 
- * !!! IMPORTANT !!! Application code must explicitly invoke the <code>dispose()</code>
- * method to release the operating system resources managed by cached objects
- * when those objects and OS resources are no longer needed (e.g. on
- * application shutdown)
- * 
- * This class may be freely distributed as part of any application or plugin.
- * <p>
- * Copyright (c) 2003 - 2005, Instantiations, Inc. <br>All Rights Reserved
- * 
- * @author scheglov_ke
- * @author Dan Rubel
- */
-public class SWTResourceManager {
-
-    /**
-     * Dispose of cached objects and their underlying OS resources. This should
-     * only be called when the cached objects are no longer needed (e.g. on
-     * application shutdown)
-     */
-    public static void dispose() {
-        disposeColors();
-        disposeFonts();
-        disposeImages();
-        disposeCursors();
-    }
-
-    //////////////////////////////
-    // Color support
-    //////////////////////////////
-
-    /**
-     * Maps RGB values to colors
-     */
-    private static HashMap<RGB, Color> m_ColorMap = new HashMap<RGB, Color>();
-
-    /**
-     * Returns the system color matching the specific ID
-     * @param systemColorID int The ID value for the color
-     * @return Color The system color matching the specific ID
-     */
-    public static Color getColor(int systemColorID) {
-        Display display = Display.getCurrent();
-        return display.getSystemColor(systemColorID);
-    }
-
-    /**
-     * Returns a color given its red, green and blue component values
-     * @param r int The red component of the color
-     * @param g int The green component of the color
-     * @param b int The blue component of the color
-     * @return Color The color matching the given red, green and blue componet values
-     */
-    public static Color getColor(int r, int g, int b) {
-        return getColor(new RGB(r, g, b));
-    }
-
-    /**
-     * Returns a color given its RGB value
-     * @param rgb RGB The RGB value of the color
-     * @return Color The color matching the RGB value
-     */
-    public static Color getColor(RGB rgb) {
-        Color color = m_ColorMap.get(rgb);
-        if (color == null) {
-            Display display = Display.getCurrent();
-            color = new Color(display, rgb);
-            m_ColorMap.put(rgb, color);
-        }
-        return color;
-    }
-
-    /**
-     * Dispose of all the cached colors
-     */
-    public static void disposeColors() {
-        for (Iterator<Color> iter = m_ColorMap.values().iterator(); iter.hasNext();)
-             iter.next().dispose();
-        m_ColorMap.clear();
-    }
-
-    //////////////////////////////
-    // Image support
-    //////////////////////////////
-
-       /**
-        * Maps image names to images
-        */
-    private static HashMap<String, Image> m_ClassImageMap = new HashMap<String, Image>();
-
-       /**
-        * Maps images to image decorators
-        */
-    private static HashMap<Image, HashMap<Image, Image>> m_ImageToDecoratorMap = new HashMap<Image, HashMap<Image, Image>>();
-
-    /**
-     * Returns an image encoded by the specified input stream
-     * @param is InputStream The input stream encoding the image data
-     * @return Image The image encoded by the specified input stream
-     */
-    protected static Image getImage(InputStream is) {
-        Display display = Display.getCurrent();
-        ImageData data = new ImageData(is);
-        if (data.transparentPixel > 0)
-            return new Image(display, data, data.getTransparencyMask());
-        return new Image(display, data);
-    }
-
-    /**
-     * Returns an image stored in the file at the specified path
-     * @param path String The path to the image file
-     * @return Image The image stored in the file at the specified path
-     */
-    public static Image getImage(String path) {
-       return getImage("default", path); //$NON-NLS-1$
-    }
-
-    /**
-     * Returns an image stored in the file at the specified path
-     * @param section The section to which belongs specified image
-     * @param path String The path to the image file
-     * @return Image The image stored in the file at the specified path
-     */
-    public static Image getImage(String section, String path) {
-        String key = section + '|' + SWTResourceManager.class.getName() + '|' + path;
-        Image image = m_ClassImageMap.get(key);
-        if (image == null) {
-            try {
-                FileInputStream fis = new FileInputStream(path);
-                image = getImage(fis);
-                m_ClassImageMap.put(key, image);
-                fis.close();
-            } catch (Exception e) {
-               image = getMissingImage();
-               m_ClassImageMap.put(key, image);
-            }
-        }
-        return image;
-    }
-
-    /**
-     * Returns an image stored in the file at the specified path relative to the specified class
-     * @param clazz Class The class relative to which to find the image
-     * @param path String The path to the image file
-     * @return Image The image stored in the file at the specified path
-     */
-    public static Image getImage(Class<?> clazz, String path) {
-        String key = clazz.getName() + '|' + path;
-        Image image = m_ClassImageMap.get(key);
-        if (image == null) {
-               try {
-                       if (path.length() > 0 && path.charAt(0) == '/') {
-                               String newPath = path.substring(1, path.length());
-                               image = getImage(new BufferedInputStream(clazz.getClassLoader().getResourceAsStream(newPath)));
-                       } else {
-                               image = getImage(clazz.getResourceAsStream(path));
-                       }
-                       m_ClassImageMap.put(key, image);
-               } catch (Exception e) {
-                       image = getMissingImage();
-                       m_ClassImageMap.put(key, image);
-               }
-        }
-        return image;
-    }
-
-    private static final int MISSING_IMAGE_SIZE = 10;
-       private static Image getMissingImage() {
-               Image image = new Image(Display.getCurrent(), MISSING_IMAGE_SIZE, MISSING_IMAGE_SIZE);
-               //
-               GC gc = new GC(image);
-               gc.setBackground(getColor(SWT.COLOR_RED));
-               gc.fillRectangle(0, 0, MISSING_IMAGE_SIZE, MISSING_IMAGE_SIZE);
-               gc.dispose();
-               //
-               return image;
-       }
-
-    /**
-     * Style constant for placing decorator image in top left corner of base image.
-     */
-    public static final int TOP_LEFT = 1;
-    /**
-     * Style constant for placing decorator image in top right corner of base image.
-     */
-    public static final int TOP_RIGHT = 2;
-    /**
-     * Style constant for placing decorator image in bottom left corner of base image.
-     */
-    public static final int BOTTOM_LEFT = 3;
-    /**
-     * Style constant for placing decorator image in bottom right corner of base image.
-     */
-    public static final int BOTTOM_RIGHT = 4;
-    
-    /**
-     * Returns an image composed of a base image decorated by another image
-     * @param baseImage Image The base image that should be decorated
-     * @param decorator Image The image to decorate the base image
-     * @return Image The resulting decorated image
-     */
-    public static Image decorateImage(Image baseImage, Image decorator) {
-       return decorateImage(baseImage, decorator, BOTTOM_RIGHT);
-    }
-    
-    /**
-        * Returns an image composed of a base image decorated by another image
-        * @param baseImage Image The base image that should be decorated
-        * @param decorator Image The image to decorate the base image
-        * @param corner The corner to place decorator image
-        * @return Image The resulting decorated image
-        */
-       public static Image decorateImage(final Image baseImage, final Image decorator, final int corner) {
-               HashMap<Image, Image> decoratedMap = m_ImageToDecoratorMap.get(baseImage);
-               if (decoratedMap == null) {
-                       decoratedMap = new HashMap<Image, Image>();
-                       m_ImageToDecoratorMap.put(baseImage, decoratedMap);
-               }
-               Image result = decoratedMap.get(decorator);
-               if (result == null) {
-                       Rectangle bid = baseImage.getBounds();
-                       Rectangle did = decorator.getBounds();
-                       result = new Image(Display.getCurrent(), bid.width, bid.height);
-                       GC gc = new GC(result);
-                       gc.drawImage(baseImage, 0, 0);
-                       //
-                       if (corner == TOP_LEFT) {
-                               gc.drawImage(decorator, 0, 0);
-                       } else if (corner == TOP_RIGHT) {
-                               gc.drawImage(decorator, bid.width - did.width - 1, 0);
-                       } else if (corner == BOTTOM_LEFT) {
-                               gc.drawImage(decorator, 0, bid.height - did.height - 1);
-                       } else if (corner == BOTTOM_RIGHT) {
-                               gc.drawImage(decorator, bid.width - did.width - 1, bid.height - did.height - 1);
-                       }
-                       //
-                       gc.dispose();
-                       decoratedMap.put(decorator, result);
-               }
-               return result;
-       }
-
-    /**
-     * Dispose all of the cached images
-     */
-    public static void disposeImages() {
-        for (Iterator<Image> I = m_ClassImageMap.values().iterator(); I.hasNext();)
-             I.next().dispose();
-        m_ClassImageMap.clear();
-        //
-        for (Iterator<HashMap<Image, Image>> I = m_ImageToDecoratorMap.values().iterator(); I.hasNext();) {
-                       HashMap<Image, Image> decoratedMap = I.next();
-                       for (Iterator<Image> J = decoratedMap.values().iterator(); J.hasNext();) {
-                               Image image = J.next();
-                               image.dispose();
-                       }
-               }
-    }
-
-    /**
-        * Dispose cached images in specified section
-        * @param section the section do dispose
-        */
-       public static void disposeImages(String section) {
-               for (Iterator<String> I = m_ClassImageMap.keySet().iterator(); I.hasNext();) {
-                       String key = I.next();
-                       if (!key.startsWith(section + '|'))
-                               continue;
-                       Image image = m_ClassImageMap.get(key);
-                       image.dispose();
-                       I.remove();
-               }
-       }
-
-    //////////////////////////////
-    // Font support
-    //////////////////////////////
-
-    /**
-     * Maps font names to fonts
-     */
-    private static HashMap<String, Font> m_FontMap = new HashMap<String, Font>();
-
-    /**
-     * Maps fonts to their bold versions
-     */
-    private static HashMap<Font, Font> m_FontToBoldFontMap = new HashMap<Font, Font>();
-
-    /**
-     * Returns a font based on its name, height and style
-     * @param name String The name of the font
-     * @param height int The height of the font
-     * @param style int The style of the font
-     * @return Font The font matching the name, height and style
-     */
-    public static Font getFont(String name, int height, int style) {
-       return getFont(name, height, style, false, false);
-    }
-
-
-    /**
-     * Returns a font based on its name, height and style. 
-     * Windows-specific strikeout and underline flags are also supported.
-     * @param name String The name of the font
-     * @param size int The size of the font
-     * @param style int The style of the font
-     * @param strikeout boolean The strikeout flag (warning: Windows only)
-     * @param underline boolean The underline flag (warning: Windows only)
-     * @return Font The font matching the name, height, style, strikeout and underline
-     */
-       public static Font getFont(String name, int size, int style, boolean strikeout, boolean underline) {
-               String fontName = name + '|' + size + '|' + style + '|' + strikeout + '|' + underline;
-        Font font = m_FontMap.get(fontName);
-        if (font == null) {
-               FontData fontData = new FontData(name, size, style);
-               if (strikeout || underline) {
-                       try {
-                               Class<?> logFontClass = Class.forName("org.eclipse.swt.internal.win32.LOGFONT"); //$NON-NLS-1$
-                               Object logFont = FontData.class.getField("data").get(fontData); //$NON-NLS-1$
-                               if (logFont != null && logFontClass != null) {
-                                       if (strikeout) {
-                                                       logFontClass.getField("lfStrikeOut").set(logFont, new Byte((byte) 1)); //$NON-NLS-1$
-                                               }
-                                       if (underline) {
-                                                       logFontClass.getField("lfUnderline").set(logFont, new Byte((byte) 1)); //$NON-NLS-1$
-                                               }
-                               }
-                       } catch (Throwable e) {
-                               System.err.println(
-                                       "Unable to set underline or strikeout" + " (probably on a non-Windows platform). " + e); //$NON-NLS-1$ //$NON-NLS-2$
-                       }
-               }
-               font = new Font(Display.getCurrent(), fontData);
-               m_FontMap.put(fontName, font);
-        }
-               return font;
-       }
-    
-
-    /**
-     * Return a bold version of the give font
-     * @param baseFont Font The font for whoch a bold version is desired
-     * @return Font The bold version of the give font
-     */
-    public static Font getBoldFont(Font baseFont) {
-        Font font = m_FontToBoldFontMap.get(baseFont);
-        if (font == null) {
-            FontData fontDatas[] = baseFont.getFontData();
-            FontData data = fontDatas[0];
-            font = new Font(Display.getCurrent(), data.getName(), data.getHeight(), SWT.BOLD);
-            m_FontToBoldFontMap.put(baseFont, font);
-        }
-        return font;
-    }
-
-    /**
-     * Dispose all of the cached fonts
-     */
-    public static void disposeFonts() {
-        for (Iterator<Font> iter = m_FontMap.values().iterator(); iter.hasNext();)
-             iter.next().dispose();
-        m_FontMap.clear();
-    }
-
-       //////////////////////////////
-    // CoolBar support
-    //////////////////////////////
-
-    /**
-     * Fix the layout of the specified CoolBar
-     * @param bar CoolBar The CoolBar that shgoud be fixed
-     */
-    public static void fixCoolBarSize(CoolBar bar) {
-        CoolItem[] items = bar.getItems();
-        // ensure that each item has control (at least empty one)
-        for (int i = 0; i < items.length; i++) {
-            CoolItem item = items[i];
-            if (item.getControl() == null)
-                item.setControl(new Canvas(bar, SWT.NONE) {
-                @Override
-                               public Point computeSize(int wHint, int hHint, boolean changed) {
-                    return new Point(20, 20);
-                }
-            });
-        }
-        // compute size for each item
-        for (int i = 0; i < items.length; i++) {
-            CoolItem item = items[i];
-            Control control = item.getControl();
-            control.pack();
-            Point size = control.getSize();
-            item.setSize(item.computeSize(size.x, size.y));
-        }
-    }
-
-    //////////////////////////////
-    // Cursor support
-    //////////////////////////////
-
-    /**
-     * Maps IDs to cursors
-     */
-    private static HashMap<Integer, Cursor> m_IdToCursorMap = new HashMap<Integer, Cursor>();
-    /**
-     * Returns the system cursor matching the specific ID
-     * @param id int The ID value for the cursor
-     * @return Cursor The system cursor matching the specific ID
-     */
-    public static Cursor getCursor(int id) {
-        Integer key = new Integer(id);
-        Cursor cursor = m_IdToCursorMap.get(key);
-        if (cursor == null) {
-            cursor = new Cursor(Display.getDefault(), id);
-            m_IdToCursorMap.put(key, cursor);
-        }
-        return cursor;
-    }
-    /**
-     * Dispose all of the cached cursors
-     */
-    public static void disposeCursors() {
-        for (Iterator<Cursor> iter = m_IdToCursorMap.values().iterator(); iter.hasNext();)
-             iter.next().dispose();
-        m_IdToCursorMap.clear();
-    }
-}
\ No newline at end of file
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/Activator.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/Activator.java
deleted file mode 100644 (file)
index b762f8c..0000000
+++ /dev/null
@@ -1,151 +0,0 @@
-package eu.etaxonomy.taxeditor;\r
-\r
-import org.eclipse.core.databinding.observable.list.WritableList;\r
-import org.eclipse.core.databinding.observable.set.WritableSet;\r
-import org.eclipse.jface.resource.ImageDescriptor;\r
-import org.eclipse.swt.graphics.Image;\r
-import org.eclipse.ui.plugin.AbstractUIPlugin;\r
-import org.osgi.framework.BundleContext;\r
-\r
-import eu.etaxonomy.cdm.api.application.CdmApplicationController;\r
-import eu.etaxonomy.cdm.model.agent.Person;\r
-import eu.etaxonomy.cdm.model.name.BotanicalName;\r
-import eu.etaxonomy.cdm.model.name.Rank;\r
-import eu.etaxonomy.cdm.model.taxon.Taxon;\r
-\r
-\r
-/**\r
- * The activator class controls the plug-in life cycle\r
- */\r
-public class Activator extends AbstractUIPlugin {\r
-\r
-       /**\r
-        * The plug-in ID\r
-        */\r
-       public static final String PLUGIN_ID = "eu.etaxonomy.taxeditor.prototype2.activator";\r
-       /**\r
-        * The shared instance\r
-        */     \r
-       private static Activator plugin;\r
-       /**\r
-        * All CDM services are called via the application controller\r
-        */\r
-       private CdmApplicationController cdmApp = new CdmApplicationController();\r
-       /**\r
-        * The dataset of taxa for this session\r
-        */\r
-       private WritableList observableTaxonTreeList = null;\r
-       /**\r
-        * Keeps track of which taxa have been edited\r
-        */\r
-       private WritableList observableRecentNamesList = null;\r
-       public WritableSet observableSynonymSet = null;\r
-       /**\r
-        * The constructor\r
-        */\r
-       public Activator() {\r
-//             BotanicalName botName = new BotanicalName(Rank.GENUS());\r
-//             botName.setTitleCache("Hieracium L.");\r
-//             botName.setUninomial("Hieracium");\r
-//             botName.setCombinationAuthorTeam(new Person());\r
-//             botName.getCombinationAuthorTeam().setTitleCache("L.");\r
-//             Taxon genusTaxon = new Taxon();\r
-//             genusTaxon.setName(botName);\r
-//             genusTaxon.setSec(null);\r
-//                             \r
-//             BotanicalName botSpecies = new BotanicalName(Rank.SPECIES());\r
-//             botSpecies.setTitleCache("Hieracium asturianum Pau");\r
-//             botSpecies.setUninomial("Hieracium");\r
-//             botSpecies.setSpecificEpithet("asturianum");\r
-//             botSpecies.setCombinationAuthorTeam(new Person());\r
-//             botSpecies.getCombinationAuthorTeam().setTitleCache("Pau");\r
-//             Taxon childTaxon = new Taxon();\r
-//             childTaxon.setName(botSpecies);\r
-//             childTaxon.setSec(null);\r
-//             childTaxon.setTaxonomicParent(genusTaxon, null, null);\r
-//\r
-//             BotanicalName botSpecies2= new BotanicalName(Rank.SPECIES());\r
-//             botSpecies2.setTitleCache("Hieracium wolffii Zahn");\r
-//             botSpecies2.setUninomial("Hieracium");\r
-//             botSpecies2.setSpecificEpithet("wolffii");\r
-//             botSpecies2.setCombinationAuthorTeam(new Person());\r
-//             botSpecies2.getCombinationAuthorTeam().setTitleCache("Zahn");\r
-//             Taxon childTaxon2 = new Taxon();\r
-//             childTaxon2.setName(botSpecies2);\r
-//             childTaxon2.setSec(null);\r
-//             childTaxon2.setTaxonomicParent(genusTaxon, null, null);\r
-//             \r
-//             cdmApp.getTaxonService().saveTaxon(genusTaxon);\r
-//             \r
-//             System.exit(-1);                \r
-       }\r
-\r
-       /*\r
-        * (non-Javadoc)\r
-        * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)\r
-        */\r
-       public void start(BundleContext context) throws Exception {\r
-               super.start(context);\r
-               plugin = this;\r
-       }\r
-\r
-       /*\r
-        * (non-Javadoc)\r
-        * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)\r
-        */\r
-       public void stop(BundleContext context) throws Exception {\r
-               plugin = null;\r
-               super.stop(context);\r
-       }\r
-\r
-       /**\r
-        * Returns the shared instance\r
-        *\r
-        * @return the shared instance\r
-        */\r
-       public static Activator getDefault() {\r
-               return plugin;\r
-       }\r
-\r
-       /**\r
-        * Returns an image descriptor for the image file at the given\r
-        * plug-in relative path\r
-        *\r
-        * @param path the path\r
-        * @return the image descriptor\r
-        */\r
-       public static ImageDescriptor getImageDescriptor(String path) {\r
-               return imageDescriptorFromPlugin(PLUGIN_ID, path);\r
-       }\r
-       \r
-       \r
-       public Image getImage(String key) {\r
-               return getImageRegistry().get(key);\r
-       }\r
-\r
-       public CdmApplicationController getCdmApp() {\r
-               return cdmApp;\r
-       }\r
-\r
-       public WritableList getObservableTaxonTreeList() {\r
-               if (observableTaxonTreeList == null) {\r
-                       observableTaxonTreeList = new WritableList();\r
-                       observableTaxonTreeList.addAll(cdmApp.getTaxonService().getRootTaxa(null));\r
-               }\r
-               return observableTaxonTreeList;\r
-       }\r
-       \r
-       public WritableList getObservableRecentNamesList() {\r
-               if (observableRecentNamesList == null) {\r
-                       observableRecentNamesList = new WritableList();\r
-               }\r
-               return observableRecentNamesList;\r
-       }\r
-\r
-       public WritableSet getObservableSynonymSet() {\r
-               if (observableSynonymSet == null) {\r
-                       observableSynonymSet = new WritableSet();\r
-               }               \r
-               return observableSynonymSet;            \r
-       }\r
-}\r
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/Application.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/Application.java
deleted file mode 100644 (file)
index 96016ec..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-package eu.etaxonomy.taxeditor;
-
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * This class controls all aspects of the application's execution
- */
-public class Application implements IApplication {
-
-       /* (non-Javadoc)
-        * @see org.eclipse.equinox.app.IApplication#start(org.eclipse.equinox.app.IApplicationContext)
-        */
-       public Object start(IApplicationContext context) {
-               Display display = PlatformUI.createDisplay();
-               try {
-                       int returnCode = PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor());
-                       if (returnCode == PlatformUI.RETURN_RESTART) {
-                               return IApplication.EXIT_RESTART;
-                       }
-                       return IApplication.EXIT_OK;
-               } finally {
-                       display.dispose();
-               }
-       }
-
-       /* (non-Javadoc)
-        * @see org.eclipse.equinox.app.IApplication#stop()
-        */
-       public void stop() {
-               final IWorkbench workbench = PlatformUI.getWorkbench();
-               if (workbench == null)
-                       return;
-               final Display display = workbench.getDisplay();
-               display.syncExec(new Runnable() {
-                       public void run() {
-                               if (!display.isDisposed())
-                                       workbench.close();
-                       }
-               });
-       }
-}
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/ApplicationActionBarAdvisor.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/ApplicationActionBarAdvisor.java
deleted file mode 100644 (file)
index c645460..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-package eu.etaxonomy.taxeditor;
-
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.actions.ActionFactory.IWorkbenchAction;
-import org.eclipse.ui.application.ActionBarAdvisor;
-import org.eclipse.ui.application.IActionBarConfigurer;
-
-import eu.etaxonomy.taxeditor.controller.ActionOpenNameEditor;
-
-/**
- * An action bar advisor is responsible for creating, adding, and disposing of
- * the actions added to a workbench window. Each window will be populated with
- * new actions.
- */
-public class ApplicationActionBarAdvisor extends ActionBarAdvisor {
-
-       // Actions - important to allocate these only in makeActions, and then use
-       // them
-       // in the fill methods. This ensures that the actions aren't recreated
-       // when fillActionBars is called with FILL_PROXY.
-       private IWorkbenchAction exitAction;
-       private ActionOpenNameEditor newNameAction;
-
-       public ApplicationActionBarAdvisor(IActionBarConfigurer configurer) {
-               super(configurer);
-       }
-
-       protected void makeActions(final IWorkbenchWindow window) {
-               // Creates the actions and registers them.
-               // Registering is needed to ensure that key bindings work.
-               // The corresponding commands keybindings are defined in the plugin.xml
-               // file.
-               // Registering also provides automatic disposal of the actions when
-               // the window is closed.
-
-               exitAction = ActionFactory.QUIT.create(window);
-               register(exitAction);
-               
-               newNameAction = new ActionOpenNameEditor();
-               register(newNameAction);
-       }
-
-       protected void fillMenuBar(IMenuManager menuBar) {
-               MenuManager fileMenu = new MenuManager("&File",
-                               IWorkbenchActionConstants.M_FILE);
-               menuBar.add(fileMenu);
-               fileMenu.add(newNameAction);
-               fileMenu.add(exitAction);
-       }
-
-}
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/ApplicationWorkbenchAdvisor.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/ApplicationWorkbenchAdvisor.java
deleted file mode 100644 (file)
index a45c4fc..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-package eu.etaxonomy.taxeditor;
-
-import org.eclipse.ui.application.IWorkbenchConfigurer;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-
-public class ApplicationWorkbenchAdvisor extends WorkbenchAdvisor {
-
-       private static final String PERSPECTIVE_ID = "eu.etaxonomy.taxeditor.taxonperspective";
-
-       public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(
-                       IWorkbenchWindowConfigurer configurer) {
-               return new ApplicationWorkbenchWindowAdvisor(configurer);
-       }
-
-       public String getInitialWindowPerspectiveId() {
-               return PERSPECTIVE_ID;
-       }
-       
-       public void initialize(IWorkbenchConfigurer configurer) {
-               super.initialize(configurer);
-               
-               // Remembers the user's layout and window size 
-               //  for the next time application is started
-               configurer.setSaveAndRestore(true);             
-       }
-
-}
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/ApplicationWorkbenchWindowAdvisor.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/ApplicationWorkbenchWindowAdvisor.java
deleted file mode 100644 (file)
index 37d314f..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-package eu.etaxonomy.taxeditor;
-
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.application.ActionBarAdvisor;
-import org.eclipse.ui.application.IActionBarConfigurer;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-
-public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
-
-       public ApplicationWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
-               super(configurer);
-       }
-
-       public ActionBarAdvisor createActionBarAdvisor(
-                       IActionBarConfigurer configurer) {
-               return new ApplicationActionBarAdvisor(configurer);
-       }
-
-       public void preWindowOpen() {
-               IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
-               configurer.setInitialSize(new Point(800, 600));
-               configurer.setShowCoolBar(false);
-               configurer.setShowStatusLine(false);
-               configurer.setTitle("EDIT Taxonomic Editor");
-       }
-       
-}
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/Perspective.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/Perspective.java
deleted file mode 100644 (file)
index 3dc3ef3..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-package eu.etaxonomy.taxeditor;
-
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-
-import eu.etaxonomy.taxeditor.view.NameListView;
-
-public class Perspective implements IPerspectiveFactory {
-
-       public static final String ID = "eu.etaxonomy.taxeditor.prototype2.perspective";
-       
-       public void createInitialLayout(IPageLayout layout) {
-               String editorArea = layout.getEditorArea();
-               layout.addStandaloneView(NameListView.ID, false, IPageLayout.LEFT, 0.30f, editorArea);
-//             layout.addView(UndoView.ID, IPageLayout.BOTTOM, 0.8f, editorArea);
-               layout.getViewLayout(NameListView.ID).setCloseable(false);
-               addFastViews(layout);
-       }
-       private void addFastViews(IPageLayout layout) {
-               System.currentTimeMillis();
-       }
-}
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/ActionAddQuickName.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/ActionAddQuickName.java
deleted file mode 100644 (file)
index ee1c2c1..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-package eu.etaxonomy.taxeditor.controller;\r
-\r
-import org.eclipse.jface.action.Action;\r
-import org.eclipse.ui.PlatformUI;\r
-\r
-import eu.etaxonomy.cdm.model.name.BotanicalName;\r
-import eu.etaxonomy.cdm.model.name.Rank;\r
-import eu.etaxonomy.cdm.model.taxon.Taxon;\r
-import eu.etaxonomy.taxeditor.Activator;\r
-import eu.etaxonomy.taxeditor.view.NameListView;\r
-import eu.etaxonomy.taxeditor.view.TaxonomicTreeViewer;\r
-\r
-/**\r
- * Open up a celleditor in the taxonomic tree \r
- *  to add a quickname to taxon\r
- * \r
- * @author p.ciardelli\r
- *\r
- */\r
-public class ActionAddQuickName extends Action {\r
-       Taxon parentTaxon;\r
-       \r
-       public ActionAddQuickName(Taxon parentTaxon) {\r
-               this.parentTaxon = parentTaxon;\r
-       }\r
-       \r
-       public void run() {\r
-       \r
-               // Create empty Taxon, add it to its parent\r
-               Taxon childTaxon = new Taxon();\r
-               childTaxon.setName(new BotanicalName(Rank.GENUS()));\r
-               \r
-               // TODO getTitleCache is currently returning "null", not null\r
-               //  hence its being set here - change!\r
-               childTaxon.getName().setTitleCache(null);\r
-               parentTaxon.addTaxonomicChild(childTaxon, null, null);\r
-               \r
-               // Add childTaxon to observable tree list, \r
-               //  causing it to appear in the tree\r
-               Activator.getDefault().getObservableTaxonTreeList().add(childTaxon);\r
-               \r
-               // Open new node\r
-               TaxonomicTreeViewer treeViewer = (TaxonomicTreeViewer) ((NameListView) PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().\r
-                               findView(NameListView.ID)).getTreeViewer(); \r
-               treeViewer.revealTaxon(childTaxon);\r
-               \r
-               // Put cursor in empty node\r
-               treeViewer.editElement(childTaxon, 0);\r
-       }\r
-}
\ No newline at end of file
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/ActionAddSynonymToTaxon.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/ActionAddSynonymToTaxon.java
deleted file mode 100644 (file)
index d4da8cb..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-package eu.etaxonomy.taxeditor.controller;\r
-\r
-import org.eclipse.jface.action.Action;\r
-\r
-import eu.etaxonomy.cdm.model.name.BotanicalName;\r
-import eu.etaxonomy.cdm.model.taxon.Synonym;\r
-import eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType;\r
-import eu.etaxonomy.cdm.model.taxon.Taxon;\r
-import eu.etaxonomy.taxeditor.view.nameviewersupport.TesterooWritableSet;\r
-\r
-/**\r
- * Add a new synonym to a taxon.\r
- * \r
- * @author p.ciardelli\r
- *\r
- */\r
-public class ActionAddSynonymToTaxon extends Action {\r
-       Taxon taxon;\r
-       Synonym synonym;\r
-       \r
-       public ActionAddSynonymToTaxon(Taxon taxon, Synonym synonym) {\r
-               this.taxon = taxon;\r
-               this.synonym = synonym;\r
-       }\r
-\r
-       public ActionAddSynonymToTaxon(Taxon taxon, String synonymNameCache) {\r
-               this.taxon = taxon;\r
-               this.synonym = new Synonym();\r
-               this.synonym.setName(BotanicalName.PARSED_NAME(synonymNameCache));\r
-       }       \r
-\r
-       public void run() {\r
-               taxon.addSynonym(synonym, SynonymRelationshipType.HETEROTYPIC_SYNONYM_OF());\r
-//             taxon.removeSynonymRelation(synonym.getSynonymRelations()[0]);\r
-                               \r
-               TesterooWritableSet.getInstance().add(synonym);\r
-       }\r
-}
\ No newline at end of file
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/ActionDeleteTaxon.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/ActionDeleteTaxon.java
deleted file mode 100644 (file)
index f5eb1bd..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-package eu.etaxonomy.taxeditor.controller;\r
-\r
-import org.eclipse.jface.action.Action;\r
-\r
-import eu.etaxonomy.cdm.model.taxon.Taxon;\r
-\r
-/**\r
- * Delete this taxon from the CDM\r
- * \r
- * @author p.ciardelli\r
- *\r
- */\r
-public class ActionDeleteTaxon extends Action {\r
-       Taxon taxon;\r
-       \r
-       public ActionDeleteTaxon(Taxon taxon) {\r
-               this.taxon = taxon;\r
-       }\r
-       \r
-       public void run() {\r
-//             Activator.getDefault().getCdmApp().getTaxonService().saveTaxon(taxon);\r
-       }\r
-}\r
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/ActionMoveTaxon.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/ActionMoveTaxon.java
deleted file mode 100644 (file)
index 8303314..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-package eu.etaxonomy.taxeditor.controller;\r
-\r
-import org.eclipse.jface.action.Action;\r
-\r
-import eu.etaxonomy.cdm.model.taxon.Taxon;\r
-import eu.etaxonomy.taxeditor.Activator;\r
-\r
-/**\r
- * Moves taxon in the taxonomic tree by assigning it a new parent\r
- *  and triggering observable tree list update\r
- * \r
- * @author p.ciardelli\r
- *\r
- */\r
-public class ActionMoveTaxon extends Action {\r
-       Taxon taxon;\r
-       Taxon newParentTaxon;\r
-       \r
-       public ActionMoveTaxon(Taxon taxon, Taxon newParentTaxon) {\r
-               this.taxon = taxon;\r
-               this.newParentTaxon = newParentTaxon;\r
-       }\r
-       \r
-       public void run() {\r
-               \r
-               // TODO Taxon.setParentTaxon(newParentTaxon)\r
-               taxon.setTaxonomicParent(newParentTaxon, null, null);\r
-               \r
-               // Trigger re-draw in list by removing then adding taxon\r
-               Activator.getDefault().getObservableTaxonTreeList().remove(taxon);                      \r
-               Activator.getDefault().getObservableTaxonTreeList().add(taxon);\r
-\r
-               // Save the taxon to the CDM\r
-               Activator.getDefault().getCdmApp().getTaxonService().saveTaxon(taxon);\r
-       }\r
-}
\ No newline at end of file
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/ActionOpenNameEditor.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/ActionOpenNameEditor.java
deleted file mode 100644 (file)
index 38c466d..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-       package eu.etaxonomy.taxeditor.controller;\r
-\r
-import org.eclipse.jface.action.Action;\r
-import org.eclipse.ui.IEditorInput;\r
-import org.eclipse.ui.PartInitException;\r
-import org.eclipse.ui.PlatformUI;\r
-\r
-import eu.etaxonomy.cdm.model.name.BotanicalName;\r
-import eu.etaxonomy.cdm.model.name.Rank;\r
-import eu.etaxonomy.cdm.model.taxon.Taxon;\r
-import eu.etaxonomy.taxeditor.Activator;\r
-import eu.etaxonomy.taxeditor.view.MultiPageTaxonView;\r
-import eu.etaxonomy.taxeditor.model.NameEditorInput;\r
-import eu.etaxonomy.taxeditor.view.NameListView;\r
-import eu.etaxonomy.taxeditor.view.TaxonomicTreeViewer;\r
-\r
-/**\r
- * Opens a name editor for an existing or new taxon\r
- * \r
- * @author p.ciardelli\r
- *\r
- */\r
-public class ActionOpenNameEditor extends Action {\r
-\r
-       private Taxon taxon;\r
-       public static final String ID = "eu.etaxonomy.taxeditor.prototype2.controller.opennameeditoraction"; //$NON-NLS-1$\r
-       \r
-       public ActionOpenNameEditor(Taxon taxon) {\r
-               this.taxon = taxon;\r
-       }\r
-\r
-       public ActionOpenNameEditor() {\r
-\r
-               // the text for the menu item\r
-               setText("New taxon");\r
-               \r
-               setId(ID);\r
-               \r
-               this.taxon = new Taxon();\r
-               taxon.setName(new BotanicalName(Rank.GENUS()));\r
-               \r
-       }\r
-       \r
-       public void run() {\r
-\r
-               // If this is a non-empty taxon being opened for the first time,\r
-               //  add to recent names list            \r
-               if (taxon.getName().getTitleCache() != null &&\r
-                               !Activator.getDefault().getObservableRecentNamesList().contains(taxon))\r
-                       Activator.getDefault().getObservableRecentNamesList().add(0, taxon);\r
-               \r
-               // If this taxon is not visible in the tree, open node\r
-               ((TaxonomicTreeViewer) ((NameListView) PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().\r
-                               findView(NameListView.ID)).getTreeViewer()).revealTaxon(taxon);\r
-                               \r
-               IEditorInput input = new NameEditorInput(taxon);\r
-               try {\r
-                               Activator.getDefault().getWorkbench().getActiveWorkbenchWindow().\r
-                                       getActivePage().openEditor(input, MultiPageTaxonView.ID);\r
-                       } catch (PartInitException e) {\r
-                               // TODO Auto-generated catch block\r
-                               e.printStackTrace();\r
-                       }\r
-        \r
-       }\r
-}
\ No newline at end of file
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/ActionOpenNewChildNameEditor.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/ActionOpenNewChildNameEditor.java
deleted file mode 100644 (file)
index 5520f5f..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-package eu.etaxonomy.taxeditor.controller;\r
-\r
-import org.eclipse.jface.action.Action;\r
-\r
-import eu.etaxonomy.cdm.model.name.BotanicalName;\r
-import eu.etaxonomy.cdm.model.name.Rank;\r
-import eu.etaxonomy.cdm.model.taxon.Taxon;\r
-\r
-/**\r
- * Opens a name editor for a new taxon with a parent taxon\r
- * \r
- * @author p.ciardelli\r
- *\r
- */\r
-public class ActionOpenNewChildNameEditor extends Action {\r
-\r
-       private Taxon taxon;\r
-       public static final String ID = "eu.etaxonomy.taxeditor.prototype2.controller.opennameeditoraction"; //$NON-NLS-1$\r
-       \r
-       public ActionOpenNewChildNameEditor(Taxon parentTaxon) {\r
-               \r
-               taxon = new Taxon();\r
-               taxon.setName(new BotanicalName(Rank.GENUS()));\r
-               \r
-               // TODO getTitleCache is currently returning "null", not null\r
-               //  hence its being set here - change!\r
-               taxon.getName().setTitleCache(null);\r
-               \r
-               parentTaxon.addTaxonomicChild(taxon, null, null);\r
-       }\r
-\r
-       public ActionOpenNewChildNameEditor() {\r
-               setId(ID);\r
-       }\r
-       \r
-       public void run() {\r
-               new ActionOpenNameEditor(taxon).run();\r
-       }\r
-}
\ No newline at end of file
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/ActionPopulatePropertySheet.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/ActionPopulatePropertySheet.java
deleted file mode 100644 (file)
index 4081c2d..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-package eu.etaxonomy.taxeditor.controller;\r
-\r
-import org.eclipse.jface.action.Action;\r
-\r
-import eu.etaxonomy.cdm.model.name.TaxonNameBase;\r
-\r
-/**\r
- * Open up a celleditor in the taxonomic tree \r
- *  to add a quickname to taxon\r
- * \r
- * @author p.ciardelli\r
- *\r
- */\r
-public class ActionPopulatePropertySheet extends Action {\r
-       TaxonNameBase name;\r
-       \r
-       public ActionPopulatePropertySheet(TaxonNameBase name) {\r
-               this.name = name;\r
-       }\r
-       \r
-       public void run() {\r
-       \r
-               \r
-               // Open new node\r
-//             System.out.println(PlatformUI.getWorkbench().getActiveWorkbenchWindow().\r
-//                             getActivePage().getActiveEditor().getSite().getPart()..getId());\r
-//             MultiPageTaxonView mptv;\r
-//             mptv.get\r
-               \r
-               \r
-       }\r
-}
\ No newline at end of file
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/ActionRemoveTaxonFromTree.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/ActionRemoveTaxonFromTree.java
deleted file mode 100644 (file)
index 13b3b43..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-package eu.etaxonomy.taxeditor.controller;\r
-\r
-import org.eclipse.jface.action.Action;\r
-\r
-import eu.etaxonomy.cdm.model.taxon.Taxon;\r
-import eu.etaxonomy.taxeditor.Activator;\r
-\r
-/**\r
- * Remove a Taxon from the tree without removing it from\r
- *  the CDM, i.e. when a temporary Taxon has been created for\r
- *  quickname\r
- * \r
- * @author p.ciardelli\r
- *\r
- */\r
-public class ActionRemoveTaxonFromTree extends Action {\r
-       Taxon taxon;\r
-       \r
-       public ActionRemoveTaxonFromTree(Taxon taxon) {\r
-               this.taxon = taxon;\r
-       }\r
-       \r
-       public void run() {\r
-       \r
-               // Remove Taxon from taxon tree list\r
-               Activator.getDefault().getObservableTaxonTreeList().remove(taxon);\r
-               \r
-               taxon = null;\r
-       }\r
-}
\ No newline at end of file
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/ActionSaveTaxon.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/ActionSaveTaxon.java
deleted file mode 100644 (file)
index d9845e0..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-package eu.etaxonomy.taxeditor.controller;\r
-\r
-import org.eclipse.jface.action.Action;\r
-\r
-import eu.etaxonomy.cdm.model.taxon.Taxon;\r
-import eu.etaxonomy.taxeditor.Activator;\r
-\r
-/**\r
- * Commit any changes to this taxon to the CDM\r
- * \r
- * @author p.ciardelli\r
- *\r
- */\r
-public class ActionSaveTaxon extends Action {\r
-       Taxon taxon;\r
-       \r
-       public ActionSaveTaxon(Taxon taxon) {\r
-               this.taxon = taxon;\r
-       }\r
-       \r
-       public void run() {\r
-               \r
-               // If this is a new taxon, add it to the recent names list;\r
-               //  if it is already in the tree, remove then re-add it\r
-               //  to force a re-sort\r
-               if (!Activator.getDefault().getObservableTaxonTreeList().contains(taxon)) {\r
-                       Activator.getDefault().getObservableRecentNamesList().add(0, taxon);\r
-               } else {\r
-                       Activator.getDefault().getObservableTaxonTreeList().remove(taxon);\r
-               }                       \r
-               Activator.getDefault().getObservableTaxonTreeList().add(taxon);\r
-\r
-               // Save the taxon to the CDM\r
-               Activator.getDefault().getCdmApp().getTaxonService().saveTaxon(taxon);\r
-               \r
-               // Notify taxon listeners in case name has been updated \r
-               taxon.firePropertyChange("name", null, null);\r
-       }\r
-}
\ No newline at end of file
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/NameTransfer.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/NameTransfer.java
deleted file mode 100644 (file)
index 333ff98..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-package eu.etaxonomy.taxeditor.controller;\r
-\r
-import org.eclipse.swt.dnd.ByteArrayTransfer;\r
-import org.eclipse.swt.dnd.TransferData;\r
-\r
-import eu.etaxonomy.cdm.model.name.TaxonNameBase;\r
-\r
-/**\r
- * For drag and drop - a drag widget with this transfer type can only be dropped onto\r
- *  a drop widget with the same type.\r
- *    \r
- * @author p.ciardelli\r
- *\r
- */\r
-public class NameTransfer extends ByteArrayTransfer {\r
-\r
-       private static final String TYPENAME = "name_type";\r
-       private static final int NAMETYPEID = registerType (TYPENAME);          \r
-       private static final NameTransfer INSTANCE = new NameTransfer();\r
-       \r
-       /*\r
-        * The object associated with this transfer event\r
-        */\r
-       private TaxonNameBase name;\r
-               \r
-       /*\r
-        * Returns the singleton\r
-        */\r
-       public static NameTransfer getInstance() {\r
-               return INSTANCE;\r
-       }\r
-       /*\r
-        * Set transfer data for local use\r
-        */\r
-       public void setName(TaxonNameBase name) {\r
-               this.name = name;\r
-       }\r
-       /*\r
-        * Returns the local transfer data\r
-        */\r
-       public TaxonNameBase getName() {\r
-               return name;\r
-       }\r
-       \r
-       /* \r
-        * The type ID is used to identify this transfer\r
-        */\r
-       @Override\r
-       protected int[] getTypeIds() {\r
-               return new int[] { NAMETYPEID };\r
-       }\r
-\r
-       @Override\r
-       protected String[] getTypeNames() {\r
-               return new String[] { TYPENAME } ;\r
-       }\r
-\r
-       @Override\r
-       protected void javaToNative(Object object, TransferData transferData) {\r
-               // No encoding needed since this is a hardcoded string read and written\r
-               // in the same process.\r
-               // See nativeToJava below\r
-               byte[] check = TYPENAME.getBytes();\r
-               super.javaToNative(check, transferData);\r
-       }\r
-\r
-       @Override\r
-       protected Object nativeToJava(TransferData transferData) {\r
-               Object result = super.nativeToJava(transferData);\r
-               if (isInvalidNativeType(result)) {\r
-                       throw new RuntimeException(); //$NON-NLS-1$\r
-               }\r
-               return name;\r
-       }\r
-       \r
-       private boolean isInvalidNativeType(Object result) {\r
-               // No encoding needed since this is a hardcoded string read and written\r
-               // in the same process.\r
-               // See javaToNative above\r
-               return !(result instanceof byte[])\r
-                               || !TYPENAME.equals(new String((byte[]) result));\r
-       }\r
-}\r
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/SynonymRelationshipTransfer.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/SynonymRelationshipTransfer.java
deleted file mode 100644 (file)
index 242dfd7..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-package eu.etaxonomy.taxeditor.controller;\r
-\r
-import org.eclipse.swt.dnd.ByteArrayTransfer;\r
-import org.eclipse.swt.dnd.TransferData;\r
-\r
-import eu.etaxonomy.cdm.model.taxon.SynonymRelationship;\r
-import eu.etaxonomy.cdm.model.taxon.TaxonBase;\r
-\r
-/**\r
- * For drag and drop - a drag widget with this transfer type \r
- *  can only be dropped onto a drop widget with the same type.\r
- *    \r
- * @author p.ciardelli\r
- *\r
- */\r
-public class SynonymRelationshipTransfer extends ByteArrayTransfer {\r
-\r
-       private static final String RELATIONTYPENAME = "relation_type";\r
-       private static final int RELATIONTYPEID = registerType (RELATIONTYPENAME);              \r
-       private static final SynonymRelationshipTransfer INSTANCE = new SynonymRelationshipTransfer();\r
-       \r
-       /*\r
-        * The object associated with this transfer event\r
-        */\r
-       private SynonymRelationship synonymRelationship;\r
-               \r
-       /*\r
-        * Returns the singleton\r
-        */\r
-       public static SynonymRelationshipTransfer getInstance() {\r
-               return INSTANCE;\r
-       }\r
-       /*\r
-        * Set transfer data for local use\r
-        */\r
-       public void setSynonymRelationship(SynonymRelationship synonymRelationship) {\r
-               this.synonymRelationship = synonymRelationship;\r
-       }\r
-       /*\r
-        * Returns the local transfer data\r
-        */\r
-       public SynonymRelationship getSynonymRelationship() {\r
-               return synonymRelationship;\r
-       }\r
-       \r
-       /* \r
-        * The type ID is used to identify this transfer\r
-        */\r
-       @Override\r
-       protected int[] getTypeIds() {\r
-               return new int[] { RELATIONTYPEID };\r
-       }\r
-\r
-       @Override\r
-       protected String[] getTypeNames() {\r
-               return new String[] { RELATIONTYPENAME } ;\r
-       }\r
-\r
-       @Override\r
-       protected void javaToNative(Object object, TransferData transferData) {\r
-               // No encoding needed since this is a hardcoded string read and written\r
-               // in the same process.\r
-               // See nativeToJava below\r
-               byte[] check = RELATIONTYPENAME.getBytes();\r
-               super.javaToNative(check, transferData);\r
-       }\r
-\r
-       @Override\r
-       protected Object nativeToJava(TransferData transferData) {\r
-               Object result = super.nativeToJava(transferData);\r
-               if (isInvalidNativeType(result)) {\r
-                       throw new RuntimeException(); //$NON-NLS-1$\r
-               }\r
-               return synonymRelationship;\r
-       }\r
-       \r
-       private boolean isInvalidNativeType(Object result) {\r
-               // No encoding needed since this is a hardcoded string read and written\r
-               // in the same process.\r
-               // See javaToNative above\r
-               return !(result instanceof byte[])\r
-                               || !RELATIONTYPENAME.equals(new String((byte[]) result));\r
-       }\r
-}\r
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/TaxonTransfer.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/TaxonTransfer.java
deleted file mode 100644 (file)
index 84c92cf..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-package eu.etaxonomy.taxeditor.controller;\r
-\r
-import org.eclipse.swt.dnd.ByteArrayTransfer;\r
-import org.eclipse.swt.dnd.TransferData;\r
-\r
-import eu.etaxonomy.cdm.model.taxon.TaxonBase;\r
-\r
-/**\r
- * For drag and drop - a drag widget with this transfer type can only be dropped onto\r
- *  a drop widget with the same type.\r
- *    \r
- * @author p.ciardelli\r
- *\r
- */\r
-public class TaxonTransfer extends ByteArrayTransfer {\r
-\r
-       private static final String TAXONTYPENAME = "taxon_type";\r
-       private static final int TAXONTYPEID = registerType (TAXONTYPENAME);            \r
-       private static final TaxonTransfer INSTANCE = new TaxonTransfer();\r
-       \r
-       /*\r
-        * The object associated with this transfer event\r
-        */\r
-       private TaxonBase taxonBase;\r
-               \r
-       /*\r
-        * Returns the singleton\r
-        */\r
-       public static TaxonTransfer getInstance() {\r
-               return INSTANCE;\r
-       }\r
-       /*\r
-        * Set transfer data for local use\r
-        */\r
-       public void setTaxon(TaxonBase taxon) {\r
-               this.taxonBase = taxon;\r
-       }\r
-       /*\r
-        * Returns the local transfer data\r
-        */\r
-       public TaxonBase getTaxon() {\r
-               return taxonBase;\r
-       }\r
-       \r
-       /* \r
-        * The type ID is used to identify this transfer\r
-        */\r
-       @Override\r
-       protected int[] getTypeIds() {\r
-               return new int[] { TAXONTYPEID };\r
-       }\r
-\r
-       @Override\r
-       protected String[] getTypeNames() {\r
-               return new String[] { TAXONTYPENAME } ;\r
-       }\r
-\r
-       @Override\r
-       protected void javaToNative(Object object, TransferData transferData) {\r
-               // No encoding needed since this is a hardcoded string read and written\r
-               // in the same process.\r
-               // See nativeToJava below\r
-               byte[] check = TAXONTYPENAME.getBytes();\r
-               super.javaToNative(check, transferData);\r
-       }\r
-\r
-       @Override\r
-       protected Object nativeToJava(TransferData transferData) {\r
-               Object result = super.nativeToJava(transferData);\r
-               if (isInvalidNativeType(result)) {\r
-                       throw new RuntimeException(); //$NON-NLS-1$\r
-               }\r
-               return taxonBase;\r
-       }\r
-       \r
-       private boolean isInvalidNativeType(Object result) {\r
-               // No encoding needed since this is a hardcoded string read and written\r
-               // in the same process.\r
-               // See javaToNative above\r
-               return !(result instanceof byte[])\r
-                               || !TAXONTYPENAME.equals(new String((byte[]) result));\r
-       }\r
-}\r
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/NameEditorInput.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/NameEditorInput.java
deleted file mode 100644 (file)
index f45b5fa..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-package eu.etaxonomy.taxeditor.model;\r
-\r
-import org.eclipse.jface.resource.ImageDescriptor;\r
-import org.eclipse.ui.IEditorInput;\r
-import org.eclipse.ui.IPersistableElement;\r
-\r
-import eu.etaxonomy.cdm.model.taxon.Taxon;\r
-\r
-/**\r
- * @author p.ciardelli\r
- *\r
- */\r
-public class NameEditorInput implements IEditorInput {\r
-\r
-       private Taxon taxon;\r
-       \r
-       public NameEditorInput (Taxon taxon) {\r
-               this.taxon = taxon;\r
-       }\r
-       \r
-       public boolean exists() {\r
-               // TODO Auto-generated method stub\r
-               return false;\r
-       }\r
-\r
-       public ImageDescriptor getImageDescriptor() {\r
-               // TODO Auto-generated method stub\r
-               return null;\r
-       }\r
-\r
-       public String getName() {\r
-               if (taxon.getName().getNameCache() == null)\r
-                       return "New taxon";\r
-               else\r
-                       return taxon.getName().getNameCache();\r
-       }\r
-\r
-       public IPersistableElement getPersistable() {\r
-               // TODO Auto-generated method stub\r
-               return null;\r
-       }\r
-\r
-       public String getToolTipText() {\r
-               return getName();\r
-       }\r
-\r
-       public Object getAdapter(Class adapter) {\r
-\r
-               if (adapter == Taxon.class) {\r
-                       return this.taxon;\r
-               }\r
-               \r
-               return null;\r
-       }\r
-\r
-    /**\r
-     * Overrides equals to ensure that a taxon can only be edited by\r
-     *  one editor at a time.\r
-     * \r
-     * @return boolean\r
-     */\r
-       public boolean equals(Object obj) {             \r
-               if (this.taxon.equals(((NameEditorInput) obj).taxon))\r
-                       return true;\r
-               return false;\r
-       }\r
-}\r
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/NameTreeContentProvider.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/NameTreeContentProvider.java
deleted file mode 100644 (file)
index 76b3c1b..0000000
+++ /dev/null
@@ -1,141 +0,0 @@
-package eu.etaxonomy.taxeditor.model;\r
-\r
-import java.util.Set;\r
-\r
-import org.eclipse.core.databinding.observable.Realm;\r
-import org.eclipse.core.databinding.observable.list.IListChangeListener;\r
-import org.eclipse.core.databinding.observable.list.IObservableList;\r
-import org.eclipse.core.databinding.observable.list.ListChangeEvent;\r
-import org.eclipse.core.databinding.observable.list.ListDiffEntry;\r
-import org.eclipse.core.databinding.observable.list.WritableList;\r
-import org.eclipse.core.databinding.observable.set.IObservableSet;\r
-import org.eclipse.core.databinding.observable.set.WritableSet;\r
-import org.eclipse.core.runtime.Assert;\r
-import org.eclipse.jface.databinding.swt.SWTObservables;\r
-import org.eclipse.jface.databinding.viewers.ObservableListContentProvider;\r
-import org.eclipse.jface.viewers.ITreeContentProvider;\r
-import org.eclipse.jface.viewers.Viewer;\r
-import org.eclipse.swt.widgets.Display;\r
-\r
-import eu.etaxonomy.cdm.model.taxon.Taxon;\r
-import eu.etaxonomy.taxeditor.view.TaxonomicTreeViewer;\r
-\r
-/**\r
- * Adds tree functionality (get parent, get children) to ObservableListContentProvider;\r
- *  much code was copied almost in tact from parent class due to\r
- *  viewer type restrictions and private settings of variables and methods\r
- * \r
- * @author p.ciardelli\r
- *\r
- */\r
-public class NameTreeContentProvider extends ObservableListContentProvider \r
-               implements ITreeContentProvider {\r
-\r
-       public Object[] getChildren(Object parentElement) {\r
-               Set<Taxon> children = ((Taxon) parentElement).getTaxonomicChildren();\r
-               observableList.addAll(children);\r
-               return children == null ? new Object[0] : children.toArray();\r
-       }\r
-\r
-       public Object getParent(Object element) {\r
-               return ((Taxon) element).getTaxonomicParent();\r
-       }\r
-\r
-       public boolean hasChildren(Object element) {\r
-               return ((Taxon) element).hasTaxonomicChildren();\r
-       }\r
-       \r
-       private IObservableList observableList;\r
-\r
-       private Viewer viewer;\r
-\r
-       private IListChangeListener listener = new IListChangeListener() {\r
-               public void handleListChange(ListChangeEvent event) {\r
-                       if (viewer.getControl().isDisposed()) {\r
-                               return;\r
-                       }\r
-                       ListDiffEntry[] differences = event.diff.getDifferences();\r
-                       for (int i = 0; i < differences.length; i++) {\r
-                               ListDiffEntry entry = differences[i];\r
-                               \r
-                               if (entry.isAddition()) {\r
-                                       \r
-                                       knownElements.add(entry.getElement());\r
-               \r
-                                       ((TaxonomicTreeViewer) viewer).add(\r
-                                                       ((Taxon) entry.getElement()).getTaxonomicParent(), \r
-                                                       entry.getElement());\r
-                               } else {\r
-\r
-                                       knownElements.remove(entry.getElement());\r
-                                       \r
-                                       ((TaxonomicTreeViewer) viewer).remove(entry.getElement());\r
-                               }\r
-                       }\r
-               }\r
-       };\r
-\r
-       private IObservableSet knownElements;\r
-\r
-       /**\r
-        * \r
-        */\r
-       public NameTreeContentProvider() {\r
-               \r
-               Assert.isNotNull(Realm.getDefault());\r
-               \r
-               observableList = new WritableList(SWTObservables.getRealm(Display.getDefault()));\r
-               knownElements = new WritableSet(SWTObservables.getRealm(Display.getDefault()));\r
-       }\r
-\r
-       public Object[] getElements(Object inputElement) {\r
-               return observableList.toArray();\r
-       }\r
-\r
-       public void dispose() {\r
-               observableList.removeListChangeListener(listener);\r
-       }\r
-\r
-       public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {\r
-               this.viewer = viewer;\r
-\r
-               if (newInput != null && !(newInput instanceof IObservableList)) {\r
-                       throw new IllegalArgumentException(\r
-                                       "This content provider only works with input of type IObservableList"); //$NON-NLS-1$\r
-               }\r
-\r
-               setInput((IObservableList) newInput);\r
-       }\r
-\r
-       /**\r
-        * @param list\r
-        */\r
-       private void setInput(IObservableList list) {\r
-               \r
-               if (list == null) {\r
-                       list = new WritableList(SWTObservables.getRealm(Display.getDefault()));\r
-               }\r
-\r
-               if (observableList != null) {\r
-                       observableList.removeListChangeListener(listener);\r
-               }\r
-               \r
-               knownElements.clear();\r
-\r
-               observableList = list;\r
-               \r
-               knownElements.addAll(list);\r
-               \r
-\r
-               observableList.addListChangeListener(listener);\r
-       }\r
-\r
-       /**\r
-        * @return the set of elements known to this content provider. Label providers may track\r
-        * this set if they need to be notified about additions before the viewer sees the added\r
-        * element, and notified about removals after the element was removed from the viewer.\r
-        */\r
-       public IObservableSet getKnownElements() {\r
-               return knownElements;\r
-       }\r
-}
\ No newline at end of file
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/PropertySheetNode.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/PropertySheetNode.java
deleted file mode 100644 (file)
index 30f21fa..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-package eu.etaxonomy.taxeditor.model;\r
-\r
-import java.util.ArrayList;\r
-import java.util.List;\r
-\r
-import org.eclipse.core.databinding.observable.value.IObservableValue;\r
-\r
-/**\r
- * \r
- * \r
- * @author p.ciardelli\r
- *\r
- */\r
-public class PropertySheetNode {\r
-       \r
-       private boolean editable;\r
-       private List<PropertySheetNode> childProperties;\r
-       private PropertySheetNode parentProperty;\r
-       private String propertyField;\r
-       private String propertyValue;\r
-       private IObservableValue observeValue;\r
-       \r
-       public static boolean EDITABLE = true;\r
-       public static boolean NOT_EDITABLE = false;\r
-       \r
-       public PropertySheetNode(String field, String value, \r
-                       PropertySheetNode parent, boolean editable) {\r
-               this.propertyField = field;\r
-               this.propertyValue = value;\r
-               this.parentProperty = parent;\r
-               if (parent != null) parent.addChildProperty(this);\r
-               this.editable = editable;\r
-       }\r
-       \r
-       public PropertySheetNode(String field, IObservableValue observeValue, \r
-                       PropertySheetNode parent, boolean editable) {\r
-               this(field, (String) observeValue.getValue(), parent, editable);\r
-               this.observeValue = observeValue;\r
-       }\r
-       \r
-       private void addChildProperty(PropertySheetNode childProperty ) {\r
-               if (childProperties == null)\r
-                       childProperties = new ArrayList<PropertySheetNode>();\r
-               if (!childProperties.contains(childProperty))\r
-                       childProperties.add(childProperty);\r
-       }\r
-\r
-       public boolean isEditable() {\r
-               return editable;\r
-       }\r
-\r
-       public void setEditable(boolean editable) {\r
-               this.editable = editable;\r
-       }\r
-\r
-       public String getPropertyField() {\r
-               return propertyField;\r
-       }\r
-\r
-       public void setPropertyField(String propertyField) {\r
-               this.propertyField = propertyField;\r
-       }\r
-\r
-       public String getPropertyValue() {\r
-               if (observeValue != null)\r
-                       return (String) observeValue.getValue();\r
-               return propertyValue;\r
-       }\r
-\r
-       public void setPropertyValue(String propertyValue) {\r
-               this.propertyValue = propertyValue;\r
-       }\r
-\r
-       public List<PropertySheetNode> getChildProperties() {\r
-               return childProperties;\r
-       }\r
-\r
-       public void setChildProperties(List<PropertySheetNode> subProperties) {\r
-               this.childProperties = subProperties;\r
-       }\r
-\r
-       public PropertySheetNode getParentProperty() {\r
-               return parentProperty;\r
-       }\r
-\r
-       public void setParentProperty(PropertySheetNode parentProperty) {\r
-               this.parentProperty = parentProperty;\r
-       }       \r
-       \r
-       public IObservableValue getObserveValue() {\r
-               return this.observeValue;\r
-       }\r
-}\r
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/EmptyEditorView.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/EmptyEditorView.java
deleted file mode 100644 (file)
index 9e64523..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-package eu.etaxonomy.taxeditor.view;\r
-\r
-import org.eclipse.core.runtime.IProgressMonitor;\r
-import org.eclipse.swt.SWT;\r
-import org.eclipse.swt.widgets.Composite;\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
-\r
-public class EmptyEditorView extends EditorPart {\r
-\r
-       public static final String ID = "eu.etaxonomy.taxeditor.prototype2.view.EmptyEditorView"; //$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
-               Composite container = new Composite(parent, SWT.NONE);\r
-               //\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)\r
-                       throws PartInitException {\r
-               // Initialize the editor part\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
-}\r
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/MoveDialogView.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/MoveDialogView.java
deleted file mode 100644 (file)
index 56dc3e4..0000000
+++ /dev/null
@@ -1,242 +0,0 @@
-package eu.etaxonomy.taxeditor.view;\r
-\r
-import java.util.ArrayList;\r
-import java.util.List;\r
-\r
-import org.eclipse.jface.dialogs.Dialog;\r
-import org.eclipse.jface.dialogs.IDialogConstants;\r
-import org.eclipse.jface.viewers.DoubleClickEvent;\r
-import org.eclipse.jface.viewers.IDoubleClickListener;\r
-import org.eclipse.jface.viewers.StructuredSelection;\r
-import org.eclipse.jface.viewers.TableViewer;\r
-import org.eclipse.swt.SWT;\r
-import org.eclipse.swt.events.FocusEvent;\r
-import org.eclipse.swt.events.FocusListener;\r
-import org.eclipse.swt.events.SelectionAdapter;\r
-import org.eclipse.swt.events.SelectionEvent;\r
-import org.eclipse.swt.graphics.Point;\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.Control;\r
-import org.eclipse.swt.widgets.Group;\r
-import org.eclipse.swt.widgets.Label;\r
-import org.eclipse.swt.widgets.Shell;\r
-import org.eclipse.swt.widgets.Text;\r
-\r
-import com.swtdesigner.ResourceManager;\r
-import com.swtdesigner.SWTResourceManager;\r
-\r
-import eu.etaxonomy.cdm.model.taxon.Taxon;\r
-import eu.etaxonomy.taxeditor.Activator;\r
-\r
-public class MoveDialogView extends Dialog {\r
-\r
-       private Text searchText;\r
-       private TaxonomicTreeViewer treeViewer;\r
-       private Label selectedTaxonNameLabel;\r
-       private Taxon taxon;\r
-       \r
-       private List<Button> buttons = new ArrayList<Button>();\r
-       \r
-       public int open(Taxon taxon) {\r
-               this.taxon = taxon;\r
-               return super.open();\r
-       }\r
-       /**\r
-        * Create the dialog\r
-        * @param parentShell\r
-        */\r
-       public MoveDialogView(Shell parentShell) {\r
-               super(parentShell);\r
-       }\r
-\r
-       /**\r
-        * Create contents of the dialog\r
-        * @param parent\r
-        */\r
-       @Override\r
-       protected Control createDialogArea(Composite parent) {\r
-               parent.setRedraw(true);\r
-               Composite container = (Composite) super.createDialogArea(parent);\r
-               final GridLayout gridLayout = new GridLayout();\r
-               gridLayout.numColumns = 2;\r
-               container.setLayout(gridLayout);\r
-\r
-               final Label youHaveChosenLabel = new Label(container, SWT.WRAP);\r
-               final GridData gd_youHaveChosenLabel = new GridData(SWT.LEFT, SWT.FILL, true, false, 2, 1);\r
-//             gd_youHaveChosenLabel.heightHint = 30;\r
-               youHaveChosenLabel.setLayoutData(gd_youHaveChosenLabel);\r
-//             youHaveChosenLabel.setText("You have chosen to turn \"" + taxon.getName().getNameCache() +\r
-//                             "\" into a synonym. Please choose a new accepted name from one of the following options.");\r
-               youHaveChosenLabel.setText("Choose a taxonomic parent for \"" + taxon.getName().getTitleCache() +\r
-               "\".");         \r
-\r
-               final Group group_1 = new Group(container, SWT.NONE);\r
-               group_1.setLayout(new GridLayout());\r
-               final GridData gd_group_1 = new GridData(SWT.FILL, SWT.FILL, true, true);\r
-               gd_group_1.heightHint = 83;\r
-               group_1.setLayoutData(gd_group_1);\r
-\r
-               final Button chooseAcceptedNameButton = new Button(group_1, SWT.RADIO);\r
-               buttons.add(chooseAcceptedNameButton);\r
-               chooseAcceptedNameButton.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));\r
-               chooseAcceptedNameButton.setText("Choose from taxonomic tree");\r
-\r
-               treeViewer = new TaxonomicTreeViewer(group_1);\r
-               treeViewer.getTree().addFocusListener(new SelectButtonFocusListener(chooseAcceptedNameButton));\r
-               treeViewer.addDoubleClickListener(new SelectTaxonDoubleClickListener()); \r
-\r
-               final Composite composite = new Composite(container, SWT.NONE);\r
-               composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));\r
-               composite.setLayout(new FillLayout(SWT.VERTICAL | SWT.HORIZONTAL));\r
-               \r
-               final Group group = new Group(composite, SWT.NONE);\r
-               group.setLayout(new GridLayout());\r
-\r
-               final Button chooseAcceptedTaxonButton = new Button(group, SWT.RADIO);\r
-               buttons.add(chooseAcceptedTaxonButton);\r
-               chooseAcceptedTaxonButton.setText("Choose from recently viewed taxa");\r
-\r
-               TableViewer recentNamesViewer = new RecentNamesTableViewer(group);\r
-               recentNamesViewer.addDoubleClickListener(new SelectTaxonDoubleClickListener());\r
-               recentNamesViewer.getTable().addFocusListener(new SelectButtonFocusListener(chooseAcceptedTaxonButton));\r
-               \r
-               final Group group_2 = new Group(composite, SWT.NONE);\r
-               final GridLayout gridLayout_1 = new GridLayout();\r
-               gridLayout_1.numColumns = 2;\r
-               group_2.setLayout(gridLayout_1);\r
-\r
-               final Button searchForNameButton = new Button(group_2, SWT.RADIO);\r
-               buttons.add(searchForNameButton);\r
-               searchForNameButton.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, false));\r
-               searchForNameButton.setText("Search for name of accepted taxon");\r
-               new Label(group_2, SWT.NONE);\r
-               \r
-               searchText = new Text(group_2, SWT.BORDER);\r
-               searchText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));\r
-               searchText.setForeground(SWTResourceManager.getColor(192, 192, 192));\r
-               searchText.setText("Use \"*\" for wildcard searching");\r
-               searchText.addFocusListener(new SelectButtonFocusListener(searchForNameButton) {\r
-\r
-                       public void focusGained(FocusEvent e) {\r
-                               selectButton(button);\r
-                               searchText.setForeground(SWTResourceManager.getColor(0,0,0));\r
-                               searchText.setText("");\r
-                       }\r
-\r
-                       public void focusLost(FocusEvent e) {\r
-                               if (searchText.getText() == "") {\r
-                                       searchText.setForeground(SWTResourceManager.getColor(192, 192, 192));\r
-                                       searchText.setText("Use \"*\" for wildcard searching");                                 \r
-                               }\r
-                       }\r
-                       \r
-               });\r
-\r
-               final Button searchButton = new Button(group_2, SWT.NONE);\r
-               searchButton.setLayoutData(new GridData());\r
-               searchButton.setText("Search");\r
-\r
-               final Composite composite_1 = new Composite(container, SWT.NONE);\r
-               composite_1.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 2, 1));\r
-               composite_1.setLayout(new FillLayout());\r
-\r
-               new Label(composite_1, SWT.NONE).setText("Selected taxon: ");\r
-\r
-               selectedTaxonNameLabel = new Label(composite_1, SWT.RIGHT);\r
-               selectedTaxonNameLabel.setFont(SWTResourceManager.getFont("", 9, SWT.BOLD));\r
-               selectedTaxonNameLabel.setText("");\r
-               new Label(container, SWT.NONE);\r
-               \r
-               \r
-               //\r
-               initButtons();\r
-               \r
-               return container;\r
-       }\r
-\r
-       /**\r
-        * Create contents of the button bar\r
-        * @param parent\r
-        */\r
-       @Override\r
-       protected void createButtonsForButtonBar(Composite parent) {\r
-               createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL,\r
-                               true);\r
-               createButton(parent, IDialogConstants.CANCEL_ID,\r
-                               IDialogConstants.CANCEL_LABEL, false);\r
-       }\r
-\r
-       private void initButtons() {\r
-               for ( Button button : buttons) {\r
-                       button.addSelectionListener(new SelectionAdapter() {\r
-                               public void widgetSelected(final SelectionEvent e) {\r
-                                       selectButton((Button) e.getSource());\r
-                               }\r
-                       });                     \r
-               }\r
-       }\r
-       \r
-       /**\r
-        * Since buttons are not in the same layout group, the others are not automatically \r
-        *  deselected when one is selected. This method takes care of that.\r
-        * @param button\r
-        */\r
-       private void selectButton(Button selectedButton) {\r
-               for ( Button button : buttons) {\r
-                       if (button == selectedButton)\r
-                               button.setSelection(true);\r
-                       else\r
-                               button.setSelection(false);\r
-               }\r
-       }\r
-       \r
-       /**\r
-        * Return the initial size of the dialog\r
-        */\r
-       @Override\r
-       protected Point getInitialSize() {\r
-               return new Point(700, 500);\r
-       }\r
-       protected void configureShell(Shell newShell) {\r
-               super.configureShell(newShell);\r
-               newShell.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/edit_16x16.ico"));\r
-               newShell.setText("Choose parent taxon for \"" + taxon.getName().getTitleCache() +\r
-                               "\"");\r
-       }\r
-\r
-       class SelectButtonFocusListener implements FocusListener {\r
-\r
-               Button button; // the button that should be selected\r
-               \r
-               SelectButtonFocusListener(Button button) {\r
-                       this.button = button;\r
-               }\r
-               \r
-               public void focusGained(FocusEvent e) {\r
-                       selectButton(button);\r
-               }\r
-\r
-               public void focusLost(FocusEvent e) {                   \r
-               }\r
-               \r
-       }\r
-       \r
-       class SelectTaxonDoubleClickListener implements IDoubleClickListener {\r
-\r
-               public void doubleClick(DoubleClickEvent event) {                                                               \r
-//                     TaxonName taxonname = null;\r
-                       Taxon taxon = null;\r
-                       try {\r
-                               taxon = (Taxon) ((StructuredSelection)event.getSelection()).getFirstElement();\r
-                       }catch (Exception e){\r
-                               e.printStackTrace();\r
-                               taxon = null;\r
-                       }\r
-                       selectedTaxonNameLabel.setText(taxon.getName().getTitleCache());\r
-               }\r
-       }\r
-}
\ No newline at end of file
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/MultiPageTaxonView.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/MultiPageTaxonView.java
deleted file mode 100644 (file)
index edbf245..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-package eu.etaxonomy.taxeditor.view;\r
-\r
-import java.beans.PropertyChangeEvent;\r
-import java.beans.PropertyChangeListener;\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
-import eu.etaxonomy.cdm.model.taxon.Taxon;\r
-\r
-/**\r
- * \r
- * Generates the tabbed editor with Name view on top and tabs for\r
- *  "Facts", "Specimen", "Geography", etc.\r
- * \r
- * @author p.ciardelli\r
- *\r
- */\r
-public class MultiPageTaxonView extends MultiPageEditorPart {\r
-\r
-       public static final String ID = "eu.etaxonomy.taxeditor.prototype2.view.multipagetaxonview";\r
-       private Taxon taxon;\r
-       \r
-       @Override\r
-       protected void createPages() {\r
-               \r
-               try {\r
-                       addPage(0, new NameEditorView(), getEditorInput());\r
-                       setPageText(0, "Name");\r
-\r
-                       addPage(1, new NameEditorView(), getEditorInput());\r
-                       setPageText(1, "Descriptive");\r
-                       \r
-                       addPage(2, new NameEditorView(), getEditorInput());\r
-                       setPageText(2, "Concepts");\r
-                       \r
-                       addPage(3, new NameEditorView(), getEditorInput());\r
-                       setPageText(3, "Geographic");\r
-                       \r
-               } catch (PartInitException e) {                 \r
-                       // TODO Auto-generated catch block\r
-                       e.printStackTrace();\r
-               }\r
-               \r
-//             bindPartName();\r
-       }\r
-\r
-       @Override\r
-       public void doSave(IProgressMonitor monitor) {\r
-               // TODO Auto-generated method stub\r
-               \r
-       }\r
-\r
-       @Override\r
-       public void doSaveAs() {\r
-               // TODO Auto-generated method stub\r
-               \r
-       }\r
-\r
-       @Override\r
-       public boolean isSaveAsAllowed() {\r
-               // TODO Auto-generated method stub\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
-               // Get taxon from editor input\r
-               if (input.getAdapter(Taxon.class) != null) {\r
-                       taxon = (Taxon) input.getAdapter(Taxon.class);\r
-               } else {\r
-                       taxon = null;\r
-               }\r
-\r
-               // Listen for name changes fired when taxon is saved; \r
-               //  change tab for this taxon editor accordingly\r
-               taxon.addPropertyChangeListener("name", new PropertyChangeListener() {\r
-                       public void propertyChange(PropertyChangeEvent e) {\r
-                               setPartName(taxon.getName().getTitleCache());\r
-                       }\r
-               });\r
-\r
-                // Any taxon that has been saved will by necessity have a name;\r
-                //  only a new taxon will not\r
-               if (taxon.getName().getTitleCache() == null)\r
-                       setPartName("New taxon");\r
-               else\r
-                       setPartName(taxon.getName().getTitleCache());\r
-               \r
-               setSite(site);\r
-               setInput(input);\r
-       }\r
-}\r
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/NameEditorView.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/NameEditorView.java
deleted file mode 100644 (file)
index efefc9a..0000000
+++ /dev/null
@@ -1,634 +0,0 @@
-package eu.etaxonomy.taxeditor.view;\r
-\r
-import java.beans.PropertyChangeEvent;\r
-import java.beans.PropertyChangeListener;\r
-import java.util.ArrayList;\r
-import java.util.List;\r
-\r
-import org.eclipse.core.databinding.beans.BeansObservables;\r
-import org.eclipse.core.databinding.observable.set.ISetChangeListener;\r
-import org.eclipse.core.databinding.observable.set.SetChangeEvent;\r
-import org.eclipse.core.runtime.IProgressMonitor;\r
-import org.eclipse.jface.text.source.SourceViewer;\r
-import org.eclipse.swt.SWT;\r
-import org.eclipse.swt.dnd.DND;\r
-import org.eclipse.swt.dnd.DropTarget;\r
-import org.eclipse.swt.dnd.DropTargetAdapter;\r
-import org.eclipse.swt.dnd.DropTargetEvent;\r
-import org.eclipse.swt.dnd.Transfer;\r
-import org.eclipse.swt.events.FocusEvent;\r
-import org.eclipse.swt.events.FocusListener;\r
-import org.eclipse.swt.events.MouseEvent;\r
-import org.eclipse.swt.events.MouseListener;\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.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.Link;\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.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
-\r
-import com.swtdesigner.ResourceManager;\r
-import com.swtdesigner.SWTResourceManager;\r
-\r
-import eu.etaxonomy.cdm.model.name.BotanicalName;\r
-import eu.etaxonomy.cdm.model.name.Rank;\r
-import eu.etaxonomy.cdm.model.name.TaxonNameBase;\r
-import eu.etaxonomy.cdm.model.taxon.Synonym;\r
-import eu.etaxonomy.cdm.model.taxon.Taxon;\r
-import eu.etaxonomy.taxeditor.Activator;\r
-import eu.etaxonomy.taxeditor.controller.ActionDeleteTaxon;\r
-import eu.etaxonomy.taxeditor.controller.ActionOpenNameEditor;\r
-import eu.etaxonomy.taxeditor.controller.ActionOpenNewChildNameEditor;\r
-import eu.etaxonomy.taxeditor.controller.ActionSaveTaxon;\r
-import eu.etaxonomy.taxeditor.controller.TaxonTransfer;\r
-import eu.etaxonomy.taxeditor.model.PropertySheetNode;\r
-import eu.etaxonomy.taxeditor.view.nameviewersupport.GroupComposite;\r
-import eu.etaxonomy.taxeditor.view.nameviewersupport.NameComposite;\r
-import eu.etaxonomy.taxeditor.view.nameviewersupport.TesterooWritableSet;\r
-import eu.etaxonomy.taxeditor.view.propertysheetsupport.PropertySheetContentProvider;\r
-import eu.etaxonomy.taxeditor.view.propertysheetsupport.PropertySheetValueEditingSupport;\r
-import eu.etaxonomy.taxeditor.view.propertysheetsupport.PropertySheetValueLabelProvider;\r
-\r
-/**\r
- * TODO: user should always know what kind of name - BotanicalName,\r
- *        ZoologicalName, etc. - he will be editing when a new taxon\r
- *        is created\r
- *        \r
- * @author p.ciardelli\r
- *\r
- */\r
-public class NameEditorView extends EditorPart {\r
-       /**\r
-        * The taxon the editor is editing \r
-        */\r
-       private Taxon taxon;\r
-       /**\r
-        * The higher taxon of the taxon the editor is editing \r
-        */\r
-       private Taxon higherTaxon = null;       \r
-       /**\r
-        * Shared listener that sets dirty state to true \r
-        *  when any registered property changes \r
-        */\r
-       private PropertyChangeListener taxonChangeListener = new PropertyChangeListener() {\r
-               public void propertyChange(PropertyChangeEvent arg0) {\r
-                       dirty = true;\r
-                       firePropertyChange(PROP_DIRTY);\r
-               }\r
-       };      \r
-       /**\r
-        * Arrays for the creation of synonyms - text and images \r
-        */\r
-       String [] relTypes = {"a synonym (type unknown)",\r
-                       "a homotypic synonym",\r
-                       "a heterotypic synoynm",\r
-                       "a basionym",\r
-                       "a replaced synonym",\r
-                       "a homonym",\r
-                       "an orthographic variant",\r
-                       "a misapplied name",\r
-                       "a concept relation"};\r
-       String [] relImgs = {"unknown_no_bg.gif",\r
-                       "homosyn_no_bg.gif",\r
-                       "heterosyn_no_bg.gif",\r
-                       "basionym_no_bg.gif",\r
-                       "repsyn_no_bg.gif",\r
-                       "homonym_no_bg.gif",\r
-                       "orthovariant_no_bg.gif",\r
-                       "misapplied_no_bg.gif",\r
-                       "concept_no_bg.gif"};\r
-       String [] conceptTypes = {"congruent","included in","includes","overlaps","excludes","doubtful"};\r
-       /**\r
-        * If true, show "save" prompt before closing editor \r
-        */\r
-       public boolean dirty = false;\r
-       String clickText;\r
-       \r
-       private Composite nameComposite;\r
-       private Composite contentComposite;\r
-       \r
-       private PropertySheetViewer propertySheetViewer;\r
-       private Composite parent;\r
-       \r
-       public static final String ID = "eu.etaxonomy.taxeditor.prototype2.view.nameeditorview"; //$NON-NLS-1$\r
-\r
-       public NameEditorView() {\r
-               \r
-       }\r
-       /**\r
-        * Create contents of the editor part\r
-        * @param parent\r
-        */\r
-       @Override\r
-       public void createPartControl(Composite parent) {\r
-       \r
-               this.parent = parent;\r
-               parent.setLayout(new GridLayout());\r
-               parent.setRedraw(true);\r
-                               \r
-               \r
-               createHigherTaxon();\r
-               \r
-\r
-               final CoolBar coolBar = new CoolBar(parent, SWT.NONE);\r
-               new CoolItem(coolBar, SWT.PUSH).setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/save_edit.gif"));\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");\r
-               itemSave.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/save_edit.gif"));\r
-               itemSave.addSelectionListener(new SelectionListener() {\r
-                       public void widgetDefaultSelected(SelectionEvent e) {\r
-                               dirty = false;\r
-                               new ActionSaveTaxon(taxon).run();\r
-                       }\r
-                       public void widgetSelected(SelectionEvent e) {\r
-                               dirty = false;\r
-                               new ActionSaveTaxon(taxon).run();\r
-                       }\r
-               });\r
-\r
-               final ToolItem itemMove = new ToolItem(toolBar, SWT.DROP_DOWN);\r
-               itemMove.setToolTipText("Move taxon");\r
-               \r
-               final Menu menuMove = new Menu(toolBar);\r
-               addDropDown(itemMove, menuMove);\r
-\r
-               final MenuItem moveTaxonMenuItem = new MenuItem(menuMove, SWT.NONE);\r
-               moveTaxonMenuItem.setText("Move taxon to another higher taxon");\r
-               moveTaxonMenuItem.addSelectionListener(new SelectionAdapter() {\r
-                       public void widgetSelected(final SelectionEvent e) {\r
-                               new MoveDialogView(getSite().getShell());                               \r
-                               MoveDialogView dialog = new MoveDialogView(getSite().getShell());\r
-                               dialog.open(taxon);                             \r
-                       }\r
-               });\r
-\r
-               final MenuItem taxonToSynonymMenuItem = new MenuItem(menuMove, SWT.NONE);\r
-               taxonToSynonymMenuItem.setSelection(true);\r
-               taxonToSynonymMenuItem.setText("Turn taxon's accepted name into a synonym");            \r
-               taxonToSynonymMenuItem.addSelectionListener(new SelectionAdapter() {\r
-                       public void widgetSelected(final SelectionEvent e) {\r
-                               new MoveDialogView(getSite().getShell());                               \r
-                               MoveDialogView dialog = new MoveDialogView(getSite().getShell());\r
-                               dialog.open(taxon);                             \r
-                       }\r
-               });\r
-\r
-               itemMove.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/correction_change.gif"));\r
-\r
-               final ToolItem itemDelete = new ToolItem(toolBar, SWT.NONE);\r
-               itemDelete.setToolTipText("Delete taxon");\r
-               itemDelete.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/delete_edit.gif"));\r
-               itemDelete.addSelectionListener(new SelectionListener() {\r
-\r
-                       public void widgetDefaultSelected(SelectionEvent e) {\r
-                               // TODO Auto-generated method stub\r
-                               \r
-                       }\r
-                       public void widgetSelected(SelectionEvent e) {\r
-                               new ActionDeleteTaxon(taxon).run();\r
-                       }\r
-               });\r
-                               \r
-               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 taxon");               \r
-               itemAddRelationship.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/rel_no_bg.gif"));\r
-\r
-               /*\r
-                * Create menu to add relations to the taxon\r
-                */\r
-               final Menu menuAddRel = new Menu(toolBar);\r
-               addDropDown(itemAddRelationship, menuAddRel);\r
-\r
-               for (int i = 0; i < relTypes.length; i++) {\r
-                       final MenuItem menuItem;\r
-                       if (relTypes[i].contains("concept")) {\r
-                               menuItem = new MenuItem(menuAddRel, SWT.CASCADE);\r
-                               \r
-                               final Menu conceptMenu = new Menu(menuItem);\r
-                               menuItem.setMenu(conceptMenu);\r
-                               \r
-                               for (int j = 0; j < conceptTypes.length; j++) {\r
-                                       final MenuItem conceptMenuItem = new MenuItem(conceptMenu, SWT.CHECK);\r
-                                       conceptMenuItem.setText(conceptTypes[j]);\r
-                               }       \r
-                       } else {\r
-                               menuItem = new MenuItem(menuAddRel, SWT.NONE);                          \r
-                       }\r
-                       \r
-                       menuItem.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/" + relImgs[i]));\r
-                       menuItem.setText("Add " + relTypes[i]);\r
-               }\r
-               \r
-               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_edit.gif"));\r
-               itemAddTaxon.setToolTipText("Add new taxon");\r
-\r
-               /*\r
-                *  drop-down to add new "included in" taxon\r
-                */             \r
-               final Menu menuAdd = new Menu(toolBar);\r
-               addDropDown(itemAddTaxon, menuAdd);\r
-\r
-               if (higherTaxon != null) {\r
-                       final MenuItem addToHigherTaxonItem = new MenuItem(menuAdd, SWT.NONE);\r
-                       addToHigherTaxonItem.setText("Add new taxon to \"" + higherTaxon.getName().getTitleCache() + "\"");\r
-                       addToHigherTaxonItem.addSelectionListener(new SelectionListener() {\r
-                               public void widgetDefaultSelected(SelectionEvent e) {\r
-                                       // TODO Auto-generated method stub\r
-                                       \r
-                               }\r
-                               public void widgetSelected(SelectionEvent e) {\r
-                                       new ActionOpenNewChildNameEditor(higherTaxon).run();\r
-                               }               \r
-                       });\r
-               }\r
-               final MenuItem addTaxonItem = new MenuItem(menuAdd, SWT.NONE);\r
-               addTaxonItem.setText("Add new taxon to this taxon");\r
-               addTaxonItem.addSelectionListener(new SelectionListener() {\r
-                       public void widgetDefaultSelected(SelectionEvent e) {\r
-                               // TODO Auto-generated method stub\r
-                               \r
-                       }\r
-                       public void widgetSelected(SelectionEvent e) {\r
-                               new ActionOpenNewChildNameEditor(taxon).run();\r
-                       }               \r
-               });\r
-\r
-               contentComposite = new Composite(parent, SWT.NONE);\r
-               contentComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));\r
-               contentComposite.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));\r
-               final GridLayout gridLayout_2 = new GridLayout();\r
-               gridLayout_2.marginHeight = 0;\r
-               gridLayout_2.marginWidth = 0;\r
-               gridLayout_2.numColumns = 2;\r
-               contentComposite.setLayout(gridLayout_2);\r
-               contentComposite.setRedraw(true);\r
-\r
-               \r
-               nameComposite = new Composite(contentComposite, SWT.NONE);\r
-               nameComposite.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));\r
-               nameComposite.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, true));\r
-               GridLayout gridLayout = new GridLayout();\r
-               gridLayout.verticalSpacing = 10;\r
-               nameComposite.setLayout(gridLayout);            \r
-               nameComposite.setRedraw(true);\r
-               \r
-               \r
-//             clickText = "Click here to start entering accepted name or enter its individual fields in the property sheet to the right";\r
-//             NameViewer_ acceptedNameViewer = new AcceptedNameViewer(taxon, bindingContext, nameComposite);\r
-//             acceptedNameViewer.setBindingContext(bindingContext);\r
-//             acceptedNameViewer.configure(new NameViewerConfig());\r
-               \r
-               GroupComposite homoGroupComposite = new GroupComposite(nameComposite);\r
-               homoGroupComposite.setTaxon(taxon);\r
-               homoGroupComposite.setNameEditorView(this);\r
-               \r
-               new NameComposite(homoGroupComposite, taxon).setNameEditorView(this);\r
-               \r
-               TesterooWritableSet.getInstance().addSetChangeListener\r
-               (new ISetChangeListener() {\r
-                       public void handleSetChange(SetChangeEvent event) {\r
-                               for ( Object addition: event.diff.getAdditions()) {\r
-                                       if (addition instanceof Synonym)\r
-                                               createHeterotypicalGroup((Synonym) addition);\r
-                               }\r
-                               nameComposite.layout();\r
-                               contentComposite.layout();\r
-                       }\r
-               });\r
-               \r
-               // Listen for names being dragged outside of existing homotypic groups -\r
-               //  user wants to create a new group\r
-               // Drop functionality\r
-               Transfer[] types = new Transfer[] {TaxonTransfer.getInstance()};\r
-               int operations = DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_DEFAULT;\r
-               DropTarget target = new DropTarget(nameComposite, operations);\r
-               target.setTransfer(types);\r
-               target.addDropListener(dropTargetAdapter);\r
-               \r
-               /*\r
-                *  construct PropertySheetViewer, with bindings to model layer\r
-                */\r
-               propertySheetViewer = new PropertySheetViewer(contentComposite);\r
-               \r
-               propertySheetViewer.setContentProvider(\r
-                               new PropertySheetContentProvider());\r
-               propertySheetViewer.getPropertyValueColumn().setLabelProvider(\r
-                               new PropertySheetValueLabelProvider(propertySheetViewer));\r
-               propertySheetViewer.getPropertyValueColumn().setEditingSupport(\r
-                               new PropertySheetValueEditingSupport(propertySheetViewer));\r
-               \r
-               setPropertySheetNodes(taxon.getName());         \r
-       }\r
-       \r
-       /**\r
-        * Display hyperlinked higher taxon, if there is one\r
-        */\r
-       private void createHigherTaxon() {\r
-               Composite higherTaxonComposite = new Composite(parent, SWT.NONE);\r
-               higherTaxonComposite.setLayout(new FillLayout());\r
-               (new Label(higherTaxonComposite, SWT.NONE)).setText("Higher taxon:  ");\r
-               if (higherTaxon == null)\r
-                       (new Label(higherTaxonComposite, SWT.NONE)).setText("none");\r
-               else {\r
-                       Link higherTaxonLink = new Link(higherTaxonComposite, SWT.NONE);\r
-                       higherTaxonLink.setText("<a href=\"#\">" + higherTaxon.getName().getTitleCache() + "</a>");\r
-                       higherTaxonLink.addMouseListener(new MouseListener() {\r
-                               public void mouseDoubleClick(MouseEvent e) {\r
-                                       new ActionOpenNameEditor(higherTaxon).run();                                    \r
-                               }\r
-                               public void mouseDown(MouseEvent e) {\r
-                                       new ActionOpenNameEditor(higherTaxon).run();\r
-                               }\r
-                               public void mouseUp(MouseEvent e) {\r
-                               }               \r
-                       });\r
-               }               \r
-       }\r
-       public void setPropertySheetNodes(TaxonNameBase taxonname) {\r
-               propertySheetViewer.setInput(getPropertySheetNodes(taxonname));\r
-               propertySheetViewer.setExpandedState(fullTitleNode, true);\r
-       }\r
-\r
-       private SourceViewer createAcceptedName_() {\r
-               \r
-//             Method[] methods = BotanicalName.class.getMethods();\r
-//             for (int i = 0; i < methods.length; i++) {\r
-//                     System.out.println("Annotations:");\r
-//                     for (int j = 0; i < methods[j].getAnnotations().length; j++)\r
-//                             System.out.println("\t" + methods[i].getAnnotations()[j]);\r
-//                     System.out.println("Type: " + methods[i].getReturnType().toString());\r
-//                     System.out.println("Name:" + methods[i].getName());\r
-//                     System.out.println();\r
-//             }\r
-               // use annotations to find persistent methods\r
-               \r
-               \r
-//             PropertyDescriptor descriptor;\r
-//             try {\r
-//                     descriptor = new PropertyDescriptor("genus", taxonname.getClass());\r
-//                     try {\r
-//                             System.out.println("Property desc. test in createAcceptedName: " \r
-//                                             + descriptor.getReadMethod().invoke(taxonname, null));\r
-//                     } catch (IllegalArgumentException e) {\r
-//                             // TODO Auto-generated catch block\r
-//                             e.printStackTrace();\r
-//                     } catch (IllegalAccessException e) {\r
-//                             // TODO Auto-generated catch block\r
-//                             e.printStackTrace();\r
-//                     } catch (InvocationTargetException e) {\r
-//                             // TODO Auto-generated catch block\r
-//                             e.printStackTrace();\r
-//                     }\r
-//             } catch (IntrospectionException e) {\r
-//                     // TODO Auto-generated catch block\r
-//                     e.printStackTrace();\r
-//             } \r
-               \r
-               final SourceViewer sourceViewer = new SourceViewer(nameComposite, null, 0); // createSourceViewer(taxon.getName());\r
-               \r
-               sourceViewer.getTextWidget().setLayoutData(\r
-                               new GridData(SWT.FILL, SWT.CENTER, true, false, 2, 1));\r
-               sourceViewer.getTextWidget().setFont(\r
-                               SWTResourceManager.getFont("Georgia", 12, SWT.NONE));           \r
-               \r
-               /*\r
-                *  if this is a new name, show text prompt to start entering data\r
-                */\r
-               if (taxon.getName().getNameCache() == null) {\r
-                       clickText = "Click here to start entering accepted name or enter individual fields in the property sheet to the right";\r
-                       \r
-                       sourceViewer.getTextWidget().setText(clickText);\r
-                       sourceViewer.getTextWidget().setFont(SWTResourceManager.getFont("Georgia", 12, SWT.ITALIC));\r
-                       sourceViewer.getTextWidget().setForeground(SWTResourceManager.getColor(192, 192, 192));\r
-                       sourceViewer.getTextWidget().addFocusListener(new FocusListener() {\r
-                               public void focusGained(FocusEvent e) {\r
-                                       if (!dirty) {\r
-                                               sourceViewer.getTextWidget().setText("");\r
-                                               sourceViewer.getTextWidget().setFont(SWTResourceManager.getFont("Georgia", 12, SWT.NONE));\r
-                                               sourceViewer.getTextWidget().setForeground(SWTResourceManager.getColor(0, 0, 0));\r
-//                                             dirty = true;\r
-//                                             firePropertyChange(PROP_DIRTY);\r
-                                       }\r
-                               }\r
-                               public void focusLost(FocusEvent e) {                           \r
-                                       if (sourceViewer.getTextWidget().getText() == "") {\r
-                                               sourceViewer.getTextWidget().setForeground(SWTResourceManager.getColor(192, 192, 192));\r
-                                               sourceViewer.getTextWidget().setText(clickText);\r
-                                               sourceViewer.getTextWidget().setFont(SWTResourceManager.getFont("Georgia", 12, SWT.ITALIC));\r
-                                               dirty = false;\r
-                                       } else {\r
-                                               dirty = true;\r
-                                       }\r
-                               }\r
-                       });             \r
-               }\r
-               \r
-               return sourceViewer;\r
-       }\r
-       \r
-\r
-\r
-       /**\r
-        * Creates the drop-down menu next to every synonym for changing relationship type\r
-        * \r
-        * @param label\r
-        * @param name\r
-        */\r
-//     private void createRelationMenu(Control control, BotanicalName name) {\r
-       private void createRelationMenu(final Label label) {\r
-               \r
-               final Menu menu = new Menu(label);\r
-               label.setMenu(menu);\r
-               \r
-               // context menu usually only shows up w/ right menu click -\r
-               //  this listener lets the left click activate it as well\r
-               label.addMouseListener(new MouseListener() {\r
-                       public void mouseDown(MouseEvent e) {\r
-                               menu.setVisible(true);\r
-                       }\r
-                       public void mouseDoubleClick(MouseEvent e) { }\r
-                       public void mouseUp(MouseEvent e) {     }\r
-               });\r
-               \r
-               createRelationMenuItem(menu, "delete_edit.gif", "Delete synonym from this taxon");\r
-               createRelationMenuItem(menu, "correction_change.gif", "Move synonym to another taxon");\r
-               \r
-               new MenuItem(menu, SWT.SEPARATOR);\r
-               \r
-               for (int i= 0; i < relTypes.length; i++) {\r
-                       final String relImg = relImgs[i];\r
-                       String relText = "Turn this synonym into " + relTypes[i];\r
-                       createRelationMenuItem(menu, relImg, relText).addSelectionListener(new SelectionListener() {\r
-                               public void widgetDefaultSelected(SelectionEvent e) {   \r
-                               }\r
-                               public void widgetSelected(SelectionEvent e) {\r
-                                       label.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/" + relImg));      \r
-                               }\r
-                       });\r
-               }\r
-       }\r
-       \r
-       private MenuItem createRelationMenuItem(Menu menu, String img, String text) {\r
-               final MenuItem menuItem = new MenuItem(menu, SWT.NONE);\r
-               menuItem.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/" + img));\r
-               menuItem.setText(text);\r
-               return menuItem;\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(Taxon.class) != null) {\r
-                       taxon = (Taxon) input.getAdapter(Taxon.class);\r
-               } else {\r
-                       \r
-                       taxon = null;\r
-               }\r
-               \r
-               // Get parent taxon\r
-               if (taxon.getTaxonomicParent() != null)\r
-                               higherTaxon = taxon.getTaxonomicParent();\r
-               \r
-               // Register listeners for any change in accepted name or set of relations\r
-               taxon.getName().addPropertyChangeListener("titleCache", taxonChangeListener);\r
-               taxon.addPropertyChangeListener("synonyms", taxonChangeListener);\r
-               \r
-               setSite(site);\r
-               setInput(input);\r
-               \r
-       }\r
-\r
-       PropertySheetNode fullTitleNode;\r
-       /**\r
-        * @param taxonName\r
-        * @return\r
-        */\r
-       private List<PropertySheetNode> getPropertySheetNodes(TaxonNameBase taxonName) {\r
-                               \r
-               BotanicalName botName = (BotanicalName) taxonName;\r
-                               \r
-               List<PropertySheetNode> propertySheetNodes = new ArrayList<PropertySheetNode>();\r
-               fullTitleNode = new PropertySheetNode("Full Title", BeansObservables.observeValue(botName, "titleCache"), \r
-                               null, PropertySheetNode.EDITABLE);\r
-               propertySheetNodes.add(fullTitleNode);\r
-                               \r
-               // Note: only top-level nodes are "add"-ed - otherwise, they are\r
-               //  instantiated with their parent node\r
-               if (botName.getRank() == null) botName.setRank(Rank.GENUS());\r
-               new PropertySheetNode("Rank", botName.getRank().getLabel(), \r
-                               fullTitleNode, PropertySheetNode.NOT_EDITABLE);         \r
-               new PropertySheetNode("Genus", BeansObservables.observeValue(botName, "uninomial"), \r
-                               fullTitleNode, PropertySheetNode.EDITABLE);\r
-               new PropertySheetNode("Species Epithet", BeansObservables.observeValue(botName, "specificEpithet"), \r
-                               fullTitleNode, PropertySheetNode.EDITABLE);\r
-               \r
-               String author = \r
-                       botName.getCombinationAuthorTeam() == null ? "" : \r
-                               botName.getCombinationAuthorTeam().getTitleCache();\r
-               new PropertySheetNode("Author", author, \r
-                               fullTitleNode, PropertySheetNode.NOT_EDITABLE);\r
-\r
-               return propertySheetNodes;\r
-       }\r
-       \r
-       @Override\r
-       public boolean isDirty() {\r
-               return dirty;\r
-       }\r
-\r
-       @Override\r
-       public boolean isSaveAsAllowed() {\r
-               return false;\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
-       private void createHeterotypicalGroup(Synonym heterosyn) {\r
-\r
-               GroupComposite heteroGroupComposite = new GroupComposite(nameComposite);\r
-               heteroGroupComposite.setTaxon(taxon);\r
-               heteroGroupComposite.setNameEditorView(this);\r
-               \r
-               NameComposite nameComposite = new NameComposite(heteroGroupComposite, heterosyn, taxon);\r
-               nameComposite.setNameEditorView(this);\r
-               nameComposite.setFocus();\r
-       }\r
-       \r
-       /**\r
-        * Creates a new homotypic group when a name composite is dropped outside of all existing\r
-        *  homotypic groups \r
-        */\r
-       DropTargetAdapter dropTargetAdapter = new DropTargetAdapter() {\r
-               \r
-               public void drop(DropTargetEvent event) {\r
-                       \r
-                       Synonym synonym = (Synonym) event.data; \r
-                       \r
-                       GroupComposite homotypicGroupComposite = new GroupComposite(nameComposite);\r
-                       homotypicGroupComposite.setTaxon(taxon);\r
-                       homotypicGroupComposite.setNameEditorView(NameEditorView.this);\r
-                       \r
-                       new NameComposite(homotypicGroupComposite, synonym, taxon).setFocus();\r
-                       \r
-                       NameEditorView.this.contentComposite.layout();\r
-               }               \r
-       };      \r
-}
\ No newline at end of file
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/NameListView.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/NameListView.java
deleted file mode 100644 (file)
index 5028664..0000000
+++ /dev/null
@@ -1,243 +0,0 @@
-package eu.etaxonomy.taxeditor.view;\r
-\r
-import org.eclipse.jface.action.IMenuManager;\r
-import org.eclipse.jface.action.IToolBarManager;\r
-import org.eclipse.jface.viewers.TableViewer;\r
-import org.eclipse.jface.viewers.TreeViewer;\r
-import org.eclipse.swt.SWT;\r
-import org.eclipse.swt.events.FocusEvent;\r
-import org.eclipse.swt.events.FocusListener;\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.Control;\r
-import org.eclipse.swt.widgets.Display;\r
-import org.eclipse.swt.widgets.ExpandBar;\r
-import org.eclipse.swt.widgets.ExpandItem;\r
-import org.eclipse.swt.widgets.Label;\r
-import org.eclipse.swt.widgets.Menu;\r
-import org.eclipse.swt.widgets.MenuItem;\r
-import org.eclipse.swt.widgets.Text;\r
-import org.eclipse.ui.part.ViewPart;\r
-\r
-import com.swtdesigner.ResourceManager;\r
-import com.swtdesigner.SWTResourceManager;\r
-\r
-import eu.etaxonomy.taxeditor.Activator;\r
-import eu.etaxonomy.taxeditor.view.RecentNamesTableViewer;\r
-import eu.etaxonomy.taxeditor.view.TaxonomicTreeViewer;\r
-\r
-/**\r
- * @author p.ciardelli\r
- *\r
- */\r
-public class NameListView extends ViewPart {\r
-       \r
-       private Text searchText;\r
-       private Composite composite;\r
-       private Composite taxTreeComposite = null;\r
-       private Composite recentNamesComposite = null;\r
-       private Composite searchComposite = null;       \r
-       private Composite top = null;\r
-       private ExpandBar expandBar = null;\r
-       private ExpandItem taxTreeExpandItem;\r
-       private ExpandItem recentNamesExpandItem;\r
-       private ExpandItem searchExpandItem;\r
-       private TableViewer recentNamesViewer;  \r
-       public static final String ID = "eu.etaxonomy.taxeditor.prototype2.view.namelistview"; //$NON-NLS-1$\r
-\r
-       private TreeViewer treeViewer;\r
-       \r
-       /**\r
-        * Create contents of the view part\r
-        * @param parent\r
-        */\r
-       @Override\r
-       public void createPartControl(Composite parent) {\r
-               \r
-               parent.setLayout(new FillLayout());\r
-               GridLayout gridLayout = new GridLayout();\r
-               gridLayout.horizontalSpacing = 0;\r
-               gridLayout.marginWidth = 0;\r
-               gridLayout.marginHeight = 0;\r
-               gridLayout.verticalSpacing = 0; \r
-                               \r
-               top = new Composite(parent, SWT.NONE);\r
-               top.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));\r
-\r
-               composite = new Composite(top, SWT.NONE);\r
-               composite.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));\r
-               final GridLayout gridLayout_1 = new GridLayout();\r
-               gridLayout_1.numColumns = 2;\r
-               composite.setLayout(gridLayout_1);\r
-               final Label lblDataSourceTitle = new Label(composite, SWT.NONE);\r
-               lblDataSourceTitle.setFont(SWTResourceManager.getFont("Arial", 14, SWT.BOLD));\r
-               lblDataSourceTitle.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));\r
-               lblDataSourceTitle.setAlignment(SWT.CENTER);\r
-               lblDataSourceTitle.setText(" Euro+Med");                \r
-               \r
-               final Label lblDbImg = new Label(composite, SWT.NONE);\r
-               lblDbImg.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false));\r
-               lblDbImg.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));\r
-               lblDbImg.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/db.gif"));\r
-\r
-               final Menu menu = new Menu(lblDbImg);\r
-               lblDbImg.setMenu(menu);\r
-\r
-               final MenuItem checkboxMenuItem = new MenuItem(menu, SWT.CHECK);\r
-               checkboxMenuItem.setSelection(true);\r
-               checkboxMenuItem.setText("Euro+Med (mssql://128.14.101.12:80/europlusmed)");\r
-\r
-               final MenuItem checkboxMenuItem_1 = new MenuItem(menu, SWT.CHECK);\r
-               checkboxMenuItem_1.setText("WP6 (mssql://128.14.101.13:80/wp6)");\r
-\r
-               final MenuItem palmWebora1922299480pwMenuItem = new MenuItem(menu, SWT.NONE);\r
-               palmWebora1922299480pwMenuItem.setText("Palm Web (ora://192.22.99.4:80/pw)");\r
-\r
-               new MenuItem(menu, SWT.SEPARATOR);\r
-\r
-               final MenuItem newDataSourceMenuItem = new MenuItem(menu, SWT.NONE);\r
-               newDataSourceMenuItem.setText("New data source ...");\r
-               \r
-               final Label lblDataSource = new Label(composite, SWT.NONE);\r
-               final GridData gd_lblDataSource = new GridData(SWT.LEFT, SWT.CENTER, false, false, 2, 1);\r
-               gd_lblDataSource.heightHint = 16;\r
-               lblDataSource.setLayoutData(gd_lblDataSource);\r
-               lblDataSource.setFont(SWTResourceManager.getFont("Arial", 8, SWT.NONE));\r
-               lblDataSource.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));\r
-               lblDataSource.setAlignment(SWT.CENTER);\r
-               lblDataSource.setText("  mssql://128.14.101.12:80/europlusmed");\r
-\r
-               createExpandBar();\r
-               top.setLayout(gridLayout);\r
-               top.setTabList(new Control[] {composite, expandBar});\r
-       }\r
-\r
-       /**\r
-        * This method initializes expandBar\r
-        * \r
-        */\r
-       private void createExpandBar() {\r
-               expandBar = new ExpandBar(top, SWT.V_SCROLL);\r
-               GridData gridData = new GridData();\r
-               gridData.horizontalAlignment = GridData.FILL;\r
-               gridData.grabExcessHorizontalSpace = true;\r
-               gridData.grabExcessVerticalSpace = true;\r
-               gridData.verticalAlignment = GridData.FILL;\r
-               expandBar.setLayoutData(gridData);\r
-               createNameListComposite();\r
-               createRecentNamesComposite();\r
-               createSearchComposite();\r
-               \r
-               createActions();\r
-               initializeToolBar();\r
-               initializeMenu();\r
-               \r
-       }\r
-       \r
-       private void createNameListComposite() {\r
-               taxTreeExpandItem = new ExpandItem(expandBar, SWT.NONE, 0);\r
-               taxTreeExpandItem.setExpanded(true);\r
-               taxTreeExpandItem.setHeight(200);\r
-               taxTreeExpandItem.setText("Taxonomic Tree");\r
-               \r
-               taxTreeComposite = new Composite(expandBar, SWT.NONE);\r
-               taxTreeComposite.setLayout(new FillLayout());\r
-               taxTreeComposite.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));\r
-               \r
-               taxTreeExpandItem.setControl(taxTreeComposite);\r
-\r
-               treeViewer = new TaxonomicTreeViewer(taxTreeComposite);\r
-       }\r
-       \r
-       private void createRecentNamesComposite() {\r
-               recentNamesExpandItem = new ExpandItem(expandBar, SWT.NONE, 1);\r
-               recentNamesExpandItem.setHeight(130);\r
-               recentNamesExpandItem.setExpanded(true);\r
-               recentNamesExpandItem.setText("Recently viewed names");\r
-               recentNamesComposite = new Composite(expandBar, SWT.NONE);\r
-               recentNamesComposite.setLayout(new GridLayout());\r
-\r
-               recentNamesExpandItem.setControl(recentNamesComposite);\r
-\r
-               recentNamesViewer = new RecentNamesTableViewer(recentNamesComposite);\r
-       }\r
-\r
-       private void createSearchComposite() {\r
-               searchExpandItem = new ExpandItem(expandBar, SWT.NONE, 2);\r
-               searchExpandItem.setHeight(50);\r
-               searchExpandItem.setExpanded(true);\r
-               searchExpandItem.setText("Search");\r
-               searchComposite = new Composite(expandBar, SWT.NONE);\r
-               final GridLayout gridLayout = new GridLayout();\r
-               gridLayout.numColumns = 2;\r
-               searchComposite.setLayout(gridLayout);\r
-\r
-               searchExpandItem.setControl(searchComposite);\r
-\r
-               searchText = new Text(searchComposite, SWT.BORDER);\r
-               searchText.setForeground(SWTResourceManager.getColor(192, 192, 192));\r
-               searchText.setText("Use \"*\" for wildcard searching");\r
-               final GridData gd_useForText = new GridData(SWT.FILL, SWT.CENTER, true, false);\r
-               searchText.setLayoutData(gd_useForText);\r
-               searchText.addFocusListener(new FocusListener() {\r
-\r
-                       public void focusGained(FocusEvent e) {\r
-                               searchText.setForeground(SWTResourceManager.getColor(0,0,0));\r
-                               searchText.setText("");\r
-                       }\r
-\r
-                       public void focusLost(FocusEvent e) {\r
-                               if (searchText.getText() == "") {\r
-                                       searchText.setForeground(SWTResourceManager.getColor(192, 192, 192));\r
-                                       searchText.setText("Use \"*\" for wildcard searching");                                 \r
-                               }\r
-                               \r
-                       }\r
-                       \r
-               });\r
-\r
-               final Button searchButton = new Button(searchComposite, SWT.NONE);\r
-               searchButton.setText("Search");\r
-\r
-//             Image image = FileArrangerImages.getImageRegistry().get(\r
-//                             IFileArrangerImages.IMG_FTP);\r
-//             ftpExpandItem.setImage(image);\r
-       }       \r
-       \r
-       private void createActions() {\r
-               // Create the actions\r
-       }\r
-\r
-       /**\r
-        * Initialize the toolbar\r
-        */\r
-       private void initializeToolBar() {\r
-               IToolBarManager toolbarManager = getViewSite().getActionBars()\r
-                               .getToolBarManager();\r
-       }\r
-\r
-       /**\r
-        * Initialize the menu\r
-        */\r
-       private void initializeMenu() {\r
-               IMenuManager menuManager = getViewSite().getActionBars()\r
-                               .getMenuManager();\r
-       }\r
-\r
-       @Override\r
-       public void setFocus() {\r
-               // Set the focus\r
-       }\r
-\r
-       /**\r
-        * Expose TreeViewer, i.e. to manipulate tree nodes\r
-        * @return\r
-        */\r
-       public TreeViewer getTreeViewer() {\r
-               return treeViewer;\r
-       }\r
-       \r
-}\r
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/NameViewer.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/NameViewer.java
deleted file mode 100644 (file)
index a9963e9..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-package eu.etaxonomy.taxeditor.view;\r
-\r
-import java.util.Iterator;\r
-\r
-import org.eclipse.jface.text.Document;\r
-import org.eclipse.jface.text.Position;\r
-import org.eclipse.jface.text.source.Annotation;\r
-import org.eclipse.jface.text.source.AnnotationModel;\r
-import org.eclipse.jface.text.source.AnnotationPainter;\r
-import org.eclipse.jface.text.source.IAnnotationAccess;\r
-import org.eclipse.jface.text.source.SourceViewer;\r
-import org.eclipse.swt.SWT;\r
-import org.eclipse.swt.graphics.Color;\r
-import org.eclipse.swt.widgets.Composite;\r
-import org.eclipse.swt.widgets.Display;\r
-\r
-import eu.etaxonomy.taxeditor.view.nameviewersupport.AnnotationMarkerAccess;\r
-import eu.etaxonomy.taxeditor.view.nameviewersupport.ErrorAnnotation;\r
-import eu.etaxonomy.taxeditor.view.nameviewersupport.WarningAnnotation;\r
-\r
-/**\r
- * SourceViewer implementation called by NameEditorView.\r
- *  \r
- * @author p.ciardelli\r
- *\r
- */\r
-public class NameViewer extends SourceViewer {\r
-       \r
-       public NameViewer(Composite parent) {\r
-               super(parent, null, SWT.WRAP | SWT.MULTI | SWT.RESIZE);\r
-                               \r
-               // Set name viewer's text to name cache\r
-               this.setDocument(new Document(""), new AnnotationModel());\r
-                               \r
-               // Annotations section\r
-               IAnnotationAccess fAnnotationAccess = new AnnotationMarkerAccess();\r
-               \r
-               // To paint the annotations\r
-               AnnotationPainter annotationPainter = new AnnotationPainter(this, fAnnotationAccess);\r
-\r
-               // Add ability to paint red squigglies\r
-               annotationPainter.addAnnotationType(ErrorAnnotation.ERROR_TYPE);\r
-               annotationPainter.setAnnotationTypeColor(ErrorAnnotation.ERROR_TYPE, \r
-                               new Color(Display.getDefault(), ErrorAnnotation.ERROR_RGB));\r
-\r
-               // Add ability to paint yellow squigglies\r
-               annotationPainter.addAnnotationType(WarningAnnotation.WARNING_TYPE);\r
-               annotationPainter.setAnnotationTypeColor(WarningAnnotation.WARNING_TYPE, \r
-                               new Color(Display.getDefault(), WarningAnnotation.WARNING_RGB));                \r
-               \r
-               this.addPainter(annotationPainter);\r
-       }\r
-\r
-       public void setShowError(boolean hasProblem) {\r
-                       \r
-               String text = this.getTextWidget().getText();\r
-               \r
-               Iterator<Annotation> annotations = this.getAnnotationModel().getAnnotationIterator();\r
-               while (annotations.hasNext()) {\r
-                       Annotation annotation = annotations.next(); \r
-                       if (annotation.getType().equals(ErrorAnnotation.ERROR_TYPE))\r
-                               this.getAnnotationModel().removeAnnotation(annotation);\r
-               }\r
-               \r
-               // Failed attempt to get multi-line squigglies drawn\r
-               if (hasProblem && text.length() > 0) {\r
-                       for (int i = 1; i <= this.getTextWidget().getLineCount(); i++) {\r
-                               this.getAnnotationModel().addAnnotation(\r
-                                               new ErrorAnnotation(i, "Could not parse name."), \r
-                                               new Position(0, text.length()));\r
-                       }\r
-               }\r
-       }\r
-}
\ No newline at end of file
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/PropertySheetViewer.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/PropertySheetViewer.java
deleted file mode 100644 (file)
index 4933fb7..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-package eu.etaxonomy.taxeditor.view;\r
-\r
-import org.eclipse.core.databinding.DataBindingContext;\r
-import org.eclipse.jface.viewers.ColumnLabelProvider;\r
-import org.eclipse.jface.viewers.TreeViewer;\r
-import org.eclipse.jface.viewers.TreeViewerColumn;\r
-import org.eclipse.swt.SWT;\r
-import org.eclipse.swt.layout.GridData;\r
-import org.eclipse.swt.widgets.Composite;\r
-import org.eclipse.swt.widgets.Event;\r
-import org.eclipse.swt.widgets.Listener;\r
-\r
-import eu.etaxonomy.taxeditor.model.PropertySheetNode;\r
-\r
-/**\r
- * Creates a tree viewer with two columns, one for field names the other\r
- *  for their values. Note: labels and editing support for values column,\r
- *  content provider and input for viewer must be set by the calling method \r
- * \r
- * @author p.ciardelli\r
- *\r
- */\r
-public class PropertySheetViewer extends TreeViewer {\r
-\r
-       final private TreeViewerColumn propertyFieldColumn;\r
-       private TreeViewerColumn propertyValueColumn;\r
-       private DataBindingContext bindingContext = new DataBindingContext();\r
-       \r
-       public PropertySheetViewer(Composite parent) {\r
-               // Note: SWT.FULL_SELECTION hides lines connecting nodes\r
-               super(parent, SWT.BORDER | SWT.FULL_SELECTION);\r
-\r
-               this.getTree().setLayoutData(new GridData(SWT.RIGHT, SWT.FILL, false, true));\r
-//             this.getTree().setLayoutData(new GridData(GridData.FILL_BOTH));\r
-               \r
-               // create a column for property fields\r
-               propertyFieldColumn = new TreeViewerColumn(this, SWT.NONE);\r
-               propertyFieldColumn.getColumn().setMoveable(true);\r
-               propertyFieldColumn.setLabelProvider(new ColumnLabelProvider() {\r
-                       public String getText(Object element) {\r
-                           return ((PropertySheetNode) element).getPropertyField();\r
-                       }\r
-               });\r
-                               \r
-               // create a column for property values          \r
-               propertyValueColumn = new TreeViewerColumn(this, SWT.NONE);\r
-               propertyValueColumn.getColumn().setMoveable(true);\r
-               \r
-               this.getTree().setLinesVisible(true);\r
-               this.getTree().setHeaderVisible(true);\r
-//             this.getTree().getVerticalBar().setEnabled(true);\r
-               this.getTree().getVerticalBar().setEnabled(false);\r
-               \r
-               this.getTree().setSize(200, 300);\r
-               propertyValueColumn.getColumn().setWidth(100);\r
-               propertyFieldColumn.getColumn().setWidth(100);\r
-               \r
-//             try {\r
-//                     TableColumnLayout layout = new TableColumnLayout();\r
-//                     this.getTree().setLayout(layout);\r
-//                     \r
-//                     layout.setColumnData( propertyFieldColumn.getColumn(), new ColumnWeightData( 30 ) );\r
-//                     layout.setColumnData( propertyValueColumn.getColumn(), new ColumnWeightData( 60 ) );\r
-//             } catch (RuntimeException e) {\r
-//                     // TODO Auto-generated catch block\r
-//                     e.printStackTrace();\r
-//             }\r
-               \r
-               propertyFieldColumn.getColumn().addListener(SWT.Selection, new Listener() {\r
-                       public void handleEvent(Event event) {\r
-                               propertyFieldColumn.getColumn().pack();\r
-                       }\r
-               });\r
-               propertyValueColumn.getColumn().addListener(SWT.Selection, new Listener() {\r
-                       public void handleEvent(Event event) {\r
-                               propertyValueColumn.getColumn().pack();\r
-                       }\r
-               });             \r
-               this.getTree().addListener(SWT.MeasureItem, new Listener() {\r
-                       public void handleEvent(Event event) {\r
-//                             event.width *= 2;       \r
-                       }\r
-               });\r
-               \r
-       }\r
-\r
-       public TreeViewerColumn getPropertyFieldColumn() {\r
-               return propertyFieldColumn;\r
-       }\r
-\r
-       public TreeViewerColumn getPropertyValueColumn() {\r
-               return propertyValueColumn;\r
-       }\r
-\r
-       public DataBindingContext getBindingContext() {\r
-               return bindingContext;\r
-       }\r
-}
\ No newline at end of file
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/RecentNamesTableViewer.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/RecentNamesTableViewer.java
deleted file mode 100644 (file)
index f6e4942..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-package eu.etaxonomy.taxeditor.view;\r
-\r
-import org.eclipse.core.databinding.beans.BeansObservables;\r
-import org.eclipse.core.databinding.observable.map.IObservableMap;\r
-import org.eclipse.jface.databinding.viewers.ObservableListContentProvider;\r
-import org.eclipse.jface.databinding.viewers.ObservableMapLabelProvider;\r
-import org.eclipse.jface.viewers.DoubleClickEvent;\r
-import org.eclipse.jface.viewers.IDoubleClickListener;\r
-import org.eclipse.jface.viewers.StructuredSelection;\r
-import org.eclipse.jface.viewers.TableViewer;\r
-import org.eclipse.swt.SWT;\r
-import org.eclipse.swt.layout.GridData;\r
-import org.eclipse.swt.widgets.Composite;\r
-\r
-import eu.etaxonomy.cdm.model.taxon.Taxon;\r
-import eu.etaxonomy.taxeditor.Activator;\r
-import eu.etaxonomy.taxeditor.controller.ActionOpenNameEditor;\r
-\r
-public class RecentNamesTableViewer extends TableViewer {\r
-\r
-       public RecentNamesTableViewer(Composite parent) {\r
-               super(parent, SWT.H_SCROLL | SWT.V_SCROLL);\r
-               this.getTable().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));\r
-               \r
-               // Add content provider\r
-               ObservableListContentProvider rnViewerContentProviderList = new ObservableListContentProvider();\r
-               this.setContentProvider(rnViewerContentProviderList);\r
-               \r
-               // Label provider that listens for changes to name cache\r
-               IObservableMap[] rnViewerLabelProviderMaps = BeansObservables.observeMaps(rnViewerContentProviderList.\r
-                               getKnownElements(), Taxon.class, new String[]{"name"});\r
-               this.setLabelProvider(new ObservableMapLabelProvider(rnViewerLabelProviderMaps) {\r
-                       \r
-                       /*\r
-                        * JFace databinding syntax makes it to difficult to retrieve\r
-                        *      Taxon.getName().getNameCache, so override function that returns\r
-                        *  label\r
-                        * \r
-                        *  (non-Javadoc)\r
-                        * @see org.eclipse.jface.databinding.viewers.ObservableMapLabelProvider#getColumnText(java.lang.Object, int)\r
-                        */\r
-                       public String getColumnText(Object element, int columnIndex) {\r
-                               return ((Taxon) element).getName().getTitleCache();\r
-                       }                       \r
-               });\r
-               \r
-               // Listens for new taxa opened for editing\r
-               this.setInput(Activator.getDefault().getObservableRecentNamesList());\r
-               \r
-               // On double click, open name editor\r
-               this.addDoubleClickListener(new IDoubleClickListener(){\r
-\r
-                       public void doubleClick(DoubleClickEvent event) {                                                               \r
-                               Taxon taxon = null;\r
-                               try {\r
-                                       taxon = (Taxon) ((StructuredSelection)event.getSelection()).getFirstElement();\r
-                               }catch (Exception e){\r
-                                       e.printStackTrace();\r
-                                       taxon = null;\r
-                               }\r
-                               new ActionOpenNameEditor(taxon).run();\r
-                       }\r
-               });\r
-       }\r
-}
\ No newline at end of file
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/TaxonomicTreeViewer.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/TaxonomicTreeViewer.java
deleted file mode 100644 (file)
index 2f1f908..0000000
+++ /dev/null
@@ -1,485 +0,0 @@
-package eu.etaxonomy.taxeditor.view;\r
-\r
-import org.eclipse.core.databinding.beans.BeansObservables;\r
-import org.eclipse.core.databinding.observable.map.IObservableMap;\r
-import org.eclipse.jface.databinding.viewers.ObservableListContentProvider;\r
-import org.eclipse.jface.databinding.viewers.ObservableMapLabelProvider;\r
-import org.eclipse.jface.viewers.CellEditor;\r
-import org.eclipse.jface.viewers.DoubleClickEvent;\r
-import org.eclipse.jface.viewers.ICellEditorListener;\r
-import org.eclipse.jface.viewers.ICellModifier;\r
-import org.eclipse.jface.viewers.IDoubleClickListener;\r
-import org.eclipse.jface.viewers.StructuredSelection;\r
-import org.eclipse.jface.viewers.TextCellEditor;\r
-import org.eclipse.jface.viewers.TreeViewer;\r
-import org.eclipse.jface.viewers.ViewerComparator;\r
-import org.eclipse.swt.SWT;\r
-import org.eclipse.swt.dnd.DND;\r
-import org.eclipse.swt.dnd.DragSource;\r
-import org.eclipse.swt.dnd.DragSourceEvent;\r
-import org.eclipse.swt.dnd.DragSourceListener;\r
-import org.eclipse.swt.dnd.DropTarget;\r
-import org.eclipse.swt.dnd.DropTargetAdapter;\r
-import org.eclipse.swt.dnd.DropTargetEvent;\r
-import org.eclipse.swt.dnd.TextTransfer;\r
-import org.eclipse.swt.dnd.Transfer;\r
-import org.eclipse.swt.events.MenuAdapter;\r
-import org.eclipse.swt.events.MenuEvent;\r
-import org.eclipse.swt.events.SelectionEvent;\r
-import org.eclipse.swt.events.SelectionListener;\r
-import org.eclipse.swt.graphics.Image;\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.widgets.Composite;\r
-import org.eclipse.swt.widgets.Display;\r
-import org.eclipse.swt.widgets.Event;\r
-import org.eclipse.swt.widgets.Item;\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.TableItem;\r
-import org.eclipse.swt.widgets.Tree;\r
-import org.eclipse.swt.widgets.TreeItem;\r
-import org.eclipse.ui.PlatformUI;\r
-\r
-import com.swtdesigner.ResourceManager;\r
-\r
-import eu.etaxonomy.cdm.model.taxon.Taxon;\r
-import eu.etaxonomy.taxeditor.Activator;\r
-import eu.etaxonomy.taxeditor.controller.ActionAddQuickName;\r
-import eu.etaxonomy.taxeditor.controller.ActionMoveTaxon;\r
-import eu.etaxonomy.taxeditor.controller.ActionOpenNameEditor;\r
-import eu.etaxonomy.taxeditor.controller.ActionOpenNewChildNameEditor;\r
-import eu.etaxonomy.taxeditor.controller.ActionRemoveTaxonFromTree;\r
-import eu.etaxonomy.taxeditor.controller.ActionSaveTaxon;\r
-import eu.etaxonomy.taxeditor.model.NameTreeContentProvider;\r
-\r
-/**\r
- * Taxon tree viewer which responds to events within individual taxa.\r
- * \r
- * Good overview of TreeViewer: \r
- *   http://www.eclipse.org/articles/Article-TreeViewer/TreeViewerArticle.htm\r
- * \r
- * @author p.ciardelli\r
- *\r
- */\r
-public class TaxonomicTreeViewer extends TreeViewer {\r
-       \r
-       /**\r
-        * Creates a lazy-loading taxonomic tree that is sorted by TitleCache,\r
-        *  and which listens for name changes and new taxa\r
-        *  \r
-        * @param parent\r
-        */\r
-       public TaxonomicTreeViewer(Composite parent) {\r
-               \r
-               // SW.VIRTUAL causes nodes to be loaded on-demand, improving performance\r
-               super(parent, SWT.VIRTUAL);\r
-\r
-               // Tree settings\r
-               final Tree tree = this.getTree();\r
-               tree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, true));\r
-               tree.setLinesVisible(false);\r
-               tree.setHeaderVisible(false);\r
-               \r
-               createContent();        \r
-               createDoubleClickListener();\r
-               createRightClickListener();\r
-               createQuickAdd();\r
-               createDragAndDrop();\r
-               createToolTips();\r
-       }\r
-       \r
-       /**\r
-        * Tool tips are used to show warnings; there is no tooltip mechanism for\r
-        *  individual tree items out-of-the-bo, so tipListener belows builds one\r
-        */\r
-       private void createToolTips() {\r
-               Tree tree = this.getTree();\r
-               \r
-               // Disable native tooltip\r
-               tree.setToolTipText ("");\r
-               \r
-               tree.addListener (SWT.Dispose, tipListener);\r
-               tree.addListener (SWT.KeyDown, tipListener);\r
-               tree.addListener (SWT.MouseMove, tipListener);\r
-               tree.addListener (SWT.MouseHover, tipListener);\r
-       }\r
-\r
-       /**\r
-        * Add drag and drop functionality\r
-        */\r
-       private void createDragAndDrop() {\r
-               final Tree tree = this.getTree();\r
-               Transfer[] types = new Transfer[] {TextTransfer.getInstance()};\r
-               int operations = DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK;\r
-               \r
-               final DragSource source = new DragSource (tree, operations);\r
-               source.setTransfer(types);\r
-               final TreeItem[] dragSourceItem = new TreeItem[1];\r
-               source.addDragListener (new DragSourceListener () {\r
-                       public void dragStart(DragSourceEvent event) {\r
-                               TreeItem[] selection = tree.getSelection();\r
-                               if (selection.length > 0) {\r
-                                       event.doit = true;\r
-                                       dragSourceItem[0] = selection[0];\r
-                               } else {\r
-                                       event.doit = false;\r
-                               }\r
-                       }\r
-                       public void dragSetData (DragSourceEvent event) {\r
-                               event.data = dragSourceItem[0].getText();\r
-                       }\r
-                       public void dragFinished(DragSourceEvent event) {\r
-                               if (event.detail == DND.DROP_MOVE)\r
-                                       dragSourceItem[0].dispose();\r
-                               dragSourceItem[0] = null; // should this be put into above conditional clause?\r
-                                       \r
-                       }\r
-               });\r
-\r
-               DropTarget target = new DropTarget(tree, operations);\r
-               target.setTransfer(types);\r
-               target.addDropListener (new DropTargetAdapter() {\r
-                       Display display = PlatformUI.getWorkbench().getDisplay();\r
-                       public void dragOver(DropTargetEvent event) {\r
-                               event.feedback = DND.FEEDBACK_EXPAND | DND.FEEDBACK_SCROLL;\r
-                               if (event.item != null) {\r
-                                       TreeItem item = (TreeItem)event.item;\r
-                                       Point pt = display.map(null, tree, event.x, event.y);\r
-                                       Rectangle bounds = item.getBounds();\r
-                                       if (pt.y < bounds.y + bounds.height/3) {\r
-                                               event.feedback |= DND.FEEDBACK_INSERT_BEFORE;\r
-                                       } else if (pt.y > bounds.y + 2*bounds.height/3) {\r
-                                               event.feedback |= DND.FEEDBACK_INSERT_AFTER;\r
-                                       } else {\r
-                                               event.feedback |= DND.FEEDBACK_SELECT;\r
-                                       }\r
-                               }\r
-                       }\r
-                       public void drop(DropTargetEvent event) {\r
-                               \r
-                               if (event.data == null) {\r
-                                       event.detail = DND.DROP_NONE;\r
-                                       return;\r
-                               }\r
-                               Taxon taxon = (Taxon) dragSourceItem[0].getData();\r
-                               Taxon parentTaxon = (Taxon) event.item.getData();\r
-                               \r
-                               new ActionMoveTaxon(taxon, parentTaxon).run();\r
-                               \r
-                               // TODO choose appropriate parentTaxon depending on where in tree,\r
-                               //  esp. BETWEEN entries, taxon is dragged\r
-                               \r
-//                             if (event.item == null) {\r
-//                                     // not sure which case this is ...\r
-//                                     TreeItem item = new TreeItem(tree, SWT.NONE);\r
-//                                     item.setText("unclear");\r
-//                             } else {\r
-//                                     TreeItem item = (TreeItem)event.item;\r
-//                                     Point pt = display.map(null, tree, event.x, event.y);\r
-//                                     Rectangle bounds = item.getBounds();\r
-//                                     TreeItem parent = item.getParentItem();\r
-//                                     System.out.println(((Taxon) parent.getData()).getName().getNameCache());\r
-//                                     if (parent != null) {\r
-//                                             TreeItem[] items = parent.getItems();\r
-//                                             int index = 0;\r
-//                                             for (int i = 0; i < items.length; i++) {\r
-//                                                     if (items[i] == item) {\r
-//                                                             index = i;\r
-//                                                             break;\r
-//                                                     }\r
-//                                             }\r
-//                                             if (pt.y < bounds.y + bounds.height/3) {\r
-//                                                     TreeItem newItem = new TreeItem(parent, SWT.NONE, index);\r
-//                                                     newItem.setText(text);\r
-//                                             } else if (pt.y > bounds.y + 2*bounds.height/3) {\r
-//                                                     TreeItem newItem = new TreeItem(parent, SWT.NONE, index+1);\r
-//                                                     newItem.setText(text);\r
-//                                             } else {\r
-//                                                     TreeItem newItem = new TreeItem(item, SWT.NONE);\r
-//                                                     newItem.setText(text);\r
-//                                             }\r
-//                                             \r
-//                                     } else {\r
-//                                             System.out.println("y");\r
-//                                             TreeItem[] items = tree.getItems();\r
-//                                             int index = 0;\r
-//                                             for (int i = 0; i < items.length; i++) {\r
-//                                                     if (items[i] == item) {\r
-//                                                             index = i;\r
-//                                                             break;\r
-//                                                     }\r
-//                                             }\r
-//                                             if (pt.y < bounds.y + bounds.height/3) {\r
-//                                                     TreeItem newItem = new TreeItem(tree, SWT.NONE, index);\r
-//                                                     newItem.setText(text);\r
-//                                             } else if (pt.y > bounds.y + 2*bounds.height/3) {\r
-//                                                     TreeItem newItem = new TreeItem(tree, SWT.NONE, index+1);\r
-//                                                     newItem.setText(text);\r
-//                                             } else {\r
-//                                                     TreeItem newItem = new TreeItem(item, SWT.NONE);\r
-//                                                     newItem.setText(text);\r
-//                                             }\r
-//                                     }\r
-//                             }\r
-                       }\r
-               });             \r
-       }\r
-\r
-       /**\r
-        * Taxa with no NameCache - i.e. added with quick name -\r
-        *  can be edited in place in the tax. tree\r
-        */\r
-       private void createQuickAdd() {\r
-               \r
-               final Tree tree = this.getTree();\r
-               final TextCellEditor taxTreeNodeEditor = new TextCellEditor(tree);\r
-               taxTreeNodeEditor.addListener(new ICellEditorListener() {\r
-                       public void applyEditorValue() {}\r
-                       public void cancelEditor() {\r
-                               // user has pressed ESC - transfer focus to parent item,\r
-                               //  remove taxon from tree\r
-                               Taxon taxon = (Taxon) tree.getSelection()[0].getData();\r
-                               tree.setSelection(tree.getSelection()[0].getParentItem());\r
-                               new ActionRemoveTaxonFromTree(taxon).run();\r
-                       }\r
-                       public void editorValueChanged(boolean oldValidState,\r
-                                       boolean newValidState) {}\r
-               });\r
-               \r
-               this.setCellEditors(new CellEditor[] {taxTreeNodeEditor});\r
-               this.setColumnProperties(new String[] {"col1"});\r
-               this.setCellModifier(new ICellModifier() {\r
-                       public boolean canModify(Object element, String property) {\r
-                               // If name element has not been initialized,\r
-                               //  this is a taxon added with QuickAdd\r
-                               if (((Taxon) element).getName().getTitleCache() == null)\r
-                                       return true;\r
-                               return false;\r
-                       }\r
-                       public Object getValue(Object element, String property) {\r
-                               // If this node is editable, TitleCache is by definition empty\r
-                               return "";\r
-                       }\r
-                       public void modify(Object element, String property, Object value) {\r
-                               \r
-                               // Get Taxon object from TreeItem\r
-                               Taxon taxon = (Taxon)((Item) element).getData();\r
-                               \r
-                               if (((String) value).equals("")) {\r
-                                       // Remove temporary Taxon from tree\r
-                                       tree.setSelection(tree.getSelection()[0].getParentItem());\r
-                                       new ActionRemoveTaxonFromTree(taxon).run();     \r
-                                       \r
-                               } else {\r
-                                       // Set Taxon's TitleCache, save it to CDM\r
-                                       taxon.getName().setTitleCache((String) value);\r
-                                       new ActionSaveTaxon(taxon).run();\r
-                               }\r
-                       }\r
-               });\r
-               \r
-       }\r
-\r
-       /**\r
-        * On double click, open name editor\r
-        */\r
-       private void createDoubleClickListener() {\r
-               this.addDoubleClickListener(new IDoubleClickListener(){\r
-\r
-                       public void doubleClick(DoubleClickEvent event) {                                                               \r
-                               Taxon taxon = null;\r
-                               try {\r
-                                       taxon = (Taxon) ((StructuredSelection)event.getSelection()).getFirstElement();\r
-                               }catch (Exception e){\r
-                                       e.printStackTrace();\r
-                                       taxon = null;\r
-                               }\r
-                               new ActionOpenNameEditor(taxon).run();\r
-                       }\r
-               });             \r
-       }\r
-\r
-       /**\r
-        * Make right-click menu for tree nodes\r
-        */\r
-       private void createRightClickListener() {\r
-               \r
-               final Tree tree = this.getTree();\r
-               final Menu menu = new Menu(tree); \r
-               tree.setMenu(menu);\r
-               menu.addMenuListener(new MenuAdapter() {\r
-                       public void menuShown(MenuEvent e) {\r
-                               \r
-                               // Get rid of existing menu items -\r
-                               //  same menu is re-used for all nodes\r
-                               MenuItem[] items = menu.getItems();\r
-                               for (int i = 0; i < items.length; i++) {\r
-                                       ((MenuItem) items[i]).dispose();\r
-                               }\r
-                               \r
-                               // Get Taxon associated with this node\r
-                               final Taxon taxon = (Taxon) tree.getSelection()[0].getData();\r
-                               System.out.println("open " + taxon.toString());\r
-                               \r
-                               // Add menu item to edit Taxon\r
-                               MenuItem itemEditTaxon = new MenuItem(menu, SWT.NONE);\r
-                               itemEditTaxon.setText("Edit taxon");\r
-                               itemEditTaxon.addSelectionListener(new SelectionListener() {\r
-                                       public void widgetDefaultSelected(SelectionEvent e) {}\r
-                                       public void widgetSelected(SelectionEvent e) {\r
-                                               new ActionOpenNameEditor(taxon).run();\r
-                                       }\r
-                               });\r
-\r
-                               new MenuItem(menu, SWT.SEPARATOR);\r
-                               \r
-                               // Add menu item to add a child node\r
-                               MenuItem itemAddChildTaxon = new MenuItem(menu, SWT.NONE);\r
-                               itemAddChildTaxon.setText("Add child taxon");\r
-                               itemAddChildTaxon.addSelectionListener(new SelectionListener() {\r
-                                       public void widgetDefaultSelected(SelectionEvent e) {}\r
-                                       public void widgetSelected(SelectionEvent e) {\r
-                                               new ActionOpenNewChildNameEditor(taxon).run();\r
-                                       }\r
-                               });\r
-                               \r
-                               // Add menu item to add a child node with edit name in place                            \r
-                               MenuItem itemQuickAdd = new MenuItem(menu, SWT.NONE);\r
-                               itemQuickAdd.setText("Add child taxon with quick name");\r
-                               itemQuickAdd.addSelectionListener(new SelectionListener() {\r
-                                       public void widgetDefaultSelected(SelectionEvent e) {}\r
-                                       public void widgetSelected(SelectionEvent e) {\r
-                                               new ActionAddQuickName(taxon).run();                                            \r
-                                       }\r
-                               });\r
-                       }\r
-               });\r
-       }\r
-       \r
-       /**\r
-        * Set up content providers and viewer input\r
-        */\r
-       private void createContent() {\r
-               // Use custom content provider extended to add tree node retrieval\r
-               ObservableListContentProvider viewerContentProviderList = new NameTreeContentProvider();\r
-               this.setContentProvider(viewerContentProviderList);\r
-                               \r
-               // Label provider that listens for changes to name cache\r
-               IObservableMap[] viewerLabelProviderMaps = BeansObservables.observeMaps(viewerContentProviderList.getKnownElements(), \r
-                               Taxon.class, new String[]{"name"});\r
-               this.setLabelProvider(new ObservableMapLabelProvider(viewerLabelProviderMaps) {\r
-                       /* \r
-                        * TODO only show warning if there is something taxonomically amiss \r
-                        * \r
-                        * @see org.eclipse.jface.databinding.viewers.ObservableMapLabelProvider#getColumnImage(java.lang.Object, int)\r
-                        */\r
-                       public Image getColumnImage(Object element, int columnIndex) {\r
-                               if (((Taxon) element).getName().getHasProblem())\r
-                                       return ResourceManager.getPluginImage(Activator.getDefault(), "icons/warn_tsk.gif");\r
-                               return null;\r
-                       }\r
-                       /*\r
-                        * JFace databinding syntax makes it to difficult to retrieve\r
-                        *      Taxon.getName().getNameCache, so override function that returns\r
-                        *  label\r
-                        * \r
-                        *  (non-Javadoc)\r
-                        * @see org.eclipse.jface.databinding.viewers.ObservableMapLabelProvider#getColumnText(java.lang.Object, int)\r
-                        */\r
-                       public String getColumnText(Object element, int columnIndex) {\r
-                               return ((Taxon) element).getName().getTitleCache();\r
-                       }                               \r
-               });\r
-               \r
-               // TaxonTreeList added to every time a node is opened with its\r
-               //  children, or when a new taxon is added\r
-               this.setInput(Activator.getDefault().getObservableTaxonTreeList());\r
-               \r
-               // Sort according to "getColumnText" above, i.e. by NameCache\r
-               this.setComparator(new ViewerComparator());\r
-       }\r
-\r
-       /**\r
-        * If taxon node in the tree is hidden, open and select it\r
-        * \r
-        * @param taxon\r
-        */\r
-       public void revealTaxon(Taxon taxon) {\r
-               this.setSelection(new StructuredSelection(taxon), true);\r
-               this.reveal(taxon);\r
-       }\r
-       \r
-       // Implement a "fake" tooltip\r
-       final Listener labelListener = new Listener () {\r
-               public void handleEvent (Event event) {\r
-                       Label label = (Label)event.widget;\r
-                       Shell shell = label.getShell ();\r
-                       switch (event.type) {\r
-                               case SWT.MouseDown:\r
-                                       Event e = new Event ();\r
-                                       e.item = (TableItem) label.getData ("_TABLEITEM");\r
-                                       // Assuming table is single select, set the selection as if\r
-                                       // the mouse down event went through to the table\r
-                                       Tree tree = TaxonomicTreeViewer.this.getTree();\r
-                                       tree.setSelection(new TreeItem [] {(TreeItem) e.item});\r
-                                       tree.notifyListeners (SWT.Selection, e);\r
-                                       shell.dispose ();\r
-                                       tree.setFocus();\r
-                                       break;\r
-                               case SWT.MouseExit:\r
-                                       shell.dispose ();\r
-                                       break;\r
-                       }\r
-               }\r
-       };      \r
-       \r
-       Listener tipListener = new Listener () {\r
-               Shell tip = null;\r
-               Label label = null;\r
-               public void handleEvent (Event event) {\r
-                       switch (event.type) {\r
-                               case SWT.Dispose:\r
-                               case SWT.KeyDown:\r
-                               case SWT.MouseMove: {\r
-                                       if (tip == null) break;\r
-                                       tip.dispose ();\r
-                                       tip = null;\r
-                                       label = null;\r
-                                       break;\r
-                               }\r
-                               case SWT.MouseHover: {\r
-                                       Item item = TaxonomicTreeViewer.this.getItemAt(new Point(event.x, event.y));\r
-                                       if (item != null) {\r
-                                               if (tip != null  && !tip.isDisposed ()) tip.dispose ();\r
-                                               tip = new Shell (Display.getCurrent(), SWT.ON_TOP | SWT.NO_FOCUS | SWT.TOOL);\r
-                                               tip.setBackground (Display.getCurrent().getSystemColor (SWT.COLOR_INFO_BACKGROUND));\r
-                                               FillLayout layout = new FillLayout ();\r
-                                               layout.marginWidth = 2;\r
-                                               tip.setLayout (layout);\r
-                                               label = new Label (tip, SWT.NONE);\r
-                                               label.setForeground (Display.getCurrent().getSystemColor (SWT.COLOR_INFO_FOREGROUND));\r
-                                               label.setBackground (Display.getCurrent().getSystemColor (SWT.COLOR_INFO_BACKGROUND));\r
-                                               label.setData ("_TABLEITEM", item);\r
-//                                             label.setText (item.getText ());\r
-                                               label.setText ("Joe mama");\r
-                                               label.addListener (SWT.MouseExit, labelListener);\r
-                                               label.addListener (SWT.MouseDown, labelListener);\r
-                                               Point size = tip.computeSize (SWT.DEFAULT, SWT.DEFAULT);\r
-                                               Rectangle rect = ((TreeItem) item).getBounds (0);\r
-                                               Point pt = TaxonomicTreeViewer.this.getTree().toDisplay (rect.x, rect.y);\r
-                                               tip.setBounds (pt.x, pt.y, size.x, size.y);\r
-                                               tip.setVisible (true);\r
-                                       }\r
-                               }\r
-                       }\r
-               }\r
-       };\r
-       \r
-}\r
-\r
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/TestDnD.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/TestDnD.java
deleted file mode 100644 (file)
index 6efbe20..0000000
+++ /dev/null
@@ -1,166 +0,0 @@
-package eu.etaxonomy.taxeditor.view;\r
-\r
-import org.apache.log4j.Logger;\r
-import org.eclipse.core.databinding.observable.set.ISetChangeListener;\r
-import org.eclipse.core.databinding.observable.set.SetChangeEvent;\r
-import org.eclipse.swt.SWT;\r
-import org.eclipse.swt.dnd.DND;\r
-import org.eclipse.swt.dnd.DropTarget;\r
-import org.eclipse.swt.dnd.DropTargetAdapter;\r
-import org.eclipse.swt.dnd.DropTargetEvent;\r
-import org.eclipse.swt.dnd.Transfer;\r
-import org.eclipse.swt.layout.FillLayout;\r
-import org.eclipse.swt.layout.GridLayout;\r
-import org.eclipse.swt.widgets.Composite;\r
-import org.eclipse.swt.widgets.Display;\r
-import org.eclipse.swt.widgets.Event;\r
-import org.eclipse.swt.widgets.Listener;\r
-import org.eclipse.swt.widgets.Shell;\r
-\r
-import eu.etaxonomy.cdm.model.name.BotanicalName;\r
-import eu.etaxonomy.cdm.model.taxon.Synonym;\r
-import eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType;\r
-import eu.etaxonomy.cdm.model.taxon.Taxon;\r
-import eu.etaxonomy.taxeditor.controller.TaxonTransfer;\r
-import eu.etaxonomy.taxeditor.view.nameviewersupport.GroupComposite;\r
-import eu.etaxonomy.taxeditor.view.nameviewersupport.NameComposite;\r
-import eu.etaxonomy.taxeditor.view.nameviewersupport.TesterooWritableSet;\r
-\r
-public class TestDnD {\r
-\r
-       private static final Logger logger = Logger.getLogger(TestDnD.class);\r
-       \r
-       protected Shell shell;\r
-       /**\r
-        * Launch the application\r
-        * @param args\r
-        */\r
-       public static void main(String[] args) {\r
-               try {\r
-                       TestDnD window = new TestDnD();\r
-                       window.open();\r
-               } catch (Exception e) {\r
-                       e.printStackTrace();\r
-               }\r
-       }\r
-\r
-       /**\r
-        * Open the window\r
-        */\r
-       public void open() {\r
-               final Display display = Display.getDefault();\r
-               createContents(display);\r
-               shell.open();\r
-               shell.layout();\r
-               while (!shell.isDisposed()) {\r
-                       if (!display.readAndDispatch())\r
-                               display.sleep();\r
-               }\r
-       }\r
-       Taxon taxon;\r
-       Composite composite;\r
-       /**\r
-        * Create contents of the window\r
-        */\r
-       protected void createContents(Display display) {\r
-               if (logger.isDebugEnabled()){  logger.debug("Creating contents" );}\r
-                               \r
-               shell = new Shell();\r
-               shell.setLayout(new FillLayout());\r
-               shell.setSize(500, 375);\r
-               shell.setText("SWT Application");\r
-               \r
-               composite = new Composite(shell, SWT.NONE);\r
-               GridLayout gridLayout = new GridLayout();\r
-               gridLayout.verticalSpacing = 10;\r
-               composite.setLayout(gridLayout);\r
-               composite.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));\r
-               \r
-               taxon = new Taxon();\r
-               taxon.setName(BotanicalName.PARSED_NAME("Accepted name"));\r
-                               \r
-               GroupComposite homoGroupComposite = new GroupComposite(composite);\r
-               homoGroupComposite.setTaxon(taxon);\r
-               \r
-               new NameComposite(homoGroupComposite, taxon);\r
-               \r
-               Synonym homosyn = new Synonym();\r
-               \r
-               homosyn.setName(BotanicalName.PARSED_NAME("Homotypic synonym"));\r
-               taxon.addSynonym(homosyn, SynonymRelationshipType.HOMOTYPIC_SYNONYM_OF());\r
-               new NameComposite(homoGroupComposite, homosyn, taxon);\r
-       \r
-               homoGroupComposite.drawRect();\r
-               \r
-               createSynAndHetGroup("Heterotypic synonym 1");\r
-               createSynAndHetGroup("Heterotypic synonym 2");\r
-               createSynAndHetGroup("Heterotypic synonym 3");\r
-               createSynAndHetGroup("Heterotypic synonym 4");\r
-\r
-               TesterooWritableSet.getInstance().addSetChangeListener\r
-               (new ISetChangeListener() {\r
-                       public void handleSetChange(SetChangeEvent event) {\r
-                               for ( Object addition: event.diff.getAdditions()) {\r
-                                       if (addition instanceof Synonym)\r
-                                               createHeterotypicalGroup((Synonym) addition);\r
-                               }\r
-                               composite.layout();\r
-                       }\r
-               });\r
-               \r
-               // Drop functionality\r
-               Transfer[] types = new Transfer[] {TaxonTransfer.getInstance()};\r
-               int operations = DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_DEFAULT;\r
-               DropTarget target = new DropTarget(composite, operations);\r
-               target.setTransfer(types);\r
-               target.addDropListener(dropTargetAdapter);\r
-               \r
-               composite.addListener(SWT.Modify, new Listener() {\r
-\r
-                       public void handleEvent(Event event) {\r
-                               System.out.println("!");\r
-                               \r
-                       }\r
-\r
-                       \r
-               });\r
-                               \r
-       }\r
-       \r
-       private void createSynAndHetGroup(String synonymNameCache) {\r
-               Synonym heterosyn = new Synonym();\r
-               heterosyn.setName(BotanicalName.PARSED_NAME(synonymNameCache)); \r
-               taxon.addSynonym(heterosyn, SynonymRelationshipType.HETEROTYPIC_SYNONYM_OF());\r
-                               \r
-               createHeterotypicalGroup(heterosyn);\r
-       }\r
-       \r
-       private void createHeterotypicalGroup(Synonym heterosyn) {\r
-\r
-               GroupComposite heteroGroupComposite = new GroupComposite(composite);\r
-               heteroGroupComposite.setTaxon(taxon);\r
-               \r
-               new NameComposite(heteroGroupComposite, heterosyn, taxon).setFocus();\r
-\r
-               heteroGroupComposite.layout();\r
-               heteroGroupComposite.drawRect();\r
-               heteroGroupComposite.layout();\r
-       }\r
-       \r
-       DropTargetAdapter dropTargetAdapter = new DropTargetAdapter() {\r
-               \r
-               public void drop(DropTargetEvent event) {\r
-                       \r
-                       Synonym synonym = \r
-                                       (Synonym) event.data; \r
-                       \r
-                       GroupComposite heteroGroupComposite = new GroupComposite(composite);\r
-                       heteroGroupComposite.setTaxon(taxon);\r
-                       \r
-                       new NameComposite(heteroGroupComposite, synonym, taxon).setFocus();\r
-                       \r
-                       TestDnD.this.composite.layout();\r
-               }               \r
-       };\r
-}\r
-\r
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/UndoView.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/UndoView.java
deleted file mode 100644 (file)
index dfe706f..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-package eu.etaxonomy.taxeditor.view;\r
-\r
-import org.eclipse.jface.action.IMenuManager;\r
-import org.eclipse.jface.action.IToolBarManager;\r
-import org.eclipse.swt.SWT;\r
-import org.eclipse.swt.events.PaintEvent;\r
-import org.eclipse.swt.events.PaintListener;\r
-import org.eclipse.swt.events.SelectionAdapter;\r
-import org.eclipse.swt.events.SelectionEvent;\r
-import org.eclipse.swt.graphics.Image;\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.Canvas;\r
-import org.eclipse.swt.widgets.Combo;\r
-import org.eclipse.swt.widgets.Composite;\r
-import org.eclipse.swt.widgets.Display;\r
-import org.eclipse.swt.widgets.FileDialog;\r
-import org.eclipse.swt.widgets.Group;\r
-import org.eclipse.swt.widgets.Label;\r
-import org.eclipse.swt.widgets.List;\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.ui.part.ViewPart;\r
-import com.swtdesigner.ResourceManager;\r
-import com.swtdesigner.SWTResourceManager;\r
-\r
-import eu.etaxonomy.taxeditor.Activator;\r
-\r
-public class UndoView extends ViewPart {\r
-\r
-       public static final String ID = "eu.etaxonomy.taxeditor.prototype2.view.undoview"; //$NON-NLS-1$\r
-    private Table table;\r
-\r
-    /**\r
-        * Create contents of the view part\r
-        * @param parent\r
-        */\r
-       @Override\r
-       public void createPartControl(Composite parent) {\r
-               Composite container = new Composite(parent, SWT.NONE);\r
-               container.setLayout(new FillLayout(SWT.VERTICAL));\r
-\r
-               table = new Table(container, SWT.NONE);\r
-               table.getHorizontalBar().setVisible(false);\r
-               table.setLinesVisible(true);\r
-\r
-               final TableColumn newColumnTableColumn = new TableColumn(table, SWT.NONE);\r
-               newColumnTableColumn.setWidth(19);\r
-\r
-               final TableColumn newColumnTableColumn_1 = new TableColumn(table, SWT.NONE);\r
-               newColumnTableColumn_1.setWidth(1000);\r
-               newColumnTableColumn_1.setText("New column");\r
-\r
-               final TableItem newItemTableItem = new TableItem(table, SWT.BORDER);\r
-               newItemTableItem.setText(1, "Created taxon \"Pilosella fuscoatra (Nägeli & Peter) Soják\"");\r
-\r
-               final TableItem newItemTableItem_1 = new TableItem(table, SWT.BORDER);\r
-               newItemTableItem_1.setText(1, "Added fact (Distribution) \"California deciduous forest ...\" to \"Pilosella fuscoatra (Nägeli & Peter) Soják\"");\r
-\r
-               final TableItem newItemTableItem_2 = new TableItem(table, SWT.BORDER);\r
-               newItemTableItem_2.setText(1, "Added fact (Distribution) \"Brazilian (Northerly region)\" to \"Pilosella fuscoatra (Nägeli & Peter) Soják\"");\r
-\r
-               final TableItem newItemTableItem_3 = new TableItem(table, SWT.BORDER);\r
-               newItemTableItem_3.setText(1, "Moved taxon \"Pilosella fuscoatra (Nägeli & Peter) Soják\" to \"Pilosella fuscoatra coll.\"");\r
-\r
-               final TableItem newItemTableItem_4 = new TableItem(table, SWT.BORDER);\r
-               newItemTableItem_4.setText(1, "Added unknown syn. \"Hieracium fuscoatrum Nägeli & Peter\" to \"Pilosella fuscoatra (Nägeli & Peter) Soják\"");\r
-\r
-               final TableItem newItemTableItem_5 = new TableItem(table, SWT.BORDER);\r
-               newItemTableItem_5.setText(1, "Changed rel. type to homo. syn. for \"Hieracium fuscoatrum Nägeli & Peter\" to \"Pilosella fuscoatra (Nägeli & Peter) Soják\"");\r
-\r
-               final TableItem newItemTableItem_6 = new TableItem(table, SWT.BORDER);\r
-               newItemTableItem_6.setText(1, "Edited name \"Hieracium fuscoatrum Nägeli & Peter\" to \"Pilosella fuscoatra (Nägeli & Peter) Soják\"");\r
-\r
-               final TableItem newItemTableItem_7 = new TableItem(table, SWT.BORDER);\r
-               newItemTableItem_7.setText(new String[] {"Undo the last action"});\r
-               newItemTableItem_7.setImage(0, ResourceManager.getPluginImage(Activator.getDefault(), "icons/undo.gif"));\r
-               newItemTableItem_7.setText(1, "Deleted fact (Distribution) \"Brazilian (Northerly region)\" to \"Pilosella fuscoatra (Nägeli & Peter) Soják\"");\r
-               //\r
-               createActions();\r
-               initializeToolBar();\r
-               initializeMenu();\r
-       }\r
-\r
-       /**\r
-        * Create the actions\r
-        */\r
-       private void createActions() {\r
-               // Create the actions\r
-       }\r
-\r
-       /**\r
-        * Initialize the toolbar\r
-        */\r
-       private void initializeToolBar() {\r
-               IToolBarManager toolbarManager = getViewSite().getActionBars()\r
-                               .getToolBarManager();\r
-       }\r
-\r
-       /**\r
-        * Initialize the menu\r
-        */\r
-       private void initializeMenu() {\r
-               IMenuManager menuManager = getViewSite().getActionBars()\r
-                               .getMenuManager();\r
-       }\r
-\r
-       @Override\r
-       public void setFocus() {\r
-               // Set the focus\r
-       }\r
-\r
-}\r
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/nameviewersupport/CompositeRectangle.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/nameviewersupport/CompositeRectangle.java
deleted file mode 100644 (file)
index 9c1c058..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-package eu.etaxonomy.taxeditor.view.nameviewersupport;\r
-\r
-import org.eclipse.swt.graphics.Color;\r
-import org.eclipse.swt.graphics.GC;\r
-import org.eclipse.swt.graphics.Rectangle;\r
-import org.eclipse.swt.widgets.Composite;\r
-\r
-public class CompositeRectangle {\r
-\r
-       GC gc;\r
-       Rectangle rectangle;\r
-       Composite composite;\r
-       \r
-       CompositeRectangle(Composite composite, Color color) {\r
-               this.gc = new GC(composite);\r
-               this.composite = composite;\r
-               draw(color);\r
-       }\r
-\r
-       public void draw(Color color) {\r
-               this.rectangle = composite.getClientArea();\r
-               gc.setForeground(color);\r
-               gc.drawRectangle(rectangle.x, rectangle.y, rectangle.width - 1, rectangle.height - 1);\r
-       }\r
-       \r
-       public void dispose() {\r
-               gc.dispose();\r
-       }\r
-       \r
-}\r
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/nameviewersupport/ErrorAnnotation.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/nameviewersupport/ErrorAnnotation.java
deleted file mode 100644 (file)
index 038cf74..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-package eu.etaxonomy.taxeditor.view.nameviewersupport;\r
-\r
-import org.eclipse.core.resources.IMarker;\r
-import org.eclipse.jface.text.Position;\r
-import org.eclipse.jface.text.source.Annotation;\r
-import org.eclipse.swt.graphics.Image;\r
-import org.eclipse.swt.graphics.RGB;\r
-\r
-public class ErrorAnnotation extends Annotation {\r
-    private IMarker marker;\r
-    private String text;\r
-    private int line;\r
-    private Position position;\r
-\r
-    // error identifiers, images and colors\r
-    public static String ERROR_TYPE = "error.type";\r
-    public static Image ERROR_IMAGE;\r
-    public static final RGB ERROR_RGB = new RGB(255, 0, 0);    \r
-    \r
-    public ErrorAnnotation(IMarker marker) {\r
-        this.marker = marker;\r
-    }\r
-\r
-    public ErrorAnnotation(int line, String text) {\r
-        super(ERROR_TYPE, true, null);\r
-        this.marker = null;\r
-        this.line = line;\r
-        this.text = text;\r
-    }\r
-\r
-    public IMarker getMarker() {\r
-        return marker;\r
-    }\r
-\r
-    public int getLine() {\r
-        return line;\r
-    }\r
-\r
-    public String getText() {\r
-        return text;\r
-    }\r
-\r
-    public Image getImage() {\r
-        return ERROR_IMAGE;\r
-    }\r
-\r
-    public int getLayer() {\r
-        return 3;\r
-    }\r
-\r
-    public String getType() {\r
-        return ERROR_TYPE;\r
-    }\r
-\r
-    public Position getPosition() {\r
-        return position;\r
-    }\r
-\r
-    public void setPosition(Position position) {\r
-        this.position = position;\r
-    }\r
-}
\ No newline at end of file
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/nameviewersupport/GroupComposite.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/nameviewersupport/GroupComposite.java
deleted file mode 100644 (file)
index 03ced72..0000000
+++ /dev/null
@@ -1,137 +0,0 @@
-package eu.etaxonomy.taxeditor.view.nameviewersupport;\r
-\r
-import org.eclipse.swt.SWT;\r
-import org.eclipse.swt.dnd.DND;\r
-import org.eclipse.swt.dnd.DropTarget;\r
-import org.eclipse.swt.dnd.DropTargetAdapter;\r
-import org.eclipse.swt.dnd.DropTargetEvent;\r
-import org.eclipse.swt.dnd.Transfer;\r
-import org.eclipse.swt.graphics.GC;\r
-import org.eclipse.swt.graphics.Rectangle;\r
-import org.eclipse.swt.layout.GridData;\r
-import org.eclipse.swt.layout.GridLayout;\r
-import org.eclipse.swt.widgets.Composite;\r
-import org.eclipse.swt.widgets.Display;\r
-\r
-import eu.etaxonomy.cdm.model.name.HomotypicalGroup;\r
-import eu.etaxonomy.cdm.model.taxon.Synonym;\r
-import eu.etaxonomy.cdm.model.taxon.Taxon;\r
-import eu.etaxonomy.taxeditor.controller.TaxonTransfer;\r
-import eu.etaxonomy.taxeditor.view.NameEditorView;\r
-\r
-public class GroupComposite extends Composite {\r
-       \r
-       Taxon taxon;\r
-       Rectangle rectangle;\r
-       HomotypicalGroup homotypicalGroup;\r
-       boolean acceptedGroup;\r
-       private NameEditorView nameEditorView;\r
-       \r
-       public void setTaxon(Taxon taxon) {\r
-               this.taxon = taxon;\r
-       }\r
-       \r
-       public GroupComposite(Composite parent) {\r
-               super(parent, SWT.NONE);\r
-               \r
-               // Graphic layout of composite\r
-               GridLayout gridLayout = new GridLayout();\r
-               gridLayout.verticalSpacing = 0;\r
-               gridLayout.marginHeight = 3;\r
-               this.setLayout(gridLayout);\r
-               this.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));\r
-               this.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));\r
-                                       \r
-//             this.addListener(SWT.Resize, new Listener() {\r
-//                     public void handleEvent(Event event) {\r
-//                             GC gc = new GC(GroupComposite.this);\r
-//                             rectangle = GroupComposite.this.getClientArea();\r
-//                             gc.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_BLACK));\r
-//                             gc.drawRectangle(rectangle.x, rectangle.y, rectangle.width - 1, rectangle.height - 1);\r
-//                             System.out.println(rectangle.height);\r
-//                     }\r
-//             });             \r
-               \r
-               // Drop functionality\r
-               Transfer[] types = new Transfer[] {TaxonTransfer.getInstance()};\r
-               int operations = DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_DEFAULT;\r
-               DropTarget target = new DropTarget(this, operations);\r
-               target.setTransfer(types);\r
-               target.addDropListener(new DropTargetAdapter() {\r
-                                               \r
-                       public void dragEnter(DropTargetEvent event) {\r
-                               \r
-                               \r
-                               \r
-//                             for (Control child : GroupComposite.this.getChildren()) {\r
-//                                     if (child.getClass() != NameComposite.class) continue;\r
-////                                   System.out.println(child.getClass() + " " + event.data.getClass());\r
-//                                     \r
-//                                     if (((NameComposite) child).getName() == TaxonTransfer.getInstance().getTaxon().getName()) {\r
-//                                             event.detail = DND.DROP_NONE;\r
-//                                             return;\r
-//                                     }\r
-//                             }\r
-                               \r
-//                             if (((NameComposite) event.widget).getParent() == GroupComposite.this)\r
-//                                     event.detail = DND.DROP_NONE;\r
-//                             rectangle = GroupComposite.this.getClientArea();\r
-//                             GC gc = new GC(GroupComposite.this);\r
-//                             rectangle = GroupComposite.this.getClientArea();\r
-//                             gc.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_BLACK));\r
-//                             gc.drawRectangle(rectangle.x, rectangle.y, rectangle.width - 1, rectangle.height - 1);\r
-                               \r
-//                             rectangle.draw(Display.getDefault().getSystemColor\r
-//                                             (SWT.COLOR_BLACK));\r
-                       }\r
-                       \r
-                       public void dragLeave(DropTargetEvent event) {\r
-//                             rectangle.draw(Display.getDefault().getSystemColor\r
-//                                             (SWT.COLOR_GRAY));\r
-                       }\r
-                       \r
-                       public void drop(DropTargetEvent event) {\r
-                               Synonym synonym = (Synonym) event.data; \r
-                               \r
-                               GroupComposite dropTargetComposite = \r
-                                       (GroupComposite) ((DropTarget) \r
-                                                       event.getSource()).getControl();\r
-                               \r
-                               new NameComposite(dropTargetComposite, synonym, taxon).\r
-                                               setNameEditorView(dropTargetComposite.getNameEditorView());\r
-                       }\r
-               });\r
-       }\r
-       \r
-       public void drawRect() {\r
-               GC gc = new GC(this);\r
-               Rectangle rect = this.getClientArea();\r
-               gc.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_GREEN));\r
-               gc.drawRectangle(rect.x, rect.y, rect.width - 2, rect.height - 2);              \r
-       }\r
-\r
-       public HomotypicalGroup getHomotypicalGroup() {\r
-               return homotypicalGroup;\r
-       }\r
-\r
-       public void setHomotypicalGroup(HomotypicalGroup homotypicalGroup) {\r
-               this.homotypicalGroup = homotypicalGroup;\r
-       }\r
-       \r
-       public boolean isAcceptedGroup() {\r
-               return acceptedGroup;\r
-       }\r
-       \r
-       public void setAcceptedGroup(boolean acceptedGroup) {\r
-               this.acceptedGroup = acceptedGroup;\r
-       }\r
-\r
-       public void setNameEditorView(NameEditorView nameEditorView) {\r
-               this.nameEditorView = nameEditorView;\r
-       }\r
-       \r
-       public NameEditorView getNameEditorView() {\r
-               return nameEditorView;\r
-       }\r
-       \r
-}\r
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/nameviewersupport/NameComposite.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/nameviewersupport/NameComposite.java
deleted file mode 100644 (file)
index 3327f79..0000000
+++ /dev/null
@@ -1,333 +0,0 @@
-package eu.etaxonomy.taxeditor.view.nameviewersupport;\r
-\r
-import org.eclipse.core.runtime.Assert;\r
-import org.eclipse.swt.SWT;\r
-import org.eclipse.swt.custom.StyledText;\r
-import org.eclipse.swt.dnd.DND;\r
-import org.eclipse.swt.dnd.DragSource;\r
-import org.eclipse.swt.dnd.DragSourceEvent;\r
-import org.eclipse.swt.dnd.DragSourceListener;\r
-import org.eclipse.swt.dnd.Transfer;\r
-import org.eclipse.swt.events.FocusAdapter;\r
-import org.eclipse.swt.events.FocusEvent;\r
-import org.eclipse.swt.events.ModifyEvent;\r
-import org.eclipse.swt.events.ModifyListener;\r
-import org.eclipse.swt.events.MouseEvent;\r
-import org.eclipse.swt.events.MouseListener;\r
-import org.eclipse.swt.events.SelectionEvent;\r
-import org.eclipse.swt.events.SelectionListener;\r
-import org.eclipse.swt.layout.GridData;\r
-import org.eclipse.swt.layout.GridLayout;\r
-import org.eclipse.swt.widgets.Composite;\r
-import org.eclipse.swt.widgets.Display;\r
-import org.eclipse.swt.widgets.Label;\r
-import org.eclipse.swt.widgets.Menu;\r
-import org.eclipse.swt.widgets.MenuItem;\r
-\r
-import com.swtdesigner.SWTResourceManager;\r
-\r
-import eu.etaxonomy.cdm.model.name.BotanicalName;\r
-import eu.etaxonomy.cdm.model.name.TaxonNameBase;\r
-import eu.etaxonomy.cdm.model.taxon.Synonym;\r
-import eu.etaxonomy.cdm.model.taxon.Taxon;\r
-import eu.etaxonomy.taxeditor.controller.TaxonTransfer;\r
-import eu.etaxonomy.taxeditor.view.NameEditorView;\r
-import eu.etaxonomy.taxeditor.view.NameViewer;\r
-\r
-public class NameComposite extends Composite {\r
-       \r
-       public static final int ACCEPTED = 0;\r
-       public static final int HOMOTYPIC_SYNONYM = 1;\r
-       public static final int HETEROTYPIC_SYNONYM = 2;\r
-       \r
-       Label relationLabel;\r
-       Synonym synonym;\r
-       Taxon taxon;\r
-       int compositeType;\r
-       NameViewer nameViewer;\r
-       boolean initialized = false;\r
-\r
-       /**\r
-        * Temporary procedure until ability to get accepted taxon\r
-        *  from synonym is implemented\r
-        *  \r
-        * @param parent\r
-        * @param synonym\r
-        * @param taxon\r
-        */\r
-       public NameComposite(Composite parent, Synonym synonym, Taxon taxon) {\r
-               super(parent, SWT.NONE);\r
-               \r
-               this.taxon = taxon;\r
-               this.synonym = synonym;\r
-\r
-               // Either initialize group composite, \r
-               //  or assume its homotypic group\r
-               if (parent instanceof GroupComposite) {\r
-                       \r
-                       if (((GroupComposite) parent).isAcceptedGroup())\r
-                               this.compositeType = HOMOTYPIC_SYNONYM;\r
-                       else\r
-                               this.compositeType = HETEROTYPIC_SYNONYM;                       \r
-                       \r
-                       if (((GroupComposite) parent).getHomotypicalGroup() == null) \r
-                               ((GroupComposite) parent).setHomotypicalGroup(\r
-                                               synonym.getName().getHomotypicalGroup());\r
-                       else\r
-                               synonym.getName().setHomotypicalGroup(\r
-                                               ((GroupComposite) parent).getHomotypicalGroup());\r
-               }               \r
-               \r
-               createNameComposite();          \r
-       }\r
-       \r
-       public NameComposite(Composite parent, Synonym synonym) {\r
-               super(parent, SWT.NONE);\r
-                \r
-               this.synonym = synonym;\r
-//             this.taxon = (Taxon) synonym.getAcceptedTaxa().toArray()[0];\r
-\r
-               // Either initialize group composite, \r
-               //  or assume its homotypic group\r
-               if (parent instanceof GroupComposite) {\r
-                       \r
-                       if (((GroupComposite) parent).isAcceptedGroup())\r
-                               this.compositeType = HOMOTYPIC_SYNONYM;\r
-                       else\r
-                               this.compositeType = HETEROTYPIC_SYNONYM;\r
-                       \r
-                       if (((GroupComposite) parent).getHomotypicalGroup() == null) \r
-                               ((GroupComposite) parent).setHomotypicalGroup(\r
-                                               synonym.getName().getHomotypicalGroup());\r
-                       else\r
-                               synonym.getName().setHomotypicalGroup(\r
-                                               ((GroupComposite) parent).getHomotypicalGroup());\r
-               }                               \r
-               \r
-               createNameComposite();\r
-       }\r
-\r
-       public NameComposite(Composite parent, Taxon taxon) {\r
-               super(parent, SWT.NONE);\r
-                               \r
-               this.taxon = taxon;\r
-               this.compositeType = ACCEPTED;\r
-               \r
-               // Initialize homotypic group component\r
-               if (parent instanceof GroupComposite) {\r
-                                               \r
-                       ((GroupComposite) parent).setHomotypicalGroup(\r
-                                       taxon.getName().getHomotypicalGroup());\r
-                       ((GroupComposite) parent).setAcceptedGroup(true);\r
-               }\r
-                       \r
-               createNameComposite();\r
-       }\r
-       \r
-       /**\r
-        * \r
-        */\r
-       public void createNameComposite() {\r
-\r
-               Assert.isNotNull(taxon);\r
-               \r
-               // Graphic layout of composite\r
-               GridLayout gridLayout = new GridLayout();\r
-               gridLayout.verticalSpacing = 0;\r
-               gridLayout.marginWidth = 5;\r
-               gridLayout.marginHeight = 5;\r
-               gridLayout.horizontalSpacing = 5;\r
-               gridLayout.numColumns = (compositeType == ACCEPTED? 1: 2);\r
-               this.setLayout(gridLayout);\r
-               this.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));\r
-               this.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));\r
-               if (compositeType != ACCEPTED) {\r
-//                     relationLabel.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/heterosyn_no_bg.gif"));    \r
-                       relationLabel = new Label(this, SWT.NONE);\r
-                       relationLabel.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false));                                     \r
-                       relationLabel.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));\r
-                       \r
-                       if (this.compositeType == HOMOTYPIC_SYNONYM)\r
-                               relationLabel.setImage(SWTResourceManager.getImage(NameComposite.class, "homosyn_no_bg.gif"));\r
-//                             relationLabel.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/homosyn_no_bg.gif"));\r
-                       else\r
-                               relationLabel.setImage(SWTResourceManager.getImage(NameComposite.class, "heterosyn_no_bg.gif"));\r
-//                             relationLabel.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/heterosyn_no_bg.gif"));\r
-               }\r
-               nameViewer = new NameViewer(this);      \r
-               nameViewer.getTextWidget().setLayoutData(\r
-                               new GridData(SWT.FILL, SWT.CENTER, true, false));\r
-               nameViewer.getTextWidget().setFont(\r
-                               SWTResourceManager.getFont("Georgia", \r
-                                               (compositeType == ACCEPTED? 12 : 10), \r
-                                               SWT.NONE));     \r
-               \r
-               // Add verify listener to check for line breaks\r
-               nameViewer.getTextWidget().addVerifyListener(\r
-                               new NameViewerVerifyListener(taxon));\r
-               \r
-               // Listen for changes to name\r
-               nameViewer.getTextWidget().addModifyListener(new ModifyListener () {\r
-                       public void modifyText(ModifyEvent e) {\r
-                               if (initialized) {\r
-                                       String text = ((StyledText) e.widget).getText();\r
-                                       setName(BotanicalName.PARSED_NAME(text));\r
-                               }\r
-                       }\r
-               });\r
-\r
-               // Listen for focus to send this name to the property sheet\r
-               nameViewer.getTextWidget().addFocusListener(new FocusAdapter () {\r
-                       public void focusGained(FocusEvent e) {\r
-                               \r
-                               if (nameEditorView != null)\r
-                                       nameEditorView.setPropertySheetNodes(getName());\r
-                       }\r
-               });\r
-               \r
-               // Listen for user selecting text\r
-               nameViewer.getTextWidget().addSelectionListener(new SelectionListener() {\r
-\r
-                       public void widgetDefaultSelected(SelectionEvent e) {\r
-                               // TODO Auto-generated method stub\r
-                               \r
-                       }\r
-\r
-                       public void widgetSelected(SelectionEvent e) {\r
-                               // e.x = start, y = e.finish - strange but true\r
-//                             nameViewer.getAnnotationModel().addAnnotation(\r
-//                                             new WarningAnnotation(0, "Could not parse name."), \r
-//                                             new Position(e.x, e.y - e.x));\r
-                       }\r
-                       \r
-               });\r
-               \r
-               \r
-               // Put name into name viewer, show error if parsed incorrectly\r
-               nameViewer.getTextWidget().setText(getName().getTitleCache() == null ? "" : getName().getTitleCache());\r
-               nameViewer.setShowError(getName().getHasProblem());\r
-               \r
-               // Put cursor at end of name viewer\r
-               nameViewer.getTextWidget().setCaretOffset(\r
-                               nameViewer.getTextWidget().getText().length());\r
-               \r
-               // Set composite to initialized - any new input will now be parsed\r
-               initialized = true;\r
-               \r
-               // Add drag functionality to synonyms only\r
-               if (compositeType == ACCEPTED) return;\r
-               \r
-               // make menu temp\r
-               createTempMenu();\r
-               \r
-               // **************** DRAG FUNCTIONALITY **************** //\r
-               Transfer[] types = new Transfer[] {TaxonTransfer.getInstance()};\r
-               int operations = DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK;\r
-               \r
-               // Make composite draggable\r
-               DragSource dragComposite = new DragSource (this, operations);\r
-               dragComposite.setTransfer(types);\r
-               dragComposite.addDragListener(dragSourceListener);\r
-\r
-               // Make relation label draggable        \r
-               DragSource dragLabel = new DragSource (relationLabel, operations);\r
-               dragLabel.setTransfer(types);\r
-               dragLabel.addDragListener(dragSourceListener);\r
-       }\r
-               \r
-       /**\r
-        * Shared drag listener which destroys the NameComposite after the drag\r
-        *  gesture is completed.\r
-        */\r
-       DragSourceListener dragSourceListener = new DragSourceListener () {\r
-               \r
-               CompositeRectangle rectangle;\r
-               \r
-               public void dragStart(DragSourceEvent event) {\r
-\r
-                       rectangle = new CompositeRectangle(NameComposite.this,\r
-                                       Display.getDefault().getSystemColor(SWT.COLOR_GRAY));\r
-                       \r
-                       event.doit = true;\r
-               }\r
-               public void dragSetData (DragSourceEvent event) {\r
-                       TaxonTransfer.getInstance().setTaxon(synonym);\r
-               }\r
-               public void dragFinished(DragSourceEvent event) {\r
-                       if (event.detail == DND.DROP_MOVE) {\r
-                               Composite parent = NameComposite.this.getParent();\r
-                               Composite grandParent = parent.getParent();\r
-                               \r
-//                             rectangle.dispose();\r
-                               NameComposite.this.dispose();\r
-                               \r
-                               // If this was the last child in its homo. group,\r
-                               //  drop the group from the interface \r
-                               if (parent.getChildren().length == 0)\r
-                                       parent.dispose();\r
-                               else\r
-                                       // Only used if we're dropping it on its current homo. group\r
-                                       parent.layout();\r
-                               \r
-                               grandParent.layout();\r
-                       }\r
-               }\r
-       };\r
-       private NameEditorView nameEditorView;\r
-       \r
-       public void setName(TaxonNameBase name) {\r
-               (compositeType == ACCEPTED? taxon : synonym).setName(name);\r
-               nameViewer.setShowError(name.getHasProblem());\r
-       }\r
-       \r
-       public TaxonNameBase getName() {\r
-               return (compositeType == ACCEPTED? taxon : synonym).getName();                          \r
-       }\r
-\r
-       public void setNameEditorView(NameEditorView nameEditorView) {\r
-               this.nameEditorView = nameEditorView;           \r
-       }\r
-       \r
-       private void createTempMenu() {\r
-               final Menu menu1 = new Menu(relationLabel);\r
-               relationLabel.setMenu(menu1);\r
-               relationLabel.addMouseListener(new MouseListener() {\r
-\r
-                       public void mouseDoubleClick(MouseEvent e) {\r
-                               // TODO Auto-generated method stub\r
-                               \r
-                       }\r
-\r
-                       public void mouseDown(MouseEvent e) {\r
-                               menu1.setVisible(true);\r
-                       }\r
-\r
-                       public void mouseUp(MouseEvent e) {\r
-                               // TODO Auto-generated method stub\r
-                               \r
-                       }\r
-                       \r
-               });\r
-\r
-               final MenuItem deletehieraciumFuscoatrumMenuItem = new MenuItem(menu1, SWT.NONE);\r
-               deletehieraciumFuscoatrumMenuItem.setText("Delete \"Hieracium wolffii subsp. trichotranssilvanicum\" from this taxon");\r
-\r
-               new MenuItem(menu1, SWT.SEPARATOR);\r
-\r
-               final MenuItem moveMenuItem = new MenuItem(menu1, SWT.NONE);\r
-               moveMenuItem.setText("Make \"Hieracium wolffii subsp. trichotranssilvanicum\" the accepted name of a new taxon");\r
-\r
-               final MenuItem makehieraciumFuscoatrumMenuItem = new MenuItem(menu1, SWT.NONE);\r
-               makehieraciumFuscoatrumMenuItem.setText("Make \"Hieracium wolffii subsp. trichotranssilvanicum\" the accepted name of this taxon");\r
-\r
-               new MenuItem(menu1, SWT.SEPARATOR);\r
-\r
-               final MenuItem turnhieraciumFuscoatrumMenuItem_3 = new MenuItem(menu1, SWT.NONE);\r
-               turnhieraciumFuscoatrumMenuItem_3.setText("Turn \"Hieracium wolffii subsp. trichotranssilvanicum\" into a basionym");\r
-\r
-               final MenuItem turnhieraciumFuscoatrumMenuItem_4 = new MenuItem(menu1, SWT.NONE);\r
-               turnhieraciumFuscoatrumMenuItem_4.setText("...");\r
-       }\r
-\r
-       \r
-}
\ No newline at end of file
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/nameviewersupport/NameViewerVerifyListener.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/nameviewersupport/NameViewerVerifyListener.java
deleted file mode 100644 (file)
index 39796b8..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-package eu.etaxonomy.taxeditor.view.nameviewersupport;\r
-\r
-import java.util.Scanner;\r
-\r
-import org.eclipse.swt.custom.StyledText;\r
-import org.eclipse.swt.events.VerifyEvent;\r
-import org.eclipse.swt.events.VerifyListener;\r
-\r
-import eu.etaxonomy.cdm.model.taxon.Taxon;\r
-import eu.etaxonomy.taxeditor.controller.ActionAddSynonymToTaxon;\r
-\r
-/**\r
- * Checks text entered into a name viewer for line breaks, creates\r
- *  new synonyms accordingly\r
- * \r
- * @author p.ciardelli\r
- */\r
-public class NameViewerVerifyListener implements VerifyListener {\r
-       \r
-       private Taxon taxon;\r
-\r
-       NameViewerVerifyListener(Taxon taxon) {\r
-               this.taxon = taxon;\r
-       }\r
-       \r
-       /* \r
-        * Checks for 3 conditions of name viewer text:\r
-        *   1) no line breaks in text\r
-        *   2) line break at the end of the text\r
-        *   3) line break in the middle of the text\r
-        *   \r
-        * (non-Javadoc)\r
-        * @see org.eclipse.swt.events.VerifyListener#verifyText(org.eclipse.swt.events.VerifyEvent)\r
-        */\r
-       public void verifyText(VerifyEvent e) {\r
-                               \r
-               String verifyText = e.text;\r
-               \r
-               StyledText styledText = (StyledText)e.widget;\r
-               String widgetText = styledText.getText(); \r
-               int cursorPosition = styledText.getCaretOffset();\r
-               \r
-               // Is there a line break in verifyText?\r
-               if (!verifyText.contains(System.getProperty("line.separator")))\r
-                       // Parse text normally\r
-                       return;\r
-               \r
-               // Don't add verifyText without further processing\r
-               e.doit = false;\r
-               \r
-               // If user has entered return at the end of the line,\r
-               //  make a new, empty synonym\r
-               if (widgetText.length() == cursorPosition &&\r
-                               verifyText.equals(System.getProperty("line.separator"))) {\r
-                       new ActionAddSynonymToTaxon(taxon, "").run();\r
-                       return;\r
-               }\r
-               \r
-               // Concatenate old and new texts\r
-               String textForSplitting = widgetText.substring(0, cursorPosition) \r
-                               + verifyText\r
-                               + widgetText.substring(cursorPosition);\r
-               \r
-               // Split on line breaks\r
-               Scanner scanner = new Scanner( textForSplitting );\r
-               scanner.useDelimiter (System.getProperty("line.separator"));\r
-               \r
-               // Put first string into name viewer\r
-               styledText.setText(scanner.next());     \r
-               \r
-               // Start new synonyms with the rest\r
-               while (scanner.hasNext())\r
-                       new ActionAddSynonymToTaxon(taxon, scanner.next()).run();\r
-       }\r
-}\r
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/nameviewersupport/TesterooWritableSet.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/nameviewersupport/TesterooWritableSet.java
deleted file mode 100644 (file)
index 31714c8..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-package eu.etaxonomy.taxeditor.view.nameviewersupport;\r
-\r
-import org.eclipse.core.databinding.observable.set.WritableSet;\r
-import org.eclipse.jface.databinding.swt.SWTObservables;\r
-import org.eclipse.swt.widgets.Display;\r
-\r
-public class TesterooWritableSet extends WritableSet {\r
-       private static final TesterooWritableSet INSTANCE = new TesterooWritableSet();\r
-       \r
-       public static TesterooWritableSet getInstance() {\r
-               return INSTANCE;\r
-       }\r
-       \r
-       public TesterooWritableSet() {\r
-               super(SWTObservables.getRealm(Display.getDefault()));\r
-       }\r
-}\r
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/nameviewersupport/WarningAnnotation.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/nameviewersupport/WarningAnnotation.java
deleted file mode 100644 (file)
index b00b86d..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-package eu.etaxonomy.taxeditor.view.nameviewersupport;\r
-\r
-import org.eclipse.core.resources.IMarker;\r
-import org.eclipse.jface.text.Position;\r
-import org.eclipse.jface.text.source.Annotation;\r
-import org.eclipse.swt.graphics.Image;\r
-import org.eclipse.swt.graphics.RGB;\r
-\r
-public class WarningAnnotation extends Annotation {\r
-    private IMarker marker;\r
-    private String text;\r
-    private int line;\r
-    private Position position;\r
-\r
-    // error identifiers, images and colors\r
-    public static String WARNING_TYPE = "warning.type";\r
-    public static Image WARNING_IMAGE;\r
-    public static final RGB WARNING_RGB = new RGB(244, 200, 45);    \r
-    \r
-    public WarningAnnotation(IMarker marker) {\r
-        this.marker = marker;\r
-    }\r
-\r
-    public WarningAnnotation(int line, String text) {\r
-        super(WARNING_TYPE, true, null);\r
-        this.marker = null;\r
-        this.line = line;\r
-        this.text = text;\r
-    }\r
-\r
-    public IMarker getMarker() {\r
-        return marker;\r
-    }\r
-\r
-    public int getLine() {\r
-        return line;\r
-    }\r
-\r
-    public String getText() {\r
-        return text;\r
-    }\r
-\r
-    public Image getImage() {\r
-        return WARNING_IMAGE;\r
-    }\r
-\r
-    public int getLayer() {\r
-        return 3;\r
-    }\r
-\r
-    public String getType() {\r
-        return WARNING_TYPE;\r
-    }\r
-\r
-    public Position getPosition() {\r
-        return position;\r
-    }\r
-\r
-    public void setPosition(Position position) {\r
-        this.position = position;\r
-    }\r
-}
\ No newline at end of file
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/nameviewersupport/heterosyn_no_bg.gif b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/nameviewersupport/heterosyn_no_bg.gif
deleted file mode 100644 (file)
index 02a6d38..0000000
Binary files a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/nameviewersupport/heterosyn_no_bg.gif and /dev/null differ
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/nameviewersupport/homosyn_no_bg.gif b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/nameviewersupport/homosyn_no_bg.gif
deleted file mode 100644 (file)
index 19575f7..0000000
Binary files a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/nameviewersupport/homosyn_no_bg.gif and /dev/null differ
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/propertysheetsupport/PropertySheetContentProvider.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/propertysheetsupport/PropertySheetContentProvider.java
deleted file mode 100644 (file)
index 0183e96..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-package eu.etaxonomy.taxeditor.view.propertysheetsupport;\r
-\r
-import java.util.List;\r
-\r
-import org.eclipse.jface.databinding.viewers.ObservableListContentProvider;\r
-import org.eclipse.jface.viewers.ITreeContentProvider;\r
-import org.eclipse.jface.viewers.Viewer;\r
-\r
-import eu.etaxonomy.taxeditor.model.PropertySheetNode;\r
-\r
-public class PropertySheetContentProvider extends ObservableListContentProvider implements ITreeContentProvider {\r
-\r
-       public Object[] getChildren(Object parentElement) {\r
-               List<PropertySheetNode> children = ((PropertySheetNode) parentElement).getChildProperties();\r
-               return children == null? new Object[0] : children.toArray();\r
-       }\r
-\r
-       public Object getParent(Object element) {\r
-               return ((PropertySheetNode) element).getParentProperty();\r
-       }\r
-\r
-       public boolean hasChildren(Object element) {\r
-               return ((PropertySheetNode) element).getChildProperties() != null;\r
-       }\r
-       \r
-       public Object[] getElements(Object inputElement) {\r
-               if (inputElement != null && inputElement instanceof List) {\r
-                       return ((List) inputElement).toArray();\r
-               }\r
-               return new Object[0];\r
-       }\r
-\r
-       public void dispose() {\r
-       }\r
-\r
-       public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {\r
-       }\r
-}\r
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/propertysheetsupport/PropertySheetValueEditingSupport.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/propertysheetsupport/PropertySheetValueEditingSupport.java
deleted file mode 100644 (file)
index efc1f17..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-package eu.etaxonomy.taxeditor.view.propertysheetsupport;\r
-\r
-import java.util.TreeMap;\r
-\r
-import org.eclipse.core.databinding.DataBindingContext;\r
-import org.eclipse.core.databinding.UpdateValueStrategy;\r
-import org.eclipse.core.databinding.observable.value.IObservableValue;\r
-import org.eclipse.core.runtime.Assert;\r
-import org.eclipse.jface.databinding.swt.SWTObservables;\r
-import org.eclipse.jface.viewers.CellEditor;\r
-import org.eclipse.jface.viewers.EditingSupport;\r
-import org.eclipse.jface.viewers.TextCellEditor;\r
-import org.eclipse.jface.viewers.ViewerCell;\r
-import org.eclipse.swt.SWT;\r
-\r
-import eu.etaxonomy.taxeditor.model.PropertySheetNode;\r
-import eu.etaxonomy.taxeditor.view.PropertySheetViewer;\r
-\r
-public class PropertySheetValueEditingSupport extends EditingSupport {\r
-\r
-       private TreeMap<String,CellEditor> cellEditors;\r
-       private PropertySheetViewer viewer;\r
-       private DataBindingContext bindingContext;\r
-                       \r
-       public PropertySheetValueEditingSupport(PropertySheetViewer viewer) {\r
-               super(viewer);\r
-               this.viewer = viewer;\r
-               this.bindingContext = viewer.getBindingContext();\r
-               this.cellEditors = new TreeMap<String, CellEditor>();\r
-       }               \r
-       \r
-       protected boolean canEdit(Object element) {\r
-               return ((PropertySheetNode) element).isEditable();\r
-       }\r
-\r
-       protected CellEditor getCellEditor(Object element) {\r
-               String elementString = element.toString();\r
-               if (cellEditors.get(elementString) == null)\r
-                       cellEditors.put(elementString, new TextCellEditor(viewer.getTree()));\r
-               return cellEditors.get(elementString);\r
-       }\r
-\r
-       protected Object getValue(Object element) {\r
-               return (PropertySheetNode) element;\r
-       }\r
-\r
-       protected void setValue(Object element, Object value) {\r
-               ((PropertySheetNode) element).setPropertyValue(value.toString());\r
-               this.getViewer().update(element, null);\r
-       }\r
-\r
-       protected void initializeCellEditorValue(CellEditor cellEditor, ViewerCell cell) {\r
-               PropertySheetNode node = (PropertySheetNode) getValue(cell.getElement());\r
-               \r
-               // an empty string instead of a null makes the field editable\r
-               cellEditor.setValue(node.getPropertyValue() == null ? "" : node.getPropertyValue());\r
-               \r
-               // if node element is observing a value, bind it to its TreeItem\r
-               IObservableValue observeNodeValue = node.getObserveValue();\r
-               if (observeNodeValue != null) {\r
-                       \r
-               Assert.isNotNull(bindingContext,\r
-               "Editing support: PropertySheetViewer's binding context must be explicitly set.");\r
-                       \r
-                       IObservableValue observeCellValue = SWTObservables.observeText(cellEditor.getControl(), SWT.Modify);\r
-                       bindingContext.bindValue(observeNodeValue, observeCellValue,\r
-                                       new UpdateValueStrategy(UpdateValueStrategy.POLICY_CONVERT), null);\r
-                       \r
-               }\r
-       }               \r
-}
\ No newline at end of file
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/propertysheetsupport/PropertySheetValueLabelProvider.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/propertysheetsupport/PropertySheetValueLabelProvider.java
deleted file mode 100644 (file)
index bf11ee5..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-package eu.etaxonomy.taxeditor.view.propertysheetsupport;\r
-\r
-import org.eclipse.core.databinding.DataBindingContext;\r
-import org.eclipse.core.databinding.beans.BeansObservables;\r
-import org.eclipse.core.databinding.observable.value.IObservableValue;\r
-import org.eclipse.core.runtime.Assert;\r
-import org.eclipse.jface.viewers.ColumnLabelProvider;\r
-import org.eclipse.jface.viewers.ViewerCell;\r
-import org.eclipse.swt.graphics.Image;\r
-import org.eclipse.swt.widgets.TreeItem;\r
-\r
-import eu.etaxonomy.taxeditor.model.PropertySheetNode;\r
-import eu.etaxonomy.taxeditor.view.PropertySheetViewer;\r
-\r
-/**\r
- * \r
- * Borrowed from tomson <tom.schindl@bestsolution.at>'s GenericObservableMapCellLabelProvider\r
- * \r
- * @author p.ciardelli\r
- *\r
- */\r
-public class PropertySheetValueLabelProvider extends ColumnLabelProvider {\r
-       \r
-       private DataBindingContext bindingContext;\r
-\r
-       public PropertySheetValueLabelProvider(PropertySheetViewer viewer) {\r
-               this.bindingContext = viewer.getBindingContext();\r
-       }\r
-\r
-       public Image getImage(Object element) {\r
-               return null;\r
-       }\r
-\r
-       public String getText(Object element) {\r
-               return (String) ((PropertySheetNode) element).getPropertyValue();\r
-       }\r
-                       \r
-       public void update(ViewerCell cell) {\r
-       \r
-               Object element = cell.getElement();\r
-               cell.setText(getText(element));\r
-               Image image = getImage(element);\r
-               cell.setImage(image);\r
-               cell.setBackground(getBackground(element));\r
-               cell.setForeground(getForeground(element));\r
-               cell.setFont(getFont(element));\r
-\r
-               // if node element is observing a value, bind it to its TreeItem\r
-               IObservableValue observeNodeValue = ((PropertySheetNode) element).getObserveValue();\r
-               if (observeNodeValue != null) {\r
-                       \r
-               Assert.isNotNull(bindingContext,\r
-                    "Label provider: PropertySheetViewer's binding context must be explicitly set.");\r
-               \r
-               TreeItemColumnBean itemColumn = new TreeItemColumnBean((TreeItem) cell.getItem(),1);\r
-                       IObservableValue observeCellValue = BeansObservables.observeValue(itemColumn, "text");\r
-                       bindingContext.bindValue(observeCellValue, observeNodeValue, null, null);\r
-               }\r
-       }\r
-       \r
-       /**\r
-        * TreeItem returns column texts by index, i.e. getText(1) - this is a wrapper which \r
-        *  allows BeansObservables to observe value with getText / setText\r
-        **/\r
-       class TreeItemColumnBean {\r
-\r
-               TreeItem item;\r
-               int index;\r
-               \r
-               TreeItemColumnBean(TreeItem item, int index) {\r
-                       this.item = item;\r
-                       this.index = index;\r
-               }\r
-\r
-               public String getText() {\r
-                       return item.getText(index);\r
-               }\r
-\r
-               public void setText(String string) {\r
-                       item.setText(index, string);\r
-               }\r
-       }\r
-}
\ No newline at end of file