- added DerivateView to workbench
authorPatric Plitzner <p.plitzner@bgbm.org>
Tue, 8 Oct 2013 06:40:16 +0000 (06:40 +0000)
committerPatric Plitzner <p.plitzner@bgbm.org>
Tue, 8 Oct 2013 06:40:16 +0000 (06:40 +0000)
 - implemented dummy content
 - fixed warnings

.gitattributes
eu.etaxonomy.taxeditor.editor/icons/leaf_detail.png [new file with mode: 0644]
eu.etaxonomy.taxeditor.editor/plugin.xml
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateContentProvider.java
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/descriptive/DescriptiveContentProvider.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/DescriptiveViewPart.java

index 3590d62013578981279f41b06ce976e864b686bb..3288a9212e64caf514f1262d658e27a5f6d2f6ef 100644 (file)
@@ -335,6 +335,7 @@ eu.etaxonomy.taxeditor.editor/icons/address-book-new.png -text
 eu.etaxonomy.taxeditor.editor/icons/camera-photo.png -text
 eu.etaxonomy.taxeditor.editor/icons/edit_16x16.gif -text
 eu.etaxonomy.taxeditor.editor/icons/emblem-photos.png -text
+eu.etaxonomy.taxeditor.editor/icons/leaf_detail.png -text
 eu.etaxonomy.taxeditor.editor/icons/xper64.png -text
 eu.etaxonomy.taxeditor.editor/p2.inf -text
 eu.etaxonomy.taxeditor.editor/plugin.properties -text
diff --git a/eu.etaxonomy.taxeditor.editor/icons/leaf_detail.png b/eu.etaxonomy.taxeditor.editor/icons/leaf_detail.png
new file mode 100644 (file)
index 0000000..217c601
Binary files /dev/null and b/eu.etaxonomy.taxeditor.editor/icons/leaf_detail.png differ
index a4439fa590266a94e32839a0baad1c5419cd29f3..a1c1dce738f470bd83b10f004de3fda72f789a9f 100644 (file)
@@ -63,6 +63,7 @@
             point="org.eclipse.ui.views">
          <view
                allowMultiple="false"
+               category="eu.etaxonomy.taxeditor.editor.category"
                class="eu.etaxonomy.taxeditor.editor.view.descriptive.DescriptiveViewPart"
                icon="icons/address-book-new.png"
                id="eu.etaxonomy.taxeditor.editor.view.descriptive"
                restorable="true">
          </view>
           <view
-               allowMultiple="false"
-               class="eu.etaxonomy.taxeditor.editor.view.uses.UsesViewPart"
-               icon="icons/leaf.png"
-               id="eu.etaxonomy.taxeditor.editor.view.uses"
-               name="Uses"
-               restorable="true">
+                allowMultiple="false"
+                category="eu.etaxonomy.taxeditor.editor.category"
+                class="eu.etaxonomy.taxeditor.editor.view.uses.UsesViewPart"
+                icon="icons/leaf.png"
+                id="eu.etaxonomy.taxeditor.editor.view.uses"
+                name="Uses"
+                restorable="true">
          </view>
          <view
                allowMultiple="false"
+               category="eu.etaxonomy.taxeditor.editor.category"
                class="eu.etaxonomy.taxeditor.editor.view.media.MediaViewPart"
                icon="icons/camera-photo.png"
                id="eu.etaxonomy.taxeditor.editor.view.media"
                restorable="true">
          </view>
          <view
+               category="eu.etaxonomy.taxeditor.editor.category"
                class="eu.etaxonomy.taxeditor.editor.view.concept.ConceptViewPart"
                id="eu.etaxonomy.taxeditor.editor.view.concept"
                name="Concept Relations"
                restorable="true">
          </view>
          <view
+               category="eu.etaxonomy.taxeditor.editor.category"
                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>
+         <view
+               allowMultiple="false"
+               category="eu.etaxonomy.taxeditor.editor.category"
+               class="eu.etaxonomy.taxeditor.editor.view.derivate.DerivateView"
+               icon="icons/leaf_detail.png"
+               id="eu.etaxonomy.taxeditor.editor.view.derivate.DerivateView"
+               name="Derivate View"
+               restorable="true">
+         </view>
+         <category
+               id="eu.etaxonomy.taxeditor.editor.category"
+               name="Taxonomic Editor">
+         </category>
       </extension>
    <extension
          point="org.eclipse.ui.elementFactories">
index 74df44b2394598b75783441e3ea5ca28208fcb7d..47c5d234afae2cfa59f3f074c7440e9fe2b948e0 100644 (file)
@@ -1,5 +1,7 @@
 package eu.etaxonomy.taxeditor.editor.view.derivate;
 
+import java.util.Collections;
+
 import org.eclipse.jface.viewers.ITreeContentProvider;
 import org.eclipse.jface.viewers.Viewer;
 
@@ -13,19 +15,15 @@ public class DerivateContentProvider implements ITreeContentProvider {
 
        @Override
        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-               // TODO Auto-generated method stub
-
        }
 
        @Override
        public Object[] getElements(Object inputElement) {
-               // TODO Auto-generated method stub
-               return null;
+               return Collections.singleton(inputElement).toArray();
        }
 
        @Override
        public Object[] getChildren(Object parentElement) {
-               // TODO Auto-generated method stub
                return null;
        }
 
index 2a0426a1c0593b90d8124b6ac4fdd84cf1fbe6a3..da6c9c079a7f2c218e8ece014647d64a9f7e6fcc 100644 (file)
@@ -1,6 +1,7 @@
 package eu.etaxonomy.taxeditor.editor.view.derivate;
 
 import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.viewers.TreeViewer;
 import org.eclipse.jface.viewers.Viewer;
 import org.eclipse.swt.SWT;
@@ -9,6 +10,7 @@ import org.eclipse.swt.widgets.Tree;
 import org.eclipse.ui.IWorkbenchPart;
 
 import eu.etaxonomy.cdm.model.common.CdmBase;
+import eu.etaxonomy.taxeditor.bulkeditor.BulkEditor;
 import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;
 import eu.etaxonomy.taxeditor.model.IPartContentHasSupplementalData;
 import eu.etaxonomy.taxeditor.view.AbstractCdmEditorViewPart;
@@ -30,12 +32,20 @@ public class DerivateView extends AbstractCdmEditorViewPart implements IPartCont
                viewer.setContentProvider(new DerivateContentProvider());
                viewer.setLabelProvider(new DerivateLabelProvider());
                viewer.setAutoExpandLevel(2);
+        // Propagate selection from viewer
+        getSite().setSelectionProvider(viewer);
        }
 
        @Override
        public void selectionChanged(IWorkbenchPart part, ISelection selection) {
-               // TODO Auto-generated method stub
-
+           if(part instanceof BulkEditor && selection instanceof IStructuredSelection){
+               showViewer(part, (IStructuredSelection)selection);
+               return;
+           }
+           else {
+               showEmptyPage();
+               return;
+           }
        }
 
        @Override
index fce0faf8e592fc5ec687eb383a97af673547b092..cee881704e5668cdc8fe1ceebcfc0638f340ac0c 100644 (file)
@@ -1,5 +1,5 @@
 /**
- * 
+ *
  */
 package eu.etaxonomy.taxeditor.editor.view.descriptive;
 
@@ -35,10 +35,10 @@ import eu.etaxonomy.taxeditor.store.TermStore;
  * @version $Id: $
  */
 public class DescriptiveContentProvider implements ITreeContentProvider {
-       
+
        protected static final Object[] NO_CHILDREN = new Object[0];
        protected Map<TaxonDescription, FeatureNodeContainerTree> featureNodeContainerCache;
-       
+
        /**
         * <p>Constructor for DescriptiveContentProvider.</p>
         *
@@ -47,21 +47,22 @@ public class DescriptiveContentProvider implements ITreeContentProvider {
        public DescriptiveContentProvider(Map<TaxonDescription, FeatureNodeContainerTree> featureNodeContainerCache) {
                this.featureNodeContainerCache = featureNodeContainerCache;
        }
-       
+
        /* (non-Javadoc)
         * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
         */
        /** {@inheritDoc} */
-       public Object[] getChildren(Object parentElement) {
+       @Override
+    public Object[] getChildren(Object parentElement) {
                if (parentElement instanceof TaxonEditorInput) {
-                       return getDescriptions((TaxonEditorInput) parentElement).toArray(); 
+                       return getDescriptions((TaxonEditorInput) parentElement).toArray();
                }
                else if (parentElement instanceof TaxonDescription) {
                        if ( ! ((TaxonDescription) parentElement).isImageGallery()) {
                                TaxonDescription description = (TaxonDescription) parentElement;
-                               
+
                                FeatureNodeContainerTree containerTree = getContainerTreeForDesription(description);
-                               
+
                                return containerTree.getRoot().getChildren().toArray();
                        }
                }
@@ -73,10 +74,10 @@ public class DescriptiveContentProvider implements ITreeContentProvider {
                                return container.getChildren().toArray();
                        }
                }
-               
+
                return NO_CHILDREN;
        }
-       
+
        private FeatureNodeContainerTree getContainerTreeForDesription(TaxonDescription description){
                if(! featureNodeContainerCache.containsKey(description)){
                        FeatureNodeContainerTree containerTree = new FeatureNodeContainerTree(description, getFeatureTree(description));
@@ -94,40 +95,40 @@ public class DescriptiveContentProvider implements ITreeContentProvider {
                        if(containerTree != null && containerTree.getRoot() != null){
                                return containerTree.getRoot().getChildren().size() != 0;
                        }
-               } 
+               }
                return getChildren(element).length != 0;
        }
-       
+
        /**
         * Retrieves the feature tree associated with the given description
-        * 
-        * TODO as of now this is always the same thing because feature trees may not be associated 
+        *
+        * TODO as of now this is always the same thing because feature trees may not be associated
         * to descriptions yet.
-        * 
+        *
         * @param description
         * @return
         */
        private FeatureTree getFeatureTree(DescriptionBase description){
                FeatureTree featureTree = null;
-               
+
                // TODO change this to the feature tree associated with this taxon description
-               if (description.hasStructuredData()){                                   
+               if (description.hasStructuredData()){
                        featureTree = PreferencesUtil.getDefaultFeatureTreeForStructuredDescription();
                }else{
                        featureTree = PreferencesUtil.getDefaultFeatureTreeForTextualDescription();
                }
-               
+
                // create a transient tree with all features if none was selected
                if(featureTree == null){
                        featureTree = FeatureTree.NewInstance(TermStore.getTerms(Feature.class));
                }
-               
+
                return featureTree;
        }
 
        /**
         * Get all descriptions associated with the given TaxonEditorInput
-        * 
+        *
         * @param parentElement
         * @return
         */
@@ -149,8 +150,8 @@ public class DescriptiveContentProvider implements ITreeContentProvider {
                                        descriptions.add(description);
                                }
                        }
-                       
-               }                       
+
+               }
                return descriptions;
        }
 
@@ -158,7 +159,8 @@ public class DescriptiveContentProvider implements ITreeContentProvider {
         * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
         */
        /** {@inheritDoc} */
-       public Object getParent(Object element) {
+       @Override
+    public Object getParent(Object element) {
                return null;
        }
 
@@ -166,17 +168,19 @@ public class DescriptiveContentProvider implements ITreeContentProvider {
         * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
         */
        /** {@inheritDoc} */
-       public Object[] getElements(Object inputElement) {
+       @Override
+    public Object[] getElements(Object inputElement) {
                return getChildren(inputElement);
        }
-       
+
        /* (non-Javadoc)
         * @see org.eclipse.jface.viewers.IContentProvider#dispose()
         */
        /**
         * <p>dispose</p>
         */
-       public void dispose() {
+       @Override
+    public void dispose() {
                featureNodeContainerCache.clear();
        }
 
@@ -184,6 +188,7 @@ public class DescriptiveContentProvider implements ITreeContentProvider {
         * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
         */
        /** {@inheritDoc} */
-       public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {}    
-       
+       @Override
+    public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {}
+
 }
index 8a9b9296efa0080f9bb329064dc6286573dcedd5..1ed443152bf121db0da6ec919c335966c2cf57ad 100644 (file)
@@ -1,9 +1,9 @@
 // $Id$
 /**
 * Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy 
+* 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.
 */
@@ -15,6 +15,7 @@ import java.util.Map;
 
 import org.eclipse.jface.action.Action;
 import org.eclipse.jface.action.GroupMarker;
+import org.eclipse.jface.action.IAction;
 import org.eclipse.jface.action.IToolBarManager;
 import org.eclipse.jface.action.MenuManager;
 import org.eclipse.jface.resource.ImageDescriptor;
@@ -41,16 +42,15 @@ import eu.etaxonomy.cdm.model.description.DescriptionBase;
 import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
 import eu.etaxonomy.cdm.model.description.TaxonDescription;
 import eu.etaxonomy.taxeditor.bulkeditor.BulkEditor;
-import eu.etaxonomy.taxeditor.editor.EditorUtil;
 import eu.etaxonomy.taxeditor.editor.MultiPageTaxonEditor;
 import eu.etaxonomy.taxeditor.editor.definedterm.DefinedTermEditor;
 import eu.etaxonomy.taxeditor.editor.key.AbstractGraphKeyEditor;
+import eu.etaxonomy.taxeditor.model.AbstractUtility;
 import eu.etaxonomy.taxeditor.model.FeatureNodeContainer;
 import eu.etaxonomy.taxeditor.model.FeatureNodeContainerTree;
 import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;
 import eu.etaxonomy.taxeditor.model.IPartContentHasSupplementalData;
 import eu.etaxonomy.taxeditor.model.ImageResources;
-import eu.etaxonomy.taxeditor.ui.section.taxon.TaxonDetailElement;
 import eu.etaxonomy.taxeditor.view.AbstractCdmEditorViewPart;
 
 /**
@@ -64,9 +64,9 @@ public class DescriptiveViewPart extends AbstractCdmEditorViewPart implements IP
 
        /** Constant <code>ID="eu.etaxonomy.taxeditor.editor.view.desc"{trunked}</code> */
        public static final String ID = "eu.etaxonomy.taxeditor.editor.view.descriptive";
-       
+
        protected TreeViewer viewer;
-       
+
        /**
         * Maps {@link FeatureNodeContainerTree} to their corresponding {@link TaxonDescritpion}.<br>
         * This serves as input for the {@link ITreeContentProvider} of the {@link TreeViewer}
@@ -78,13 +78,13 @@ public class DescriptiveViewPart extends AbstractCdmEditorViewPart implements IP
        protected ToggleDescriptionAction hideAllElementsAction;
 
        protected int dndOperations = DND.DROP_COPY | DND.DROP_MOVE;
-       
+
        /** {@inheritDoc} */
        @Override
        public void createViewer(Composite parent) {
                viewer = new TreeViewer(new Tree(parent, SWT.MULTI | SWT.H_SCROLL
                                | SWT.V_SCROLL | SWT.FULL_SELECTION));
-               viewer.setContentProvider(new DescriptiveContentProvider(featureNodeContainerCache));           
+               viewer.setContentProvider(new DescriptiveContentProvider(featureNodeContainerCache));
                viewer.setLabelProvider(new DescriptiveLabelProvider());
                viewer.setSorter(new DescriptiveViewerSorter());
                viewer.setAutoExpandLevel(2);
@@ -93,24 +93,24 @@ public class DescriptiveViewPart extends AbstractCdmEditorViewPart implements IP
                                this));
                viewer.addDropSupport(dndOperations, transfers,
                                new DescriptionElementDropAdapter(viewer));
-                                               
+
                // Propagate selection from viewer
                getSite().setSelectionProvider(viewer);
-               
-               showAllElementsAction = new ToggleDescriptionAction(false);             
+
+               showAllElementsAction = new ToggleDescriptionAction(false);
                hideAllElementsAction = new ToggleDescriptionAction(true);
-               
+
                // Add context menu to tree
                createMenu();
-               
+
                createToolbar();
-               
+
                // set initial input
 //             if(getEditor() != null){
 //                     viewer.setInput(getEditor().getEditorInput());
 //             }
        }
-       
+
        /* (non-Javadoc)
         * @see eu.etaxonomy.taxeditor.model.AbstractCdmViewPart#getInitialSelection()
         */
@@ -119,8 +119,8 @@ public class DescriptiveViewPart extends AbstractCdmEditorViewPart implements IP
        protected ISelection getInitialSelection() {
                if(getEditor() != null){
                        return new StructuredSelection(getEditor().getEditorInput());
-               }       
-               
+               }
+
                return super.getInitialSelection();
        }
 
@@ -129,73 +129,73 @@ public class DescriptiveViewPart extends AbstractCdmEditorViewPart implements IP
                toolBarManager.add(showAllElementsAction);
                toolBarManager.add(hideAllElementsAction);
        }
-       
+
        /*
         * TODO add to the views menu
         */
        protected void createMenu(){
                MenuManager menuManager = new MenuManager();
                menuManager.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
-               
+
                getSite().registerContextMenu(menuManager, viewer);
 
                // FIXME for some reason this is not working
                menuManager.add(showAllElementsAction);
                menuManager.add(hideAllElementsAction);
-                               
+
                Control control = viewer.getControl();
                Menu menu = menuManager.createContextMenu(control);
-               
-               control.setMenu(menu);  
+
+               control.setMenu(menu);
        }
 
        /** {@inheritDoc} */
-       public void selectionChanged(IWorkbenchPart part, ISelection selection) {
-               if(EditorUtil.getActiveEditor() == null){
+       @Override
+    public void selectionChanged(IWorkbenchPart part, ISelection selection) {
+               if(AbstractUtility.getActiveEditor() == null){
                        showEmptyPage();
                        return;
                }
-               
+
                if(part instanceof BulkEditor){
                        showEmptyPage();
                        return;
                }
-               
+
                if(part instanceof AbstractGraphKeyEditor){
                        showEmptyPage();
                        return;
                }
-               
+
                if(part instanceof DefinedTermEditor){
                        showEmptyPage();
                        return;
                }
-               
+
                if(part instanceof MultiPageTaxonEditor){
                        if(! part.equals(this.part)){
                                IEditorInput input = ((IEditorPart) part).getEditorInput();
                                featureNodeContainerCache.clear();
                                showViewer(part, new StructuredSelection(input));
                        }
-                       showViewer();
                }
        }
-       
+
        /**
-        * 
+        *
         * @author n.hoffmann
         * @created May 28, 2010
         * @version 1.0
         */
        protected class ToggleDescriptionAction extends Action{
-               private boolean expanded;
-               
+               private final boolean expanded;
+
                public ToggleDescriptionAction(boolean expand){
-                       super(null, Action.AS_PUSH_BUTTON);
+                       super(null, IAction.AS_PUSH_BUTTON);
                        expanded = expand;
                        setImageAndTooltip();
                }
-               
+
                private void setImageAndTooltip(){
                        setImageDescriptor(new ImageDescriptor() {
                                @Override
@@ -205,11 +205,11 @@ public class DescriptiveViewPart extends AbstractCdmEditorViewPart implements IP
                                        return ImageResources.getImage(resource).getImageData();
                                }
                        });
-                       
+
                        String toolTipText = expanded ? "Collapse all" : "Show all descriptive data";
                        setToolTipText(toolTipText);
                }
-               
+
                @Override
                public void run() {
                        if(expanded){
@@ -234,15 +234,15 @@ public class DescriptiveViewPart extends AbstractCdmEditorViewPart implements IP
                        containerTree.buildTree();
                }
                viewer.refresh();
-               
+
                if(object instanceof DescriptionElementBase){
                        DescriptionElementBase descriptionElement = (DescriptionElementBase) object;
                        DescriptionBase description = descriptionElement.getInDescription();
                        FeatureNodeContainerTree containerTree = featureNodeContainerCache.get(description);
-                       
+
                        FeatureNodeContainer featureNodeContainer = containerTree.getFeatureNodeContainerForDescriptionElement(descriptionElement);
                        viewer.expandToLevel(featureNodeContainer, 1);
-                       
+
                }
 
                if(object != null){
@@ -264,7 +264,8 @@ public class DescriptiveViewPart extends AbstractCdmEditorViewPart implements IP
         *
         * @return a boolean.
         */
-       public boolean onComplete() {
+       @Override
+    public boolean onComplete() {
                return false;
        }
 }