AT: commiting Palm Use Data extension
authora.theys <a.theys@localhost>
Tue, 17 Jan 2012 11:48:07 +0000 (11:48 +0000)
committera.theys <a.theys@localhost>
Tue, 17 Jan 2012 11:48:07 +0000 (11:48 +0000)
13 files changed:
.gitattributes
eu.etaxonomy.taxeditor.application/plugin.xml
eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/perspective/PalmUses.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.help/src/eu/etaxonomy/taxeditor/help/Activator.class [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.store/icons/leaf_detail.png [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/plugin.xml
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/AbstractUtility.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/DescriptionHelper.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/userecords/UseRecordsViewPart.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/userecords/UseRecordsViewer.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.test/.settings/org.maven.ide.eclipse.prefs [new file with mode: 0644]

index c5a8995a2a82089c2dc8c7ed8a207767fc88aaa3..ea41696efd80b83bec081270b8a1e244bf056d5c 100644 (file)
@@ -30,6 +30,7 @@ eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/SaveHand
 eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/TaxonomicEditorPlugin.java -text
 eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/perspective/BulkEditing.java -text
 eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/perspective/Default.java -text
+eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/perspective/PalmUses.java -text
 eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/perspective/PolytomousKey.java -text
 eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/perspective/Taxonomic.java -text
 eu.etaxonomy.taxeditor.application/src/main/resources/log4j.properties -text
@@ -604,6 +605,7 @@ eu.etaxonomy.taxeditor.help/html/toc.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.class -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
@@ -770,6 +772,7 @@ eu.etaxonomy.taxeditor.store/icons/icon.ico -text
 eu.etaxonomy.taxeditor.store/icons/icon.png -text
 eu.etaxonomy.taxeditor.store/icons/import_wiz.gif -text
 eu.etaxonomy.taxeditor.store/icons/large_image.gif -text
+eu.etaxonomy.taxeditor.store/icons/leaf_detail.png -text
 eu.etaxonomy.taxeditor.store/icons/linkto_help.gif -text
 eu.etaxonomy.taxeditor.store/icons/lockedstate.gif -text
 eu.etaxonomy.taxeditor.store/icons/ma_12x12.gif -text
@@ -1312,6 +1315,8 @@ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/De
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/reporting/ReportingViewPart.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/supplementaldata/SupplementalDataViewPart.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/supplementaldata/SupplementalDataViewer.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/userecords/UseRecordsViewPart.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/userecords/UseRecordsViewer.java -text
 eu.etaxonomy.taxeditor.store/src/main/resources/eu/etaxonomy/cdm/editorApplicationContext.xml -text
 eu.etaxonomy.taxeditor.store/src/main/resources/log4j.properties -text
 eu.etaxonomy.taxeditor.store/src/test/java/eu/etaxonomy/taxeditor/store/NameProtectTitleCacheTest.java -text
@@ -1333,6 +1338,7 @@ eu.etaxonomy.taxeditor.store/src/test/resources/unitils.properties -text
 eu.etaxonomy.taxeditor.test/.classpath -text
 eu.etaxonomy.taxeditor.test/.project -text
 eu.etaxonomy.taxeditor.test/.settings/org.eclipse.jdt.core.prefs -text
+eu.etaxonomy.taxeditor.test/.settings/org.maven.ide.eclipse.prefs -text
 eu.etaxonomy.taxeditor.test/META-INF/MANIFEST.MF -text
 eu.etaxonomy.taxeditor.test/build.properties -text
 eu.etaxonomy.taxeditor.test/ide/eclipse/EDITor[!!-~]Tests.launch -text
index 61c00707866d224a44f7bcd0a39fbc8f4533d054..1f370efc81d3f52434fd030d9dce81cff91b205d 100644 (file)
             id="eu.etaxonomy.taxeditor.application.perspective.polytomous"\r
             name="Polytomous Key">\r
       </perspective>\r
+       <perspective\r
+            class="eu.etaxonomy.taxeditor.perspective.PalmUses"\r
+            id="eu.etaxonomy.taxeditor.application.perspective.palmuses"\r
+            name="Palm Uses">\r
+      </perspective>\r
+     \r
    </extension>\r
    <!--extension\r
          point="org.eclipse.ui.views">\r
              id="eu.etaxonomy.taxeditor.editor.forms.detailsView">\r
        </showInPart>\r
     </perspectiveExtension>\r
+    <perspectiveExtension\r
+          targetID="eu.etaxonomy.taxeditor.application.perspective.palmuses">\r
+       <showInPart\r
+             id="eu.etaxonomy.taxeditor.editor.forms.detailsView">\r
+       </showInPart>\r
+    </perspectiveExtension>\r
  </extension>\r
    <extension\r
          point="org.eclipse.ui.menus">\r
diff --git a/eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/perspective/PalmUses.java b/eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/perspective/PalmUses.java
new file mode 100644 (file)
index 0000000..735c403
--- /dev/null
@@ -0,0 +1,36 @@
+/**\r
+ * \r
+ */\r
+package eu.etaxonomy.taxeditor.perspective;\r
+\r
+import org.eclipse.ui.IPageLayout;\r
+\r
+\r
+\r
+import eu.etaxonomy.taxeditor.editor.view.uses.UsesViewPart;\r
+import eu.etaxonomy.taxeditor.navigation.navigator.TaxonNavigator;\r
+import eu.etaxonomy.taxeditor.view.userecords.UseRecordsViewPart;\r
+\r
+/**\r
+ * @author a.theys\r
+ *\r
+ */\r
+public class PalmUses extends Default {\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.eclipse.ui.IPerspectiveFactory#createInitialLayout(org.eclipse.ui.IPageLayout)\r
+        */\r
+       @Override\r
+       public void createInitialLayout(IPageLayout layout) {\r
+               layout.addView(TaxonNavigator.ID, IPageLayout.LEFT, 0.25f, layout.getEditorArea());\r
+               layout.addView(UseRecordsViewPart.ID, IPageLayout.RIGHT, 0.25f, layout.getEditorArea());\r
+               layout.addView(UsesViewPart.ID, IPageLayout.BOTTOM, 0.25f, layout.getEditorArea());\r
+               \r
+               // layout.addView(SupplementalDataViewPart.ID, IPageLayout.BOTTOM, 0.25f, DetailsViewPart.ID);\r
+               \r
+               createAdditionalFolder(layout, layout.getEditorArea());\r
+       }\r
+       \r
+\r
+}\r
+\r
diff --git a/eu.etaxonomy.taxeditor.help/src/eu/etaxonomy/taxeditor/help/Activator.class b/eu.etaxonomy.taxeditor.help/src/eu/etaxonomy/taxeditor/help/Activator.class
new file mode 100644 (file)
index 0000000..94a3ab5
Binary files /dev/null and b/eu.etaxonomy.taxeditor.help/src/eu/etaxonomy/taxeditor/help/Activator.class differ
index 149ddba5fa20611edb3f9bfaa96a9b3a453b280a..f81f8742802337fd66d79363f64f714e063252f8 100644 (file)
@@ -46,7 +46,8 @@ Export-Package: eu.etaxonomy.cdm,
  eu.etaxonomy.taxeditor.view.datasource,
  eu.etaxonomy.taxeditor.view.datasource.handler,
  eu.etaxonomy.taxeditor.view.detail,
- eu.etaxonomy.taxeditor.view.supplementaldata
+ eu.etaxonomy.taxeditor.view.supplementaldata,
+ eu.etaxonomy.taxeditor.view.userecords
 Require-Bundle: org.eclipse.osgi,
  org.eclipse.ui,
  org.eclipse.jface.text,
diff --git a/eu.etaxonomy.taxeditor.store/icons/leaf_detail.png b/eu.etaxonomy.taxeditor.store/icons/leaf_detail.png
new file mode 100644 (file)
index 0000000..217c601
Binary files /dev/null and b/eu.etaxonomy.taxeditor.store/icons/leaf_detail.png differ
index 33e09770c35a59bf7b92bb813d5a657fb71110f3..5e8dbe3a6469f1443d41c36e9da49f8432fcec9f 100644 (file)
         id="eu.etaxonomy.taxeditor.view.detail"
         name="Details"
         restorable="true">
+  </view>
+  <view
+        class="eu.etaxonomy.taxeditor.view.userecords.UseRecordsViewPart"
+        icon="icons/leaf_detail.png"
+        id="eu.etaxonomy.taxeditor.view.userecords"
+        name="Use Records"
+        restorable="true">
   </view>
    </extension>
    <extension
index 835ca848861e3ca54cf337cd585e213e8608ccf4..7b53cb8364a35792a04dac7f55b2dc9df8330049 100644 (file)
@@ -56,6 +56,7 @@ import eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin;
 import eu.etaxonomy.taxeditor.view.AbstractCdmDataViewer;
 import eu.etaxonomy.taxeditor.view.detail.DetailsViewPart;
 import eu.etaxonomy.taxeditor.view.supplementaldata.SupplementalDataViewPart;
+import eu.etaxonomy.taxeditor.view.userecords.UseRecordsViewPart;
 
 /**
  * <p>
@@ -909,4 +910,30 @@ public abstract class AbstractUtility {
                                        .reflow();
                }
        }
+       
+       public static UseRecordsViewPart getUseRecordsView() {
+               return (UseRecordsViewPart) getView(UseRecordsViewPart.ID, false);
+       }
+
+       /**
+        * <p>
+        * refreshUseRecordsViewer
+        * </p>
+        */
+       public static void refreshUseRecordsViewer() {
+               if (getUseRecordsView() != null) {
+                       ((AbstractCdmDataViewer) getUseRecordsView().getViewer()).refresh();
+               }
+       }
+
+       /**
+        * <p>
+        * reflowUseRecordsViewer
+        * </p>
+        */
+       public static void reflowUseRecordsViewer() {
+               if (getUseRecordsView() != null) {
+                       ((AbstractCdmDataViewer) getUseRecordsView().getViewer()).reflow();
+               }
+       }
 }
index 467acc68ab268218e6d620a4d43adfe3b71d7ca8..bada117220dbfd9975e381ca66da82d828ecf4d5 100644 (file)
@@ -381,6 +381,7 @@ public class DescriptionHelper {
                if (text == null || text.length() == 0) {
                        text = "No label provided";
                }
+               
                return "Description: " + text;
        }
        
index a4b948615669e059bc9a282fb8e07903d592d4a6..c1f46e81db39ecfa98e04ee3f42d20c39399cb2b 100644 (file)
@@ -51,7 +51,7 @@ public class DescriptionDetailElement extends AbstractCdmDetailElement<Descripti
                detailDescription = formFactory.createMultilineTextWithLabel(this, "Label", 50, SWT.WRAP);
                detailDescription.setText(entity.getTitleCache());
                
-//             selection_featureTree = (FeatureTreeSelectionElement) formFactory.createSelectionElement(SelectionType.FEATURE_TREE, getConversationHolder(), formElement, "Feature Tree", null, style);
+               selection_featureTree = (FeatureTreeSelectionElement) formFactory.createSelectionElement(SelectionType.FEATURE_TREE, getConversationHolder(), formElement, "Feature Tree", null, style, 1);
        }
        
        /** {@inheritDoc} */
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/userecords/UseRecordsViewPart.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/userecords/UseRecordsViewPart.java
new file mode 100644 (file)
index 0000000..c87beb8
--- /dev/null
@@ -0,0 +1,98 @@
+package eu.etaxonomy.taxeditor.view.userecords;\r
+\r
+import org.eclipse.jface.viewers.ISelection;\r
+import org.eclipse.jface.viewers.IStructuredSelection;\r
+import org.eclipse.jface.viewers.Viewer;\r
+import org.eclipse.swt.widgets.Composite;\r
+import org.eclipse.ui.IEditorPart;\r
+import org.eclipse.ui.IWorkbenchPart;\r
+\r
+import eu.etaxonomy.cdm.model.description.Feature;\r
+import eu.etaxonomy.taxeditor.model.FeatureNodeContainer;\r
+import eu.etaxonomy.taxeditor.model.IPartContentHasSupplementalData;\r
+import eu.etaxonomy.taxeditor.store.StoreUtil;\r
+import eu.etaxonomy.taxeditor.view.AbstractCdmEditorViewPart;\r
+import eu.etaxonomy.taxeditor.view.AbstractCdmViewPart;\r
+\r
+\r
+       public class UseRecordsViewPart extends AbstractCdmEditorViewPart implements IPartContentHasSupplementalData{\r
+               \r
+               public static String ID = "eu.etaxonomy.taxeditor.view.userecords";\r
+               private UseRecordsViewer viewer;\r
+               \r
+               @Override\r
+               public void createViewer(Composite parent) {\r
+                       //selectionService.addPostSelectionListener(this);\r
+                       \r
+                       viewer = new UseRecordsViewer(parent, this);\r
+                       getSite().setSelectionProvider(viewer);\r
+                       \r
+               }\r
+               \r
+               @Override\r
+               public void selectionChanged(IWorkbenchPart part, ISelection selection) {\r
+                       if(StoreUtil.getActiveEditor() == null){\r
+                               showEmptyPage();\r
+                               return;\r
+                       }\r
+                       \r
+                       if(part == this){\r
+                               return;\r
+                       }\r
+                       \r
+                       if(!(selection instanceof IStructuredSelection)){\r
+                               return;\r
+                       }\r
+                       \r
+                       IStructuredSelection structuredSelection = (IStructuredSelection) selection;\r
+                       \r
+                       if((part instanceof IEditorPart) || (part instanceof AbstractCdmViewPart)) {\r
+                               if(structuredSelection.size() != 1){\r
+                                       showEmptyPage();\r
+                                       return;\r
+                               }\r
+                               \r
+                               // do not show details for feature nodes TODO really? \r
+                               if(structuredSelection.getFirstElement() instanceof FeatureNodeContainer){\r
+                                       // do show the map for distributions\r
+                                       Feature feature = ((FeatureNodeContainer) ((IStructuredSelection) selection).getFirstElement()).getFeature();\r
+                                       if(!feature.equals(Feature.DISTRIBUTION())){\r
+                                               showEmptyPage();\r
+                                               return;\r
+                                       }\r
+                               }\r
+                               \r
+                               showViewer(part, structuredSelection);\r
+                       }else{\r
+                               showEmptyPage();                \r
+                       }       \r
+                       \r
+               }\r
+               \r
+               @Override\r
+               public Viewer getViewer() {\r
+                       return viewer;\r
+               }\r
+\r
+               /** {@inheritDoc} */\r
+               @Override\r
+               public void dispose() {\r
+                       super.dispose();\r
+                       selectionService.removePostSelectionListener(this);\r
+               }\r
+\r
+               /**\r
+                * <p>onComplete</p>\r
+                *\r
+                * @return a boolean.\r
+                */\r
+               public boolean onComplete() {\r
+                       return true;\r
+               }\r
+\r
+               \r
+\r
+               \r
+\r
+       \r
+       }\r
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/userecords/UseRecordsViewer.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/userecords/UseRecordsViewer.java
new file mode 100644 (file)
index 0000000..495fff8
--- /dev/null
@@ -0,0 +1,266 @@
+package eu.etaxonomy.taxeditor.view.userecords;\r
+\r
+import org.eclipse.jface.viewers.ISelection;\r
+import org.eclipse.jface.viewers.SelectionChangedEvent;\r
+import org.eclipse.swt.SWT;\r
+import org.eclipse.swt.widgets.Composite;\r
+import org.eclipse.ui.forms.widgets.Section;\r
+\r
+import eu.etaxonomy.cdm.model.description.DescriptionBase;\r
+import eu.etaxonomy.cdm.model.description.DescriptionElementBase;\r
+import eu.etaxonomy.cdm.model.reference.Reference;\r
+import eu.etaxonomy.cdm.model.taxon.TaxonBase;\r
+import eu.etaxonomy.taxeditor.ui.forms.RootElement;\r
+import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;\r
+import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.EntityDetailType;\r
+import eu.etaxonomy.taxeditor.ui.section.description.DescribedSpecimenSection;\r
+import eu.etaxonomy.taxeditor.ui.section.description.DescriptionDetailSection;\r
+import eu.etaxonomy.taxeditor.ui.section.description.DescriptionElementDetailSection;\r
+import eu.etaxonomy.taxeditor.ui.section.description.DescriptionElementMediaSection;\r
+import eu.etaxonomy.taxeditor.ui.section.description.DescriptionElementSourceSection;\r
+import eu.etaxonomy.taxeditor.ui.section.description.DescriptionSourceSection;\r
+import eu.etaxonomy.taxeditor.ui.section.description.NaturalLanguageSection;\r
+import eu.etaxonomy.taxeditor.ui.section.description.ScopeSection;\r
+import eu.etaxonomy.taxeditor.ui.section.name.NameRelationshipDetailSection;\r
+import eu.etaxonomy.taxeditor.ui.section.name.NomenclaturalStatusSection;\r
+import eu.etaxonomy.taxeditor.ui.section.name.NonViralNameDetailSection;\r
+import eu.etaxonomy.taxeditor.ui.section.name.ProtologueSection;\r
+import eu.etaxonomy.taxeditor.ui.section.name.TypeDesignationSection;\r
+import eu.etaxonomy.taxeditor.ui.section.reference.NomenclaturalReferenceDetailSection;\r
+import eu.etaxonomy.taxeditor.ui.section.reference.ReferenceDetailSection;\r
+import eu.etaxonomy.taxeditor.ui.section.taxon.ParsingMessagesSection;\r
+import eu.etaxonomy.taxeditor.ui.section.taxon.TaxonBaseDetailSection;\r
+import eu.etaxonomy.taxeditor.view.AbstractCdmDataViewer;\r
+import eu.etaxonomy.taxeditor.view.AbstractCdmViewPart;\r
+\r
+\r
+\r
+\r
+\r
+public class UseRecordsViewer extends AbstractCdmDataViewer {\r
+       private enum VIEW_PART {\r
+               TAXON,\r
+               ECO_REGION,\r
+               COUNTRY,\r
+               PLANT_PART,\r
+               USE_CATEGORY,\r
+               USE_SUBCATEGORY,\r
+               ETHNIC_GROUP,\r
+               HUMAN_GROUP,\r
+               DESCRIPTION, \r
+               DESCRIPTION_ELEMENT,\r
+               REFEERENCE, \r
+               TEAM, \r
+               PERSON, \r
+               TEAM_OR_PERSON_BASE,\r
+               EMPTY,\r
+               IMAGE_GALLERY\r
+       }\r
+\r
+       private VIEW_PART currentViewPart;\r
+\r
+       private ISelection selection;\r
+       \r
+       public UseRecordsViewer(Composite parent, AbstractCdmViewPart viewPart) {\r
+               super(parent, viewPart);\r
+       }\r
+       @Override\r
+       protected void showParts() {\r
+               if (getInput() instanceof TaxonBase) {\r
+                       if (currentViewPart != VIEW_PART.TAXON) {\r
+                               createTaxonSections(rootElement);\r
+                               currentViewPart = VIEW_PART.TAXON;\r
+                       }\r
+               } else if (getInput() instanceof Reference) {\r
+                       if (currentViewPart != VIEW_PART.REFEERENCE) {\r
+                               createReferenceSections(rootElement);\r
+                               currentViewPart = VIEW_PART.REFEERENCE;\r
+                       }\r
+               } else if (getInput() instanceof DescriptionBase) {\r
+                       if (((DescriptionBase) getInput()).isImageGallery()) {\r
+                               if (currentViewPart != VIEW_PART.IMAGE_GALLERY) {\r
+                                       createImageGallerySection(rootElement);\r
+                                       currentViewPart = VIEW_PART.IMAGE_GALLERY;\r
+                               }\r
+                       } else {\r
+                               if (currentViewPart != VIEW_PART.DESCRIPTION) {\r
+                                       createDescriptionSection(rootElement);\r
+                                       currentViewPart = VIEW_PART.DESCRIPTION;\r
+                               }\r
+                       }\r
+               } else if (getInput() instanceof DescriptionElementBase) {\r
+                       if (currentViewPart != VIEW_PART.DESCRIPTION_ELEMENT) {\r
+                               createDescriptionElementSection(rootElement);\r
+                               currentViewPart = VIEW_PART.DESCRIPTION_ELEMENT;\r
+                       }\r
+               } else {\r
+                       destroySections();\r
+                       currentViewPart = VIEW_PART.EMPTY;\r
+               }\r
+               layout();\r
+               \r
+       }\r
+       private void createTaxonSections(RootElement parent) {\r
+               destroySections();\r
+\r
+               TaxonBaseDetailSection taxonBaseDetailSection = (TaxonBaseDetailSection) formFactory\r
+                               .createCdmDetailSection(DetailType.TAXONBASE,\r
+                                               getConversationHolder(), parent, this, Section.TWISTIE);\r
+\r
+               formFactory.createHorizontalSeparator(parent, SWT.BORDER);\r
+\r
+               NonViralNameDetailSection nonViralNameSection = (NonViralNameDetailSection) formFactory\r
+                               .createCdmDetailSection(DetailType.NONVIRALNAME,\r
+                                               getConversationHolder(), parent, this, Section.TWISTIE\r
+                                                               | Section.EXPANDED);\r
+\r
+               formFactory.createHorizontalSeparator(parent, SWT.BORDER);\r
+\r
+               NomenclaturalReferenceDetailSection referenceDetailSection = (NomenclaturalReferenceDetailSection) formFactory\r
+                               .createCdmDetailSection(DetailType.NOMENCLATURALREFERENCE,\r
+                                               getConversationHolder(), parent, this, Section.TWISTIE);\r
+\r
+               formFactory.createHorizontalSeparator(parent, SWT.BORDER);\r
+\r
+               NomenclaturalStatusSection nomenclaturalStatusSection = (NomenclaturalStatusSection) formFactory\r
+                               .createEntityDetailSection(\r
+                                               EntityDetailType.NOMENCLATURALSTATUS,\r
+                                               getConversationHolder(), parent, Section.TWISTIE);\r
+\r
+               formFactory.createHorizontalSeparator(parent, SWT.BORDER);\r
+\r
+               ProtologueSection protologSection = (ProtologueSection) formFactory\r
+                               .createEntityDetailSection(EntityDetailType.PROTOLOG,\r
+                                               getConversationHolder(), parent, Section.TWISTIE);\r
+\r
+               formFactory.createHorizontalSeparator(parent, SWT.BORDER);\r
+\r
+               TypeDesignationSection typeDesignationSection = (TypeDesignationSection) formFactory\r
+                               .createEntityDetailSection(EntityDetailType.TYPEDESIGNATION,\r
+                                               getConversationHolder(), parent, Section.TWISTIE);\r
+\r
+               formFactory.createHorizontalSeparator(parent, SWT.BORDER);\r
+\r
+               NameRelationshipDetailSection nameRelationshipSection = (NameRelationshipDetailSection) formFactory\r
+                               .createEntityDetailSection(EntityDetailType.NAME_RELATIONSHIP,\r
+                                               getConversationHolder(), parent, Section.TWISTIE);\r
+\r
+               formFactory.createHorizontalSeparator(parent, SWT.BORDER);\r
+\r
+               ParsingMessagesSection parsingMessagesSection = (ParsingMessagesSection) formFactory\r
+                               .createCdmDetailSection(DetailType.PARSINGMESSAGE,\r
+                                               getConversationHolder(), parent, this, Section.EXPANDED);\r
+\r
+               addPart(taxonBaseDetailSection);\r
+               addPart(nonViralNameSection);\r
+               addPart(nomenclaturalStatusSection);\r
+               addPart(protologSection);\r
+               addPart(referenceDetailSection);\r
+               addPart(typeDesignationSection);\r
+               addPart(nameRelationshipSection);\r
+               addPart(parsingMessagesSection);\r
+       }\r
+       private void createDescriptionElementSection(RootElement parent) {\r
+               destroySections();\r
+\r
+               DescriptionElementDetailSection descriptionElementDetailSection = (DescriptionElementDetailSection) formFactory\r
+                               .createCdmDetailSection(DetailType.DESCRIPTIONELEMENT,\r
+                                               getConversationHolder(), parent, this, Section.TWISTIE\r
+                                                               | Section.EXPANDED);\r
+\r
+               formFactory.createHorizontalSeparator(parent, SWT.BORDER);\r
+\r
+               DescriptionElementSourceSection descriptionElementSourceSection = (DescriptionElementSourceSection) formFactory\r
+                               .createEntityDetailSection(\r
+                                               EntityDetailType.DESCRIPTIONELEMENTSOURCE,\r
+                                               getConversationHolder(), parent, Section.TWISTIE);\r
+\r
+               formFactory.createHorizontalSeparator(parent, SWT.BORDER);\r
+\r
+               DescriptionElementMediaSection descriptionElementMediaSection = (DescriptionElementMediaSection) formFactory\r
+                               .createEntityDetailSection(\r
+                                               EntityDetailType.DESCRIPTIONELEMENTMEDIA,\r
+                                               getConversationHolder(), parent, Section.TWISTIE);\r
+\r
+               formFactory.createHorizontalSeparator(parent, SWT.BORDER);\r
+\r
+               addPart(descriptionElementDetailSection);\r
+               addPart(descriptionElementSourceSection);\r
+               addPart(descriptionElementMediaSection);\r
+       }\r
+       \r
+       private void createDescriptionSection(RootElement parent) {\r
+               destroySections();\r
+               DescriptionDetailSection descriptionDetailSection = (DescriptionDetailSection) formFactory\r
+                               .createCdmDetailSection(DetailType.DESCRIPTION,\r
+                                               getConversationHolder(), parent, this, Section.TWISTIE\r
+                                                               | Section.EXPANDED);\r
+\r
+               formFactory.createHorizontalSeparator(parent, SWT.BORDER);\r
+\r
+               NaturalLanguageSection naturalLanguageSection = (NaturalLanguageSection) formFactory\r
+                               .createCdmDetailSection(DetailType.NATURAL_LANGUAGE,\r
+                                               getConversationHolder(), parent, this, Section.TWISTIE\r
+                                                               | Section.EXPANDED);\r
+\r
+               formFactory.createHorizontalSeparator(parent, SWT.BORDER);\r
+\r
+               DescribedSpecimenSection describedSpecimenSection = (DescribedSpecimenSection) formFactory\r
+                               .createEntityDetailSection(EntityDetailType.DESCRIBED_SPECIMEN,\r
+                                               getConversationHolder(), parent, Section.TWISTIE);\r
+\r
+               formFactory.createHorizontalSeparator(parent, SWT.BORDER);\r
+\r
+               DescriptionSourceSection descriptionSourceSection = (DescriptionSourceSection) formFactory\r
+                               .createEntityDetailSection(EntityDetailType.DESCRIPTIONSOURCE,\r
+                                               getConversationHolder(), parent, Section.TWISTIE);\r
+\r
+               formFactory.createHorizontalSeparator(parent, SWT.BORDER);\r
+\r
+               ScopeSection scopeSection = (ScopeSection) formFactory\r
+                               .createEntityDetailSection(EntityDetailType.SCOPE,\r
+                                               getConversationHolder(), parent, Section.TWISTIE);\r
+\r
+               formFactory.createHorizontalSeparator(parent, SWT.BORDER);\r
+\r
+               addPart(descriptionDetailSection);\r
+               addPart(naturalLanguageSection);\r
+               addPart(describedSpecimenSection);\r
+               addPart(descriptionSourceSection);\r
+               addPart(scopeSection);\r
+       }\r
+       \r
+       private void createImageGallerySection(RootElement parent) {\r
+               destroySections();\r
+               DescriptionDetailSection descriptionDetailSection = (DescriptionDetailSection) formFactory\r
+                               .createCdmDetailSection(DetailType.DESCRIPTION,\r
+                                               getConversationHolder(), parent, this, Section.TWISTIE\r
+                                                               | Section.EXPANDED);\r
+\r
+               addPart(descriptionDetailSection);\r
+       }\r
+       \r
+       private void createReferenceSections(RootElement parent) {\r
+               destroySections();\r
+\r
+               ReferenceDetailSection referenceDetailSection = (ReferenceDetailSection) formFactory\r
+                               .createCdmDetailSection(DetailType.REFERENCEBASE,\r
+                                               getConversationHolder(), parent, this, Section.TWISTIE\r
+                                                               | Section.EXPANDED);\r
+\r
+               addPart(referenceDetailSection);\r
+               \r
+       }\r
+       @Override\r
+       public ISelection getSelection() {\r
+               return selection;\r
+       }\r
+       @Override\r
+       public void setSelection(ISelection selection, boolean reveal) {\r
+               this.selection = selection;\r
+               SelectionChangedEvent selectionChangedEvent = new SelectionChangedEvent(\r
+                               this, selection);\r
+               fireSelectionChanged(selectionChangedEvent);\r
+       }\r
+\r
+}\r
diff --git a/eu.etaxonomy.taxeditor.test/.settings/org.maven.ide.eclipse.prefs b/eu.etaxonomy.taxeditor.test/.settings/org.maven.ide.eclipse.prefs
new file mode 100644 (file)
index 0000000..7c4f883
--- /dev/null
@@ -0,0 +1,9 @@
+#Mon Nov 07 10:50:06 GMT 2011\r
+activeProfiles=\r
+eclipse.preferences.version=1\r
+fullBuildGoals=process-test-resources\r
+includeModules=false\r
+resolveWorkspaceProjects=true\r
+resourceFilterGoals=process-resources resources\:testResources\r
+skipCompilerPlugin=true\r
+version=1\r