eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/concept/ConceptLabelProvider.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/concept/ConceptViewPart.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/concept/ConceptViewerSorter.java -text
+eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/concept/graph/ConceptGraphContentProvider.java -text
+eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/concept/graph/ConceptGraphLabelProvider.java -text
+eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/concept/graph/ConceptGraphView.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/concept/handler/AbstractDynamicConceptRelationMenu.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/concept/handler/ChangeConceptRelationshipTypeHandler.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/concept/handler/ChangeConceptRelationshipTypeMenu.java -text
eu.etaxonomy.taxeditor.help/.project -text
eu.etaxonomy.taxeditor.help/META-INF/MANIFEST.MF -text
eu.etaxonomy.taxeditor.help/build.properties -text
-eu.etaxonomy.taxeditor.help/html/concepts/maintopic.html -text
-eu.etaxonomy.taxeditor.help/html/concepts/subtopic.html -text
-eu.etaxonomy.taxeditor.help/html/concepts/subtopic2.html -text
eu.etaxonomy.taxeditor.help/html/gettingstarted/a_succesful_parsed_taxon_record.html -text
eu.etaxonomy.taxeditor.help/html/gettingstarted/about_bulk_editing.html -text
eu.etaxonomy.taxeditor.help/html/gettingstarted/about_the_manual.html -text
eu.etaxonomy.taxeditor.help/html/gettingstarted/uninomial_and_specific_epithet.html -text
eu.etaxonomy.taxeditor.help/html/gettingstarted/windows_vista.html -text
eu.etaxonomy.taxeditor.help/html/gettingstarted/windows_xp_and_older_systems.html -text
-eu.etaxonomy.taxeditor.help/html/img/10_1a.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/10_1b.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/10_1c.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/10_1d.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/10_1e.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/10_1f.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/10_1g.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/10_1h.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/2_10a.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/2_10b.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/2_10c.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/2_10d.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/2_10e.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/2_10f.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/2_10g.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/2_11a.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/2_11b.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/2_11c.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/2_11d.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/2_1a.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/2_1b.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/2_1c.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/2_1d.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/2_1e.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/2_1f.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/2_1g.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/2_2a.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/2_2b.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/2_3a.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/2_3b.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/2_3c.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/2_4a.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/2_4b.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/2_5a.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/2_5b.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/2_6a.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/2_8a.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/2_9a.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/2_9b.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/2_9c.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/3_1a.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/3_2a.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/3_2b.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/3_2c.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/3_2d.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/3_2e.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/3_4a.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/3_4b.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/3_4c.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/3_4d.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/3_4e.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/3_4f.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/3_4g.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/3_4h.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/3_4i.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/4_1a.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/4_1b.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/4_1c.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/4_1d.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/4_1e.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/4_1f.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/4_1g.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/4_1h.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/4_1i.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/4_1j.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/4_1k.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/4_1l.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/4_2a.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/4_2b.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/4_2c.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/4_2d_text.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/4_3a.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/4_3aa.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/4_3b.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/4_3bb.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/4_3c.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/4_3cc.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/4_3d.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/4_3e.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/4_3f.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/4_3g.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/4_3h.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/4_3i.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/4_3j.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/4_3k.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/5_1a.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/5_1b.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/5_1c.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/5_1d.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/5_1e.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/5_1f.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/5_1g.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/5_1h.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/5_1i.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/5_1j.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/5_1k.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/5_1l.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/5_1m.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/5_1n.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/5_1o.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/5_1p.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/5_1q.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/5_1r.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/5_1s.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/5_1t.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/5_1u.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/5_1v.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/5_1w.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/5_1x.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/5_3a.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/5_3b.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/5_3c.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/5_4a.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/5_4b.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/5_4c.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/5_4d.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/5_4e.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/5_4f.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/5_4g.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/5_4h.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/5_4i.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/6_1a.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/6_1b.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/6_1c.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/6_1d.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/6_2a.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/6_2b.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/6_2c.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/6_2d.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/6_2e.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/6_2f.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/6_3a.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/6_3b.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/6_3c.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/6_4a.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/6_4b.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/6_5a.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/6_5b.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/6_5c.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/6_5d.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/6_5e.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/6_5f.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/6_5g.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/6_6a.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/6_6b.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/6_6c.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/6_6cc.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/6_6d.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/7_1a.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/7_1b.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/7_2a.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/7_2b.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/7_3a.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/7_4a.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/7_5a.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/7_6a.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/7_6b.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/7_7a.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/7_7b.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/7_7c.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/7_8a.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/7_8b.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/7_8c.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/8_3a.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/8_3b.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/8_3c.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/8_4a.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/8_4b.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/8_5a.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/8_5b.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/8_5c.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/8_5d.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/8_5e.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/8_5f.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/8_6a.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/8_6b.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/8_6c.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/9_1a.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/9_2a.JPG -text
-eu.etaxonomy.taxeditor.help/html/img/9_2b.JPG -text
+eu.etaxonomy.taxeditor.help/html/img/10_1a.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/10_1b.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/10_1c.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/10_1d.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/10_1e.jpg -text svneol=unset#unset
+eu.etaxonomy.taxeditor.help/html/img/10_1f.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/10_1g.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/10_1h.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/2_10a.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/2_10b.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/2_10c.jpg -text svneol=unset#unset
+eu.etaxonomy.taxeditor.help/html/img/2_10d.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/2_10e.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/2_10f.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/2_10g.jpg -text svneol=unset#unset
+eu.etaxonomy.taxeditor.help/html/img/2_11a.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/2_11b.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/2_11c.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/2_11d.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/2_1a.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/2_1b.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/2_1c.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/2_1d.jpg -text svneol=unset#unset
+eu.etaxonomy.taxeditor.help/html/img/2_1e.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/2_1f.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/2_1g.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/2_2a.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/2_2b.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/2_3a.jpg -text svneol=unset#unset
+eu.etaxonomy.taxeditor.help/html/img/2_3b.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/2_3c.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/2_4a.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/2_4b.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/2_5a.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/2_5b.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/2_6a.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/2_8a.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/2_9a.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/2_9b.jpg -text svneol=unset#unset
+eu.etaxonomy.taxeditor.help/html/img/2_9c.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/3_1a.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/3_2a.jpg -text svneol=unset#unset
+eu.etaxonomy.taxeditor.help/html/img/3_2b.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/3_2c.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/3_2d.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/3_2e.jpg -text svneol=unset#unset
+eu.etaxonomy.taxeditor.help/html/img/3_4a.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/3_4b.jpg -text svneol=unset#unset
+eu.etaxonomy.taxeditor.help/html/img/3_4c.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/3_4d.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/3_4e.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/3_4f.jpg -text svneol=unset#unset
+eu.etaxonomy.taxeditor.help/html/img/3_4g.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/3_4h.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/3_4i.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/4_1a.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/4_1b.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/4_1c.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/4_1d.jpg -text svneol=unset#unset
+eu.etaxonomy.taxeditor.help/html/img/4_1e.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/4_1f.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/4_1g.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/4_1h.jpg -text svneol=unset#unset
+eu.etaxonomy.taxeditor.help/html/img/4_1i.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/4_1j.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/4_1k.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/4_1l.jpg -text svneol=unset#unset
+eu.etaxonomy.taxeditor.help/html/img/4_2a.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/4_2b.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/4_2c.jpg -text svneol=unset#unset
+eu.etaxonomy.taxeditor.help/html/img/4_2d_text.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/4_3a.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/4_3aa.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/4_3b.jpg -text svneol=unset#unset
+eu.etaxonomy.taxeditor.help/html/img/4_3bb.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/4_3c.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/4_3cc.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/4_3d.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/4_3e.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/4_3f.jpg -text svneol=unset#unset
+eu.etaxonomy.taxeditor.help/html/img/4_3g.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/4_3h.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/4_3i.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/4_3j.jpg -text svneol=unset#unset
+eu.etaxonomy.taxeditor.help/html/img/4_3k.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/5_1a.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/5_1b.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/5_1c.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/5_1d.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/5_1e.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/5_1f.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/5_1g.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/5_1h.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/5_1i.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/5_1j.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/5_1k.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/5_1l.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/5_1m.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/5_1n.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/5_1o.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/5_1p.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/5_1q.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/5_1r.jpg -text svneol=unset#unset
+eu.etaxonomy.taxeditor.help/html/img/5_1s.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/5_1t.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/5_1u.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/5_1v.jpg -text svneol=unset#unset
+eu.etaxonomy.taxeditor.help/html/img/5_1w.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/5_1x.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/5_3a.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/5_3b.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/5_3c.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/5_4a.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/5_4b.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/5_4c.jpg -text svneol=unset#unset
+eu.etaxonomy.taxeditor.help/html/img/5_4d.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/5_4e.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/5_4f.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/5_4g.jpg -text svneol=unset#unset
+eu.etaxonomy.taxeditor.help/html/img/5_4h.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/5_4i.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/6_1a.jpg -text svneol=unset#unset
+eu.etaxonomy.taxeditor.help/html/img/6_1b.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/6_1c.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/6_1d.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/6_2a.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/6_2b.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/6_2c.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/6_2d.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/6_2e.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/6_2f.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/6_3a.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/6_3b.jpg -text svneol=unset#unset
+eu.etaxonomy.taxeditor.help/html/img/6_3c.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/6_4a.jpg -text svneol=unset#unset
+eu.etaxonomy.taxeditor.help/html/img/6_4b.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/6_5a.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/6_5b.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/6_5c.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/6_5d.jpg -text svneol=unset#unset
+eu.etaxonomy.taxeditor.help/html/img/6_5e.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/6_5f.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/6_5g.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/6_6a.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/6_6b.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/6_6c.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/6_6cc.jpg -text svneol=unset#unset
+eu.etaxonomy.taxeditor.help/html/img/6_6d.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/7_1a.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/7_1b.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/7_2a.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/7_2b.jpg -text svneol=unset#unset
+eu.etaxonomy.taxeditor.help/html/img/7_3a.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/7_4a.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/7_5a.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/7_6a.jpg -text svneol=unset#unset
+eu.etaxonomy.taxeditor.help/html/img/7_6b.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/7_7a.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/7_7b.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/7_7c.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/7_8a.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/7_8b.jpg -text svneol=unset#unset
+eu.etaxonomy.taxeditor.help/html/img/7_8c.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/8_3a.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/8_3b.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/8_3c.jpg -text svneol=unset#unset
+eu.etaxonomy.taxeditor.help/html/img/8_4a.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/8_4b.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/8_5a.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/8_5b.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/8_5c.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/8_5d.jpg -text svneol=unset#unset
+eu.etaxonomy.taxeditor.help/html/img/8_5e.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/8_5f.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/8_6a.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/8_6b.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/8_6c.jpg -text svneol=unset#unset
+eu.etaxonomy.taxeditor.help/html/img/9_1a.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/9_2a.jpg -text
+eu.etaxonomy.taxeditor.help/html/img/9_2b.jpg -text svneol=unset#unset
eu.etaxonomy.taxeditor.help/html/img/blackarrow.jpg -text
eu.etaxonomy.taxeditor.help/html/img/cybergate.jpg -text
eu.etaxonomy.taxeditor.help/html/img/fileicon.jpg -text
eu.etaxonomy.taxeditor.help/html/img/orangewarning.jpg -text
eu.etaxonomy.taxeditor.help/html/img/redwarning.jpg -text
-eu.etaxonomy.taxeditor.help/html/reference/maintopic.html -text
-eu.etaxonomy.taxeditor.help/html/reference/subtopic.html -text
-eu.etaxonomy.taxeditor.help/html/reference/subtopic2.html -text
-eu.etaxonomy.taxeditor.help/html/samples/maintopic.html -text
-eu.etaxonomy.taxeditor.help/html/samples/subtopic.html -text
-eu.etaxonomy.taxeditor.help/html/samples/subtopic2.html -text
-eu.etaxonomy.taxeditor.help/html/tasks/maintopic.html -text
-eu.etaxonomy.taxeditor.help/html/tasks/subtopic.html -text
-eu.etaxonomy.taxeditor.help/html/tasks/subtopic2.html -text
-eu.etaxonomy.taxeditor.help/html/toc.html -text
+eu.etaxonomy.taxeditor.help/html/nameparser/authorship_part.html -text
+eu.etaxonomy.taxeditor.help/html/nameparser/name_part.html -text
+eu.etaxonomy.taxeditor.help/html/nameparser/nomenclatural_status_part.html -text
+eu.etaxonomy.taxeditor.help/html/nameparser/overview.html -text
+eu.etaxonomy.taxeditor.help/html/nameparser/reference_part.html -text
eu.etaxonomy.taxeditor.help/original_document/Taxonomic_Editor_User_Manual_Version_4.doc -text
eu.etaxonomy.taxeditor.help/plugin.xml -text
eu.etaxonomy.taxeditor.help/pom.xml -text
eu.etaxonomy.taxeditor.help/src/eu/etaxonomy/taxeditor/help/Activator.java -text
eu.etaxonomy.taxeditor.help/toc.xml -text
eu.etaxonomy.taxeditor.help/tocgettingstarted.xml -text
+eu.etaxonomy.taxeditor.help/tocnameparser.xml -text
eu.etaxonomy.taxeditor.navigation/.classpath -text
eu.etaxonomy.taxeditor.navigation/.project -text
eu.etaxonomy.taxeditor.navigation/META-INF/MANIFEST.MF -text
if (editor instanceof AnnotatedLineEditor) {
- ISelection selection = HandlerUtil.getActiveMenuSelection(event);
+ ISelection selection = HandlerUtil.getCurrentSelection(event);
if (selection instanceof TextSelection) {
// Get current line
(LineAnnotationModel) provider.getAnnotationModel(input);
IDocument document = provider.getDocument(input);
- ISelection selection = HandlerUtil.getActiveMenuSelection(event);
+ ISelection selection = HandlerUtil.getCurrentSelection(event);
if (selection instanceof TextSelection) {
Annotation annotation = null;
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry exported="true" kind="lib" path="lib/cdmlib-commons-3.0.10-SNAPSHOT.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/cdmlib-ext-3.0.10-SNAPSHOT.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/cdmlib-io-3.0.10-SNAPSHOT.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/cdmlib-model-3.0.10-SNAPSHOT.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/cdmlib-persistence-3.0.10-SNAPSHOT.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/cdmlib-print-3.0.10-SNAPSHOT.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/cdmlib-remote-3.0.10-SNAPSHOT.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/cdmlib-services-3.0.10-SNAPSHOT.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/hibernate-envers-3.4.0-SNAPSHOT.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry exported="true" kind="lib" path="lib/activation-1.1.jar" sourcepath="lib/activation-1.1src.zip"/>
<classpathentry exported="true" kind="lib" path="lib/xom-1.0.jar"/>
<classpathentry exported="true" kind="lib" path="lib/xsltc.jar"/>
<classpathentry exported="true" kind="lib" path="lib/xstream-1.3.1.jar" sourcepath="lib/xstream-1.3.1src.zip"/>
+ <classpathentry exported="true" kind="lib" path="lib/hibernate-envers-3.4.0-SNAPSHOT.jar" sourcepath="lib/hibernate-envers-3.4.0-SNAPSHOTsrc.zip"/>
+ <classpathentry exported="true" kind="lib" path="lib/cdmlib-commons-3.0.10-SNAPSHOT.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/cdmlib-ext-3.0.10-SNAPSHOT.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/cdmlib-io-3.0.10-SNAPSHOT.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/cdmlib-model-3.0.10-SNAPSHOT.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/cdmlib-persistence-3.0.10-SNAPSHOT.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/cdmlib-print-3.0.10-SNAPSHOT.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/cdmlib-remote-3.0.10-SNAPSHOT.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/cdmlib-services-3.0.10-SNAPSHOT.jar"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>
lib/jsr250-api-1.0.jar,\\r
lib/jta.jar,\\r
lib/jtds-1.2.2.jar,\\r
- lib/junit-4.4.jar,\\r
lib/junit-4.8.1.jar,\\r
lib/log4j-1.2.14.jar,\\r
lib/lsid-client-1.1.2.jar,\\r
lib/cdmlib-services-3.0.10-SNAPSHOT.jar\r
jars.compile.order = cdmLibrary.jar\r
src.includes = lib/\r
-jre.compilation.profile = J2SE-1.6\r
bin.excludes = lib/activation-1.1src.zip,\\r
lib/c3p0-0.9.1src.zip,\\r
- lib/cdmlib-commons-3.0-sources.jar,\\r
- lib/cdmlib-ext-3.0-sources.jar,\\r
- lib/cdmlib-io-3.0-sources.jar,\\r
- lib/cdmlib-model-3.0-sources.jar,\\r
- lib/cdmlib-persistence-3.0-sources.jar,\\r
- lib/cdmlib-print-3.0-sources.jar,\\r
- lib/cdmlib-remote-3.0-sources.jar,\\r
- lib/cdmlib-services-3.0-sources.jar,\\r
lib/commons-beanutils-1.7.0src.zip,\\r
lib/commons-collections-3.2src.zip,\\r
lib/commons-dbcp-1.2.2src.zip,\\r
lib/slf4j-log4j12-1.5.2src.zip,\\r
lib/spring-modules-cache-0.7src.zip,\\r
lib/spring-modules-lucene-0.8asrc.zip,\\r
- lib/spring-security-core-3.0.0.RELEASEsrc.zip,\\r
lib/wsdl4j-1.6.1src.zip,\\r
lib/xml-resolver-1.2src.zip,\\r
lib/xstream-1.3.1src.zip,\\r
- lib/junit-4.8.1src.zip,\\r
- lib/cdmlib-services-3.0.6-SNAPSHOT-sources.jar,\\r
- lib/cdmlib-remote-3.0.6-SNAPSHOT-sources.jar,\\r
- lib/cdmlib-print-3.0.6-SNAPSHOT-sources.jar,\\r
- lib/cdmlib-persistence-3.0.6-SNAPSHOT-sources.jar,\\r
- lib/cdmlib-model-3.0.6-SNAPSHOT-sources.jar,\\r
- lib/cdmlib-io-3.0.6-SNAPSHOT-sources.jar,\\r
- lib/cdmlib-ext-3.0.6-SNAPSHOT-sources.jar,\\r
- lib/cdmlib-commons-3.0.6-SNAPSHOT-sources.jar,\\r
- lib/cdmlib-commons-3.0.6-SNAPSHOT.jar,\\r
- lib/cdmlib-ext-3.0.6-SNAPSHOT.jar\r
+ lib/junit-4.8.1src.zip\r
\r
name="Concept Relations"
restorable="true">
</view>
+ <view
+ class="eu.etaxonomy.taxeditor.editor.view.concept.graph.ConceptGraphView"
+ icon="icons/address-book-new.png"
+ id="eu.etaxonomy.taxeditor.editor.view.concept.graph"
+ name="Concept Graph"
+ restorable="true">
+ </view>
</extension>
<extension
point="org.eclipse.ui.elementFactories">
value="eu.etaxonomy.taxeditor.editor.view.concept">
</parameter>
</command>
+ <command
+ commandId="org.eclipse.ui.views.showView"
+ label="Concept Graph"
+ style="push">
+ <parameter
+ name="org.eclipse.ui.views.showView.viewId"
+ value="eu.etaxonomy.taxeditor.editor.view.concept.graph">
+ </parameter>
+ <visibleWhen
+ checkEnabled="false">
+ <reference
+ definitionId="isShowExperimentalFeatures">
+ </reference>
+ </visibleWhen>
+ </command>
</menuContribution>
<menuContribution
locationURI="menu:org.eclipse.ui.main.menu.navigate">
.getActiveEditor();
IStructuredSelection selection = (IStructuredSelection) HandlerUtil
- .getActiveMenuSelection(event);
+ .getCurrentSelection(event);
if (selection.getFirstElement() instanceof PolytomousKeyNode) {
try {
.getActiveEditor();
IStructuredSelection selection = (IStructuredSelection) HandlerUtil
- .getActiveMenuSelection(event);
+ .getCurrentSelection(event);
if (selection.getFirstElement() instanceof PolytomousKeyNode) {
try {
}
// Get synonym from selection
- StructuredSelection selection = (StructuredSelection) HandlerUtil.getActiveMenuSelection(event);
+ StructuredSelection selection = (StructuredSelection) HandlerUtil.getCurrentSelection(event);
if (!(selection.getFirstElement() instanceof Synonym)) {
logger.error("Selection does not contain a Synonym");
return null;
public Object execute(ExecutionEvent event) throws ExecutionException {
TaxonNameEditor editor = (TaxonNameEditor) EditorUtil.getActiveEditorPage(
Page.NAME);
- ISelection menuSelection = HandlerUtil.getActiveMenuSelection(event);
+ ISelection menuSelection = HandlerUtil.getCurrentSelection(event);
Object selecteObject = ((StructuredSelection) menuSelection).getFirstElement();
TaxonNameEditor editor = (TaxonNameEditor) EditorUtil.getActiveEditorPage(
Page.NAME);
- IStructuredSelection selection = (IStructuredSelection) HandlerUtil.getActiveMenuSelection(event);
+ IStructuredSelection selection = (IStructuredSelection) HandlerUtil.getCurrentSelection(event);
TaxonBase selectedTaxonBase = (TaxonBase) selection.getFirstElement();
TaxonNameEditor editor = (TaxonNameEditor) EditorUtil.getActiveEditorPage(
Page.NAME);
- IStructuredSelection selection = (IStructuredSelection) HandlerUtil.getActiveMenuSelection(event);
+ IStructuredSelection selection = (IStructuredSelection) HandlerUtil.getCurrentSelection(event);
TaxonBase selectedTaxonBase = (TaxonBase) selection.getFirstElement();
}
if(part instanceof AbstractGraphKeyEditor){
-
+ showEmptyPage();
+ return;
}
if(part instanceof MultiPageTaxonEditor){
--- /dev/null
+/**
+ *
+ */
+package eu.etaxonomy.taxeditor.editor.view.concept.graph;
+
+import java.util.Set;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.zest.core.viewers.IGraphContentProvider;
+
+
+
+import eu.etaxonomy.cdm.model.taxon.Taxon;
+import eu.etaxonomy.cdm.model.taxon.TaxonRelationship;
+import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;
+import eu.etaxonomy.taxeditor.editor.TaxonEditorInput;
+
+/**
+ * @author andreas
+ *
+ */
+public class ConceptGraphContentProvider implements IGraphContentProvider {
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.viewers.IContentProvider#dispose()
+ */
+ @Override
+ public void dispose() {
+ // TODO Auto-generated method stub
+
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
+ */
+ @Override
+ public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
+ // TODO Auto-generated method stub
+
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.zest.core.viewers.IGraphContentProvider#getSource(java.lang.Object)
+ */
+ @Override
+ public Object getSource(Object taxonRelationship) {
+ return ((TaxonRelationship)taxonRelationship).getFromTaxon();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.zest.core.viewers.IGraphContentProvider#getDestination(java.lang.Object)
+ */
+ @Override
+ public Object getDestination(Object taxonRelationship) {
+ return ((TaxonRelationship)taxonRelationship).getToTaxon();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.zest.core.viewers.IGraphContentProvider#getElements(java.lang.Object)
+ */
+ @Override
+ public Object[] getElements(Object inputElement) {
+ if(inputElement instanceof TaxonEditorInput){
+ Taxon taxon = ((TaxonEditorInput) inputElement).getTaxon();
+
+ Map<String, TaxonRelationship> filteredTaxonRelations = new HashMap<String, TaxonRelationship>();
+ getTaxonRelationshipsRecursive(filteredTaxonRelations, taxon);
+
+ return filteredTaxonRelations.values().toArray();
+ }
+ return new Object[0];
+ }
+
+ private void getTaxonRelationshipsRecursive(Map<String, TaxonRelationship> filteredTaxonRelations, Taxon taxon) {
+ // TODO extract method into new class TaxonHelper in
+ // eu.etaxonomy.taxeditor.model;
+ // see also ConceptContentProvider
+ for (TaxonRelationship relationship : taxon.getTaxonRelations()) {
+
+ if (!relationship.getType().equals(TaxonRelationshipType.MISAPPLIED_NAME_FOR())
+ && !relationship.getType().equals(TaxonRelationshipType.INVALID_DESIGNATION_FOR())
+ && !relationship.getType().equals(TaxonRelationshipType.TAXONOMICALLY_INCLUDED_IN())) {
+
+ if(!relationship.getToTaxon().equals(taxon)){
+ continue;
+ }
+
+ String key = relationship.getFromTaxon().getUuid().toString() + relationship.getType().getUuid();
+ if(!filteredTaxonRelations.containsKey(key)) {
+ filteredTaxonRelations.put(key, relationship);
+ Taxon toTaxon = relationship.getToTaxon();
+ if(toTaxon != null){
+ getTaxonRelationshipsRecursive(filteredTaxonRelations, toTaxon);
+
+ }
+ }
+ }
+
+
+ }
+
+
+ }
+
+}
--- /dev/null
+/**
+ *
+ */
+package eu.etaxonomy.taxeditor.editor.view.concept.graph;
+
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.Label;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.zest.core.viewers.IEntityStyleProvider;
+
+import eu.etaxonomy.cdm.model.common.Language;
+import eu.etaxonomy.cdm.model.taxon.Taxon;
+import eu.etaxonomy.cdm.model.taxon.TaxonRelationship;
+import eu.etaxonomy.taxeditor.store.CdmStore;
+
+/**
+ * @author andreas
+ *
+ */
+public class ConceptGraphLabelProvider extends LabelProvider implements
+ IEntityStyleProvider {
+
+
+
+ @Override
+ public String getText(Object element) {
+ if(element instanceof Taxon){
+ return ((Taxon)element).getTitleCache();
+ } else if( element instanceof TaxonRelationship) {
+ return ((TaxonRelationship)element).getType().getRepresentation(Language.ENGLISH()).getAbbreviatedLabel();
+ }
+ return "TODO";
+ }
+
+ @Override
+ public Color getNodeHighlightColor(Object entity) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public Color getBorderColor(Object entity) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public Color getBorderHighlightColor(Object entity) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public int getBorderWidth(Object entity) {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ @Override
+ public Color getBackgroundColour(Object entity) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public Color getForegroundColour(Object entity) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public IFigure getTooltip(Object element) {
+ if( element instanceof TaxonRelationship) {
+ return new Label(((TaxonRelationship)element).getType().getRepresentation(CdmStore.getDefaultLanguage()).getLabel());
+ }
+ return null;
+ }
+
+ @Override
+ public boolean fisheyeNode(Object entity) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+}
--- /dev/null
+/**
+ *
+ */
+package eu.etaxonomy.taxeditor.editor.view.concept.graph;
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.zest.core.viewers.GraphViewer;
+import org.eclipse.zest.core.widgets.ZestStyles;
+import org.eclipse.zest.layouts.LayoutAlgorithm;
+import org.eclipse.zest.layouts.LayoutStyles;
+import org.eclipse.zest.layouts.algorithms.TreeLayoutAlgorithm;
+
+import eu.etaxonomy.taxeditor.bulkeditor.BulkEditor;
+import eu.etaxonomy.taxeditor.editor.EditorUtil;
+import eu.etaxonomy.taxeditor.editor.MultiPageTaxonEditor;
+import eu.etaxonomy.taxeditor.editor.key.AbstractGraphKeyEditor;
+import eu.etaxonomy.taxeditor.view.AbstractCdmEditorViewPart;
+
+/**
+ * @author andreas
+ *
+ */
+public class ConceptGraphView extends AbstractCdmEditorViewPart {
+
+ public static final String ID = "eu.etaxonomy.taxeditor.editor.view.concept.graph";
+
+ private GraphViewer viewer;
+ private LayoutAlgorithm layoutAlgoritm;
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.ISelectionListener#selectionChanged(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
+ */
+ @Override
+ public void selectionChanged(IWorkbenchPart part, ISelection selection) {
+
+// if(part instanceof ConceptGraphView){
+// // ConceptGraphView is maximized
+// return;
+// }
+
+ if(EditorUtil.getActiveEditor() == null){
+ showEmptyPage();
+ return;
+ }
+
+ if(part instanceof BulkEditor){
+ showEmptyPage();
+ return;
+ }
+
+
+ if(part instanceof MultiPageTaxonEditor){
+ if(! part.equals(this.part)){
+ IEditorInput input = ((IEditorPart) part).getEditorInput();
+ showViewer(part, new StructuredSelection(input));
+ }
+ showViewer();
+ }
+
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.operation.IPostOperationEnabled#onComplete()
+ */
+ @Override
+ public boolean onComplete() {
+ // TODO IGNORED
+ return false;
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.view.AbstractCdmViewPart#getViewer()
+ */
+ @Override
+ public Viewer getViewer() {
+ return viewer;
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.view.AbstractCdmViewPart#createViewer(org.eclipse.swt.widgets.Composite)
+ */
+ @Override
+ public void createViewer(Composite parent) {
+
+ viewer = new GraphViewer(parent, SWT.NONE);
+ getSite().setSelectionProvider(viewer);
+
+ viewer.setContentProvider(new ConceptGraphContentProvider());
+ viewer.setLabelProvider(new ConceptGraphLabelProvider());
+
+ viewer.setConnectionStyle(ZestStyles.CONNECTIONS_DIRECTED);
+
+ viewer.setLayoutAlgorithm(getLayoutAlgoritm(), false);
+
+// createMenu();
+//
+// createToolbar();
+
+
+ }
+
+ private LayoutAlgorithm getLayoutAlgoritm() {
+
+ if (layoutAlgoritm == null) {
+ // layoutAlgoritm = new CompositeLayoutAlgorithm(
+ // LayoutStyles.NO_LAYOUT_NODE_RESIZING,
+ // new LayoutAlgorithm[] {
+ // new TreeLayoutAlgorithm(
+ // LayoutStyles.NO_LAYOUT_NODE_RESIZING),
+ // new HorizontalShift(
+ // LayoutStyles.NO_LAYOUT_NODE_RESIZING) });
+
+ layoutAlgoritm = new TreeLayoutAlgorithm(
+ LayoutStyles.NO_LAYOUT_NODE_RESIZING);
+ layoutAlgoritm.setEntityAspectRatio(0.5);
+ }
+ return layoutAlgoritm;
+ }
+
+}
package eu.etaxonomy.taxeditor.editor.view.concept.handler;
+import org.apache.log4j.Level;
+import org.apache.log4j.Logger;
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.core.commands.common.NotDefinedException;
+import org.eclipse.core.expressions.IEvaluationContext;
import org.eclipse.core.runtime.Status;
import org.eclipse.swt.widgets.Event;
import org.eclipse.ui.IWorkbenchPart;
* @version 1.0
*/
public class CreateConceptRelationHandler extends AbstractHandler {
-
+
/* (non-Javadoc)
* @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)
*/
Taxon taxonToBeFiltered = editor.getTaxon();
+ /* we need to get the activePart before calling TaxonBaseSelectionDialog.selectTaxon(), otherwise the
+ * the variable of the parent applicationContext in event are overwritten during this method call
+ * this is Linux specific bugfix see: #2685 ([LINUX] Editing concept relationships does not work under linux)
+ */
+ IWorkbenchPart activePart = HandlerUtil.getActivePart(event);
+
Taxon relatedConcept = TaxonBaseSelectionDialog.selectTaxon(HandlerUtil.getActiveShell(event), editor.getConversationHolder(), taxonToBeFiltered);
-
+
+
if(relatedConcept == null){
return Status.CANCEL_STATUS;
}
TaxonRelationshipTypeInverseContainer typeInverseContainer = (TaxonRelationshipTypeInverseContainer) ((Event)event.getTrigger()).data;
- IWorkbenchPart activePart = HandlerUtil.getActivePart(event);
+
IPostOperationEnabled postOperationEnabled = (activePart instanceof IPostOperationEnabled) ? (IPostOperationEnabled) activePart : null;
try {
public Object execute(ExecutionEvent event) throws ExecutionException {
MultiPageTaxonEditor editor = EditorUtil.getActiveMultiPageTaxonEditor();
- ISelection selection = HandlerUtil.getActiveMenuSelection(event);
+ ISelection selection = HandlerUtil.getCurrentSelection(event);
if(selection instanceof IStructuredSelection){
IStructuredSelection structuredSelection = (IStructuredSelection) selection;
if(taxonRelationshipTypeInverseContainer.isInverse()){
concept.addTaxonRelation(taxon, taxonRelationshipTypeInverseContainer.getType(), null, null);
} else {
- taxon.addTaxonRelation(concept, taxonRelationshipTypeInverseContainer.getType(), null, null);
+ taxon.addTaxonRelation(concept, taxonRelationshipTypeInverseContainer.getType(), null, null);
}
monitor.worked(40);
TaxonDescription description = null;
- ISelection selection = HandlerUtil.getActiveMenuSelection(event);
+ ISelection selection = HandlerUtil.getCurrentSelection(event);
if (selection instanceof ITreeSelection) {
TreePath[] paths = ((ITreeSelection) selection).getPaths();
Object firstSegment = paths[0].getFirstSegment();
version="0.0.0"
unpack="false"/>
+ <plugin
+ id="org.hamcrest.text"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
</feature>
+++ /dev/null
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <title>Main Topic</title>
-</head>
-
-<body>
-<h1>Main Topic</h1>
-Please enter your text here.
-</body>
-</html>
\ No newline at end of file
+++ /dev/null
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <title>Sub Topic</title>
-</head>
-
-<body>
-<h1>Sub Topic</h1>
-Please enter your text here.
-</body>
-</html>
\ No newline at end of file
+++ /dev/null
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <title>Sub Topic 2</title>
-</head>
-
-<body>
-<h1>Sub Topic 2</h1>
-Please enter your text here.
-</body>
-</html>
\ No newline at end of file
--- /dev/null
+<h3>Authorship Part</h3>
+
+<p>The authorship part is divided into the original combination authorship and the combination authorship.
+The earlier is put in brackets.</p>
+
+<pre>
+Example (bot.): (L.) Mill.
+Example (zoo.): (XXX, 1830) XXX, 1845
+</pre>
+
+<p>You can use either no authorship (only if not followed by any other part), the original combination
+authorship, the combination authorship or both.</p>
+
+<p>The parser differentiates botanical and zoological authorship. The later has a year following the
+author, separated by a comma. Botanical names only have authors.
+Authorship may include single persons and teams. Team members are separated by <code>&</code> . A placeholder <code>al.</code>
+may be used for further team members. Both authorships may include ex-authors separated by <code>ex</code> or <code>ex.</code>
+Some valid author strings are:</p>
+<pre>
+Example (bot.): (Greuther & L'Hiver & al. ex Müller & Schmidt) Clark ex Ciardelli
+Example (zoo.):
+</pre>
+
+<p>The number of allowed special characters like <code>'</code> or <code>-</code> at the moment is beyond the scope of this
+documentation and will change in the future.</p>
+
--- /dev/null
+<h3>Name Part</h3>
+
+<p>The name part recognizes uninomials, binomials and trinomials. The first epithet must start
+with a capital letter; all other words (except for infrageneric epitheta) can only contain
+lower-case letters. Only latin letters are allowed in names (except for <strong>ï</strong>).
+The name part parser differentiates 6 different syntaxes.</p>
+
+<h4>Uninomials</h4>
+<p>One word starting with a capital letter. As the rank is usually ambiguous for uninomials,
+the rank represents the parser's best guess and a warning is returned to check the rank.</p>
+<pre>Example: Cichorieae</pre>
+
+
+<h4>Infrageneric Names</h4>
+<p>Capital word followed by the infrageneric marker followed by the infrageneric epitheton.
+Valid markers are:
+ <ul>
+ <li><code>subgen.</code></li>
+ <li><code>subg.</code></li>
+ <li><code>sect.</code></li>
+ <li><code>subsect.</code></li>
+ <li><code>ser.</code></li>
+ <li><code>subser.</code></li>
+ <li><code>t.infgen.</code></li>
+ </ul>
+</p>
+<pre>Example: Desmometopa subg. LitoXXX</pre>
+
+
+<h4>Species Aggregates</h4>
+<p>Species aggregates are recognized similarly to species except they are followed by a group
+marker. Valid markers are:
+ <ul>
+ <li><code>aggr.</code></li>
+ <li><code>agg.</code></li>
+ <li><code>group</code></li>
+ </ul>
+</p>
+<pre>Example: XXX</pre>
+
+
+<h4>Species</h4>
+<p>Species names have a genus part (capital letter) and a species part (lower case letter).</p>
+<pre>Examples are: Abies alba</pre>
+
+<h4>Infraspecific names</h4>
+<p>Infraspecific names have four parts: the genus part, the species part, the infraspecific
+marker and the infraspecific part. All but the first may not start with a capital letter.
+Recognized markers are:
+ <ul>
+ <li><code>subsp.</code></li>
+ <li><code>convar.</code></li>
+ <li><code>var.</code></li>
+ <li><code>subvar.</code></li>
+ <li><code>f.</code></li>
+ <li><code>subf.</code></li>
+ <li><code>f.spec.</code></li>
+ <li><code>tax.infrasp.</code></li>
+ <li><code>tax. infrasp.</code></li>
+ </ul>
+
+</p>
+<pre>Example:</pre>
+
+<h4>Infraspecific names (old markers)</h4>
+<p>Some older names (not valid according to the nomenclatural code) use other infraspecific
+markers. The recognition of these older names is not yet implemented.</p>
+
+
--- /dev/null
+<h3>Nomenclatural Status</h3>
+
+<p>The nomeclatural status is separated from the preceding text by a comma. Current valid values for a status:</p>
+
+<ul>
+ <li><code>nom. superfl.</code></li>
+ <li><code>nom. nud.</code></li>
+ <li><code>nom. illeg.</code></li>
+ <li><code>nom. inval.</code></li>
+ <li><code>nom. cons.</code></li>
+ <li><code>nom. alternativ.</code></li>
+ <li><code>nom. subnud.</code></li>
+ <li><code>nom. rej.</code></li>
+ <li><code>nom. rej.</code></li>
+ <li><code>nom. prop.</code></li>
+ <li><code>nom. provis.</code></li>
+ <li><code>orth. var.</code></li>
+</ul>
+
+<p>Multiple values separated by comma are possible.</p>
\ No newline at end of file
--- /dev/null
+<h2>Name Parser Documentation</h2>
+
+
+<p>The taxonomic name parser analyzes a free text taxonomic reference for the following four components:</p>
+
+<ul>
+ <li><a href="name_part.html">Name Part</a></li>
+ <li><a href="authorship_part.html">Authorship Part</a></li>
+ <li><a href="reference_part.html">Reference Part</a></li>
+ <li><a href="nomenclatural_status_part.html">Nomenclatural Status</a></li>
+</ul>
+
+<p>Not all of them are required.</p>
+
+<p>The four parts are separated by the following separators:</p>
+
+<table border="1">
+ <thead>
+ <tr>
+ <td>part</td>
+ <td>separator</td>
+ <td>example</td>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>authorship</td>
+ <td>any whitespace</td>
+ <td><code>Abies alba_L.</code></td>
+ </tr>
+ <tr>
+ <td>reference</td>
+ <td>commata with following whitespace OR whitespace+'in'+whitespace</td>
+ <td><code>Abies alba L.,_Sp. Pl... or Pinus alba_in_Bull. Soc....</code></td>
+ </tr>
+ <tr>
+ <td>nom. status</td>
+ <td>commata with following whitespace</td>
+ <td><code>in Bull. Bot. 3: 99. 1987., nom illeg.</code></td>
+ </tr>
+ </tbody>
+</table>
+
+<p>Some valid name texts fully recognized by the parser are:</p>
+
+<pre>
+Abies alba (L.) Mill., Sp. Pl.: 105. 1846., nom illeg.
+Abies alba (L.) Mill. in Bull. Bot. 3: 99. 1987., nom illeg.
+</pre>
+
+<p>The name part is required. The authorship part is required only if followed by the reference part. The reference part as well as the status part are not required. In the following sections, the four parts are described in detail:</p>
\ No newline at end of file
--- /dev/null
+<h3>Reference Part</h3>
+
+<p>The reference part follows the syntax: <code>{separator}{authorship{,}}{titleEditionVolume}{:}{detail}{.}{year}</code></p>
+
+<p>Zoological new combinations should not have a reference part, since in zoology, it is not common
+to mention the new combination reference.</p>
+
+<h4>Separator</h4>
+
+<p>The separator between the reference part and the preceding authorship may be a comma , or
+an <pre> in </pre> (surrounded by whitespaces). The comma indicates a book whereas the <code>in</code> stands either
+for a journal article or a book section. If the <code>in</code> is not followed by a comma, the parser
+interprets the reference as an article; otherwise, as a book section. Reference type parsing
+should be improved in future.</p>
+
+<h4>Reference Authorship</h4>
+
+<p>An author is only available for book sections. Articles and book sections are differentiated
+from each other by comparing the first four words that follow the separator. If these words
+include a comma and the words before the comma are likely to represent an author, the reference
+is recognized as a book section. Otherwise, it will be treated as an article. In both cases,
+a warning is thrown that differentiation is not possible.</p>
+
+<h4>TitleEditionVolume</h4>
+
+<p>The TitleEditionVolume part includes the title itself as well as optional edition part
+and volume parts. The title itself allows most character combinations but care must be taken
+if a <code>:</code> is included as this is the separator for the subsequent detail part. Special characters
+like <code>&</code> and <code>-</code> are only allowed if preceded and followed immediately by ordinary characters.
+Ordinary brackets are allowed. Edition and volume are separated by whitespace if only one
+of them exists. If both exist the later is separated by a comma. Both are optional, so all
+four of the following formats are valid:</p>
+
+<pre>
+Sp. Pl.
+Sp. Pl. ed. 3
+Sp. Pl. ed. 3, 4
+Sp. Pl. 4
+</pre>
+
+<p>As can be seen, the edition is recognized by a preceding <code>ed.</code>, whereas the volume is just
+a number (or a number followed by another number in brackets - e.g. <code>4(5)</code> ).</p>
+
+<p>The detail part is separated by a column <code>:</code> from the preceding titleEditonVolume part and
+is separated from the year by <code>.</code> (botanical names only). A number of typical detail information
+is recognized as either pure page numbers (<code>345</code>) or ranges (<code>345-348</code>). Page numbers may be
+preceded by <code>p.</code>(e.g. <code>p. 345</code>) or <code>pp.</code>(e.g. <code>pp. 345-348</code>). Abbreviations indicating special parts of a
+reference such as <code>fig.</code> or <code>tab.</code> are recognized as well. Roman numbers are not detected
+at the moment.</p>
+
+++ /dev/null
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <title>Main Topic</title>
-</head>
-
-<body>
-<h1>Main Topic</h1>
-Please enter your text here.
-</body>
-</html>
\ No newline at end of file
+++ /dev/null
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <title>Sub Topic</title>
-</head>
-
-<body>
-<h1>Sub Topic</h1>
-Please enter your text here.
-</body>
-</html>
\ No newline at end of file
+++ /dev/null
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <title>Sub Topic 2</title>
-</head>
-
-<body>
-<h1>Sub Topic 2</h1>
-Please enter your text here.
-</body>
-</html>
\ No newline at end of file
+++ /dev/null
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <title>Main Topic</title>
-</head>
-
-<body>
-<h1>Main Topic</h1>
-Please enter your text here.
-</body>
-</html>
\ No newline at end of file
+++ /dev/null
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <title>Sub Topic</title>
-</head>
-
-<body>
-<h1>Sub Topic</h1>
-Please enter your text here.
-</body>
-</html>
\ No newline at end of file
+++ /dev/null
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <title>Sub Topic 2</title>
-</head>
-
-<body>
-<h1>Sub Topic 2</h1>
-Please enter your text here.
-</body>
-</html>
\ No newline at end of file
+++ /dev/null
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <title>Main Topic</title>
-</head>
-
-<body>
-<h1>Main Topic</h1>
-Please enter your text here.
-</body>
-</html>
\ No newline at end of file
+++ /dev/null
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <title>Sub Topic</title>
-</head>
-
-<body>
-<h1>Sub Topic</h1>
-Please enter your text here.
-</body>
-</html>
\ No newline at end of file
+++ /dev/null
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <title>Sub Topic 2</title>
-</head>
-
-<body>
-<h1>Sub Topic 2</h1>
-Please enter your text here.
-</body>
-</html>
\ No newline at end of file
+++ /dev/null
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <title>Table of Contents</title>
-</head>
-
-<body>
-<h1>Table of Contents</h1>
-Please enter your text here.
-</body>
-</html>
\ No newline at end of file
primary="true">
</toc>
<toc
- file="tocgettingstarted.xml">
+ file="tocgettingstarted.xml"
+ primary="false">
+ </toc>
+ <toc
+ file="tocnameparser.xml"
+ primary="false">
</toc>
</extension>
<?xml version="1.0" encoding="UTF-8"?>
<?NLS TYPE="org.eclipse.help.toc"?>
-<toc label="EDIT Taxonomic Editor" topic="html/toc.html">
+<toc label="EDIT Taxonomic Editor">
<topic label="Getting Started">
<anchor id="gettingstarted"/>
</topic>
+ <topic label="Name Parser">
+ <anchor id="nameparser"/>
+ </topic>
</toc>
--- /dev/null
+<toc label="Name Parser" link_to="toc.xml#nameparser">
+ <topic href="html/nameparser/overview.html" label="Overview">
+ </topic>
+ <topic href="html/nameparser/name_part.html" label="Name Part">
+ </topic>
+ <topic href="html/nameparser/authorship_part.html" label="Authorship Part">
+ </topic>
+ <topic href="html/nameparser/reference_part.html" label="Reference Part">
+ </topic>
+ <topic href="html/nameparser/nomenclatural_status_part.html" label="Nomenclatural Status Part">
+ </topic>
+</toc>
<definition
id="isTaxonNode">
<with
- variable="activeMenuSelection">
+ variable="selection">
<iterate>
<instanceof
value="eu.etaxonomy.cdm.model.taxon.TaxonNode">
<definition
id="isTaxonomicTree">
<with
- variable="activeMenuSelection">
+ variable="selection">
<iterate>
<instanceof
value="eu.etaxonomy.cdm.model.taxon.TaxonomicTree">
<definition
id="isSynonymNode">
<with
- variable="activeMenuSelection">
+ variable="selection">
<iterate>
<instanceof
value="eu.etaxonomy.cdm.model.taxon.Synonym">
<definition
id="isCompatible">
<with
- variable="activeMenuSelection">
+ variable="selection">
<test
property="eu.etaxonomy.taxeditor.datasource.propertyTester.isCompatible">
</test>
<definition
id="isShowExperimentalFeatures">
<with
- variable="activeMenuSelection">
+ variable="selection">
<test
property="eu.etaxonomy.taxeditor.preferences.propertyTester.isShowExperimentalFeatures">
</test>
<definition
id="isModifiable">
<with
- variable="activeMenuSelection">
+ variable="selection">
<test
property="eu.etaxonomy.taxeditor.store.termEditor.propertyTester.isModifiable">
</test>
return textValue;
}
+
+ public static String deproxyClassName(Class clazz){
+ String name = clazz.getSimpleName();
+ return name.substring(0, name.indexOf("_$$"));
+ }
}
* @param <T> a T object.
*/
public AbstractNewEntityWizard(){
- setWindowTitle("New Entity");
+ setWindowTitle(String.format("New %s", getEntityName()));
}
+ /**
+ * FIXME there might be a smarter way to do this,
+ *
+ * @return
+ */
+ protected abstract String getEntityName();
+
/* (non-Javadoc)
* @see org.eclipse.jface.wizard.Wizard#performFinish()
*/
*/
@Override
public void setEntity(Classification entity) {
- setWindowTitle("Edit Classification");
+ setWindowTitle(String.format("Edit %s", getEntityName()));
entity = CdmStore.getService(IClassificationService.class).load(entity.getUuid());
super.setEntity(entity);
}
protected Classification createNewEntity() {
return Classification.NewInstance(null);
}
+
+ @Override
+ protected String getEntityName() {
+ return "Classification";
+ }
}
protected Collection createNewEntity() {
return Collection.NewInstance();
}
+
+ @Override
+ protected String getEntityName() {
+ return "Collection";
+ }
}
protected void saveEntity() {
CdmStore.getService(IOccurrenceService.class).saveOrUpdate(getEntity());
}
+
+ @Override
+ protected String getEntityName() {
+ return "Specimen";
+ }
+
+
}
protected void saveEntity() {
CdmStore.getService(IOccurrenceService.class).saveOrUpdate(getEntity());
}
+
+ @Override
+ protected String getEntityName() {
+ return "Field Observation";
+ }
}
return Group.NewInstance();
}
+ @Override
+ protected String getEntityName() {
+ return "Group";
+ }
+
}
return Institution.NewInstance();
}
+ @Override
+ protected String getEntityName() {
+ return "Institution";
+ }
+
}
protected void saveEntity() {
CdmStore.getService(INameService.class).saveOrUpdate(getEntity());
}
+
+ @Override
+ protected String getEntityName() {
+ return "Scientific Name";
+ }
}
protected void saveEntity() {
CdmStore.getService(IAgentService.class).saveOrUpdate(getEntity());
}
+
+ @Override
+ protected String getEntityName() {
+ return "Person";
+ }
}
return PolytomousKey.NewInstance();
}
+ @Override
+ protected String getEntityName() {
+ return "Polytomous Key";
+ }
+
}
super.setEntity(entity);
referencePage.getDetailElement().setEntity(entity);
}
+
+ @Override
+ protected String getEntityName() {
+ return "Reference";
+ }
}
public ITreeNode getParentTreeNode(){
return taxonNodePage.getParentTreeNode();
}
+
+ @Override
+ protected String getEntityName() {
+ return "Taxon";
+ }
}
\ No newline at end of file
protected void saveEntity() {
CdmStore.getService(IAgentService.class).saveOrUpdate(getEntity());
}
+
+ @Override
+ protected String getEntityName() {
+ return "Team";
+ }
}
return User.NewInstance(null, null);
}
+ @Override
+ protected String getEntityName() {
+ return "Institution";
+ }
+
}
if (label == null) {
if (term.getTitleCache() != null) {
label = term.getTitleCache();
- StoreUtil.error(getClass(),
+ StoreUtil.warn(getClass(),
"Term does not have a representation: " + term
- + ", " + term.getUuid(), null);
+ + ", " + term.getUuid());
} else {
label = "Unknown";
- StoreUtil.error(getClass(),
+ StoreUtil.warn(getClass(),
"Representation Label and TitleCache empty for term: "
- + term + ", " + term.getUuid(), null);
+ + term + ", " + term.getUuid());
}
}
@Override
protected void createControls(ICdmFormElement formElement,
CommonTaxonName entity, int style) {
+ commonName = formFactory.createTextWithLabelElement(this, "Common Name", entity.getName(), SWT.WRAP);
+
combo_language = formFactory.createTermComboElement(Language.class, this, "Language", entity.getLanguage(), style);
selection_namedArea = formFactory.createSelectionElement(NamedArea.class, getConversationHolder(),
formElement, "Area",
entity.getArea(), EntitySelectionElement.NOTHING, style);
- commonName = formFactory.createTextWithLabelElement(this, "Common Name", entity.getName(), SWT.WRAP);
}
/** {@inheritDoc} */
TaxonInteraction entity, int style) {
taxonSelection = formFactory
.createSelectionElement(Taxon.class,
- getConversationHolder(), this, null,
+ getConversationHolder(), this, "Taxon",
entity.getTaxon2(), EntitySelectionElement.NOTHING,
SWT.WRAP);
import eu.etaxonomy.cdm.model.occurrence.Collection;
import eu.etaxonomy.cdm.model.occurrence.DerivedUnitBase;
import eu.etaxonomy.cdm.model.reference.Reference;
+import eu.etaxonomy.taxeditor.model.TextHelper;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.store.StoreUtil;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
*/
public EditFromSelectionWizard(EntitySelectionElement selectionElement) {
this.selectionElement = selectionElement;
- this.setWindowTitle("Edit Entity");
+ this.setWindowTitle(String.format("Edit %s", TextHelper.deproxyClassName(selectionElement.getEntity().getClass())));
}
/** {@inheritDoc} */
* @return a {@link eu.etaxonomy.taxeditor.view.datasource.CdmMetaDataAwareDataSourceContainer} object.
*/
protected CdmMetaDataAwareDataSourceContainer getSelectedDataSourceContainer(ExecutionEvent event){
- ISelection menuSelection = HandlerUtil.getActiveMenuSelection(event);
+ ISelection menuSelection = HandlerUtil.getCurrentSelection(event);
CdmMetaDataAwareDataSourceContainer container = (CdmMetaDataAwareDataSourceContainer) ((StructuredSelection) menuSelection).getFirstElement();
return container;
}
</products>
</configuration>
</plugin>
+ <plugin>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <configuration>
+ <target>
+
+ <!--
+ Place any Ant task here. You can add anything
+ you can add between <target> and </target> in a
+ build.xml.
+ -->
+
+ </target>
+ </configuration>
+ <goals>
+ <goal>package</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
<packaging>pom</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <cdmlib.version>3.0.10-SNAPSHOT</cdmlib.version>
- <tycho.version>0.13.0</tycho.version>
+ <cdmlib.version>3.0.10-SNAPSHOT</cdmlib.version><!-- TODO can we use project.version ????? -->
+ <tycho.version>0.14.0</tycho.version>
<taxeditor.version>3.0.10-SNAPSHOT</taxeditor.version>
</properties>
<modules>
<version>1.0-beta-2</version>
</extension>
</extensions>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <version>1.7</version>
+ </plugin>
+ </plugins>
+ </pluginManagement>
</build>
<reporting>
<plugins>
The Taxonomic Editor uses <maven 3> for convenient configuration and automation of common tasks,
such as resolving dependencies and automating builds.
- The <<<trunk>>> branch of the Taxonomic Editor is programmed against the latest
+ The <<<latest snapshot branch>>> of the Taxonomic Editor is programmed against the latest
SNAPSHOT version of the cdmlibrary. Because that dependency will change quickly, we
do not imclude it with the other dependencies but rather install it with maven.
- In order to do that you have to run <<<mvn validate>>> in your <<<taxeditor/>>> directory.
+ In order to do that you have to run <<<mvn validate>>> in your <<<taxeditor/eu.etaxonomy.taxeditor.cdmlib>>> directory.
---
-$ cd taxeditor/
+$ cd taxeditor/eu.etaxonomy.taxeditor.cdmlib/
$ mvn validate
---