- added "Derivates" perspective
authorPatric Plitzner <p.plitzner@bgbm.org>
Tue, 10 Dec 2013 09:04:11 +0000 (09:04 +0000)
committerPatric Plitzner <p.plitzner@bgbm.org>
Tue, 10 Dec 2013 09:04:11 +0000 (09:04 +0000)
 - enhanced selections and icons for derivate views

.gitattributes
eu.etaxonomy.taxeditor.application/icons/specimen_derivate-16x16-32.gif [new file with mode: 0644]
eu.etaxonomy.taxeditor.application/plugin.xml
eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/perspective/DerivatePerspective.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateView.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateViewEditorInput.java
eu.etaxonomy.taxeditor.store/plugin.xml
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/derivatesearch/DerivateLabelProvider.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/derivatesearch/DerivateSearchView.java

index 997552498f75228a3d901e53fa44165efafca50e..9230825b9b657a6fcb34d6439d0bd9997fe12a80 100644 (file)
@@ -10,6 +10,7 @@ eu.etaxonomy.taxeditor.application/icons/256color_32x32.gif -text
 eu.etaxonomy.taxeditor.application/icons/256color_48x48.gif -text
 eu.etaxonomy.taxeditor.application/icons/256color_48x48.ico -text
 eu.etaxonomy.taxeditor.application/icons/edit_16x16.gif -text
 eu.etaxonomy.taxeditor.application/icons/256color_48x48.gif -text
 eu.etaxonomy.taxeditor.application/icons/256color_48x48.ico -text
 eu.etaxonomy.taxeditor.application/icons/edit_16x16.gif -text
+eu.etaxonomy.taxeditor.application/icons/specimen_derivate-16x16-32.gif -text
 eu.etaxonomy.taxeditor.application/p2.inf -text
 eu.etaxonomy.taxeditor.application/plugin.properties -text
 eu.etaxonomy.taxeditor.application/plugin.xml -text
 eu.etaxonomy.taxeditor.application/p2.inf -text
 eu.etaxonomy.taxeditor.application/plugin.properties -text
 eu.etaxonomy.taxeditor.application/plugin.xml -text
@@ -30,6 +31,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/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/DerivatePerspective.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/java/eu/etaxonomy/taxeditor/perspective/Uses.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/java/eu/etaxonomy/taxeditor/perspective/Uses.java -text
diff --git a/eu.etaxonomy.taxeditor.application/icons/specimen_derivate-16x16-32.gif b/eu.etaxonomy.taxeditor.application/icons/specimen_derivate-16x16-32.gif
new file mode 100644 (file)
index 0000000..6588e07
Binary files /dev/null and b/eu.etaxonomy.taxeditor.application/icons/specimen_derivate-16x16-32.gif differ
index 19ef0c5918132e2188202ad917f67f6098e3eddf..ad4eea38ee6650429b6c41a097930fb3ff210597 100644 (file)
             id="eu.etaxonomy.taxeditor.application.perspective.uses"\r
             name="Uses">\r
       </perspective>\r
             id="eu.etaxonomy.taxeditor.application.perspective.uses"\r
             name="Uses">\r
       </perspective>\r
+      <perspective\r
+            class="eu.etaxonomy.taxeditor.perspective.DerivatePerspective"\r
+            icon="icons/specimen_derivate-16x16-32.gif"\r
+            id="eu.etaxonomy.taxeditor.application.perspective.derivates"\r
+            name="Derivates">\r
+      </perspective>\r
      \r
    </extension>\r
    <!--extension\r
      \r
    </extension>\r
    <!--extension\r
diff --git a/eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/perspective/DerivatePerspective.java b/eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/perspective/DerivatePerspective.java
new file mode 100644 (file)
index 0000000..ec95290
--- /dev/null
@@ -0,0 +1,54 @@
+// $Id$
+/**
+ * Copyright (C) 2013 EDIT
+ * European Distributed Institute of Taxonomy
+ * http://www.e-taxonomy.eu
+ *
+ * The contents of this file are subject to the Mozilla Public License Version 1.1
+ * See LICENSE.TXT at the top of this package for the full license terms.
+ */
+package eu.etaxonomy.taxeditor.perspective;
+
+import org.eclipse.ui.IPageLayout;
+import org.eclipse.ui.IPlaceholderFolderLayout;
+import org.eclipse.ui.progress.IProgressConstants;
+
+import eu.etaxonomy.taxeditor.editor.view.descriptive.DescriptiveViewPart;
+import eu.etaxonomy.taxeditor.navigation.navigator.TaxonNavigator;
+import eu.etaxonomy.taxeditor.ui.campanula.derivatesearch.DerivateSearchView;
+import eu.etaxonomy.taxeditor.view.datasource.CdmDataSourceViewPart;
+import eu.etaxonomy.taxeditor.view.detail.DetailsViewPart;
+
+/**
+ * @author pplitzner
+ * @date 10.12.2013
+ *
+ */
+public class DerivatePerspective extends Default {
+
+    protected IPlaceholderFolderLayout folderAdditional;
+
+    public static final String ADDITIONAL = "additional";
+
+    /* (non-Javadoc)
+     * @see org.eclipse.ui.IPerspectiveFactory#createInitialLayout(org.eclipse.ui.IPageLayout)
+     */
+    @Override
+    public void createInitialLayout(IPageLayout layout) {
+        layout.addView(TaxonNavigator.ID, IPageLayout.LEFT, 0.25f, layout.getEditorArea());
+
+        layout.addView(DetailsViewPart.ID, IPageLayout.RIGHT, 0.6f, layout.getEditorArea());
+
+        layout.addView(DerivateSearchView.ID, IPageLayout.TOP, 0.5f, layout.getEditorArea());
+
+        layout.addView(DescriptiveViewPart.ID, IPageLayout.BOTTOM, 0.6f, TaxonNavigator.ID);
+
+        //        layout.addView(SupplementalDataViewPart.ID, IPageLayout.BOTTOM, 0.25f, DetailsViewPart.ID);
+
+        folderAdditional = layout.createPlaceholderFolder(ADDITIONAL, IPageLayout.BOTTOM, 0.6f, TaxonNavigator.ID);
+
+        folderAdditional.addPlaceholder(CdmDataSourceViewPart.ID);
+        folderAdditional.addPlaceholder(IProgressConstants.PROGRESS_VIEW_ID);
+    }
+
+}
index bcb3c465c82a6bafee439dc8731106b7f5387492..ba4c5a84caad65d7af922f0a49128c5a252da51b 100644 (file)
@@ -3,6 +3,7 @@ package eu.etaxonomy.taxeditor.editor.view.derivate;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.jface.action.MenuManager;
 import org.eclipse.jface.viewers.AbstractTreeViewer;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.jface.action.MenuManager;
 import org.eclipse.jface.viewers.AbstractTreeViewer;
+import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.jface.viewers.TreeViewer;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.jface.viewers.TreeViewer;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.widgets.Composite;
@@ -17,6 +18,7 @@ import org.eclipse.ui.part.EditorPart;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
+import eu.etaxonomy.cdm.model.occurrence.FieldUnit;
 import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
 import eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider;
 import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;
 import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
 import eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider;
 import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;
@@ -65,7 +67,9 @@ public class DerivateView extends EditorPart implements IPartContentHasFactualDa
         IEditorInput editorInput = getEditorInput();
         viewer.setInput(editorInput);
         if(editorInput instanceof DerivateViewEditorInput){
         IEditorInput editorInput = getEditorInput();
         viewer.setInput(editorInput);
         if(editorInput instanceof DerivateViewEditorInput){
-            setPartName(((DerivateViewEditorInput) editorInput).getFieldUnit().toString());
+            FieldUnit fieldUnit = ((DerivateViewEditorInput) editorInput).getFieldUnit();
+            setPartName(fieldUnit.toString());
+            viewer.setSelection(new StructuredSelection(fieldUnit));
         }
     }
 
         }
     }
 
index 089502a5fab733a8ac956ae85b21d7d2a4b5ed35..4e534e30a92c6ee21df869e2846593e6efe8e13f 100644 (file)
@@ -25,6 +25,7 @@ public class DerivateViewEditorInput implements IEditorInput {
     private final FieldUnit fieldUnit;
 
     public DerivateViewEditorInput(FieldUnit fieldUnit) {
     private final FieldUnit fieldUnit;
 
     public DerivateViewEditorInput(FieldUnit fieldUnit) {
+        //TODO: add current selection to constructor to highlight it in DerivateView
         super();
         this.fieldUnit = fieldUnit;
     }
         super();
         this.fieldUnit = fieldUnit;
     }
index c4c5996798a81b862b3d14a4b62bbfcf94aff573..f70e96d34b4e0e022d00f806fa9c7d8fcb686bba 100644 (file)
          <menu
                id="eu.etaxonomy.taxeditor.menu.showView"
                label="Show View">
          <menu
                id="eu.etaxonomy.taxeditor.menu.showView"
                label="Show View">
+            <command
+                  commandId="org.eclipse.ui.views.showView"
+                  label="Derivate Search View"
+                  style="push">
+               <parameter
+                     name="org.eclipse.ui.views.showView.viewId"
+                     value="eu.etaxonomy.taxeditor.ui.campanula.derivatesearch.DerivateSearchView">
+               </parameter>
+               <visibleWhen
+                     checkEnabled="false">
+                  <reference
+                        definitionId="isShowExperimentalFeatures">
+                  </reference>
+               </visibleWhen>
+            </command>
             <separator
                   name="eu.etaxonomy.taxeditor.store.showViewMenu.details"
                   visible="true">
             <separator
                   name="eu.etaxonomy.taxeditor.store.showViewMenu.details"
                   visible="true">
index aade6834b3d5b390be040a5df7c6e900df2bbe43..e9c8ad128e9e3f2a13c1bea880d626c64b93fd14 100644 (file)
@@ -13,6 +13,7 @@ import org.eclipse.jface.viewers.ColumnLabelProvider;
 import org.eclipse.swt.graphics.Image;
 
 import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
 import org.eclipse.swt.graphics.Image;
 
 import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
+import eu.etaxonomy.cdm.model.occurrence.FieldUnit;
 import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
 import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
 import eu.etaxonomy.taxeditor.model.ImageResources;
 import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
 import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
 import eu.etaxonomy.taxeditor.model.ImageResources;
@@ -48,7 +49,10 @@ public class DerivateLabelProvider extends ColumnLabelProvider {
      */
     @Override
     public Image getImage(Object element) {
      */
     @Override
     public Image getImage(Object element) {
-        if(element instanceof DerivedUnit){
+        if(element instanceof FieldUnit){
+            return ImageResources.getImage(ImageResources.FIELD_UNIT);
+        }
+        else if(element instanceof DerivedUnit){
             DerivedUnit derivedUnit = (DerivedUnit)element;
             if(derivedUnit.getRecordBasis()==SpecimenOrObservationType.FieldUnit){
                 return ImageResources.getImage(ImageResources.FIELD_UNIT);
             DerivedUnit derivedUnit = (DerivedUnit)element;
             if(derivedUnit.getRecordBasis()==SpecimenOrObservationType.FieldUnit){
                 return ImageResources.getImage(ImageResources.FIELD_UNIT);
index ce631623abe0a09127843bbd610c6258645b23e1..0f637afa7a5416916d5eceee87452eb45d9c62f4 100644 (file)
@@ -20,6 +20,7 @@ import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
  */
 public class DerivateSearchView extends ViewPart {
 
  */
 public class DerivateSearchView extends ViewPart {
 
+    public static final String ID = "eu.etaxonomy.taxeditor.ui.campanula.derivatesearch.DerivateSearchView";
     private DerivateSearchCompositeController derivateSearchCompositeController;
 
     public DerivateSearchView() {
     private DerivateSearchCompositeController derivateSearchCompositeController;
 
     public DerivateSearchView() {
@@ -39,6 +40,6 @@ public class DerivateSearchView extends ViewPart {
      */
     @Override
     public void setFocus() {
      */
     @Override
     public void setFocus() {
-        derivateSearchCompositeController.getDerivateSearchComposite().setFocus();
+        derivateSearchCompositeController.getDerivateSearchComposite().getResultViewer().getControl().setFocus();
     }
 }
     }
 }