- added DerivateView to workbench
[taxeditor.git] / eu.etaxonomy.taxeditor.editor / src / main / java / eu / etaxonomy / taxeditor / editor / view / descriptive / DescriptiveViewPart.java
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;
        }
 }