Implemented correct handling of images for specimen. Still needs fine tuning.
authorn.hoffmann <n.hoffmann@localhost>
Fri, 11 Feb 2011 17:27:30 +0000 (17:27 +0000)
committern.hoffmann <n.hoffmann@localhost>
Fri, 11 Feb 2011 17:27:30 +0000 (17:27 +0000)
12 files changed:
.gitattributes
taxeditor-application/src/main/java/eu/etaxonomy/taxeditor/perspective/Taxonomic.java
taxeditor-bulkeditor/plugin.xml
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/derivedunit/handler/AbstractAddDerivedUnitFacadeMediaHandler.java [new file with mode: 0644]
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/derivedunit/handler/AddDerivedUnitMediaHandler.java
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/derivedunit/handler/AddFieldObjectMediaHandler.java [new file with mode: 0644]
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/derivedunit/operation/AddDerivedUnitFacadeMediaOperation.java [moved from taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/derivedunit/operation/AddDerivedUnitMediaOperation.java with 73% similarity]
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/detail/DetailsViewer.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/media/handler/CreateMediaHandler.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/media/operation/AddMediaToImageGalleryOperation.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/description/DescribedSpecimenSection.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/description/DescriptionDetailElement.java

index 97598e100b26348296cfd0535150c161ee961eae..6066b49dd692a9b7517fe2b83c86193d710c534f 100644 (file)
@@ -89,8 +89,10 @@ taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/command/Del
 taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/command/DynamicMarkerTypeEditingMenu.java -text
 taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/command/DynamicNewObjectMenu.java -text
 taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/command/OpenBulkEditorContributionItem.java -text
 taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/command/DynamicMarkerTypeEditingMenu.java -text
 taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/command/DynamicNewObjectMenu.java -text
 taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/command/OpenBulkEditorContributionItem.java -text
+taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/derivedunit/handler/AbstractAddDerivedUnitFacadeMediaHandler.java -text
 taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/derivedunit/handler/AddDerivedUnitMediaHandler.java -text
 taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/derivedunit/handler/AddDerivedUnitMediaHandler.java -text
-taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/derivedunit/operation/AddDerivedUnitMediaOperation.java -text
+taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/derivedunit/handler/AddFieldObjectMediaHandler.java -text
+taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/derivedunit/operation/AddDerivedUnitFacadeMediaOperation.java -text
 taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/MergeGroupHandler.java -text
 taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/OpenBulkEditorHandler.java -text
 taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/RemoveMergeCandidateHandler.java -text
 taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/MergeGroupHandler.java -text
 taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/OpenBulkEditorHandler.java -text
 taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/RemoveMergeCandidateHandler.java -text
index 8f3e62cd9664d9fc200b2273623e6def9bb91111..bc5e0a6689b45722f23d37d923c72804312d7610 100644 (file)
@@ -45,5 +45,4 @@ public class Taxonomic extends Default {
                
                createAdditionalFolder(layout, layout.getEditorArea());
        }
                
                createAdditionalFolder(layout, layout.getEditorArea());
        }
-
 }
 }
index 905baaa9aadf809c21f1d4987b51d89d5a12669b..807fedb286422639f2553f468b07ca2f05a79c4e 100644 (file)
                commandId="eu.etaxonomy.taxeditor.bulkeditor.command.derivedunit.addDerivedUnitMedia"\r
                label="Add Derived Unit Media"\r
                style="push">\r
                commandId="eu.etaxonomy.taxeditor.bulkeditor.command.derivedunit.addDerivedUnitMedia"\r
                label="Add Derived Unit Media"\r
                style="push">\r
-            <visibleWhen\r
-                  checkEnabled="false">\r
-               <test\r
-                     property="eu.etaxonomy.taxeditor.bulkeditor.propertyTester.isDerivedUnitEditor">\r
-               </test>\r
-            </visibleWhen>\r
+         </command>\r
+         <command\r
+               commandId="eu.etaxonomy.taxeditor.bulkeditor.command.derivedunit.addFieldObjectMedia"\r
+               label="Add Field Object Media"\r
+               style="push">\r
          </command>\r
       </menuContribution>\r
    </extension>\r
          </command>\r
       </menuContribution>\r
    </extension>\r
             id="eu.etaxonomy.taxeditor.bulkeditor.command.derivedunit.addDerivedUnitMedia"\r
             name="Add Derived Unit Media">\r
       </command>\r
             id="eu.etaxonomy.taxeditor.bulkeditor.command.derivedunit.addDerivedUnitMedia"\r
             name="Add Derived Unit Media">\r
       </command>\r
+      <command\r
+            defaultHandler="eu.etaxonomy.taxeditor.bulkeditor.derivedunit.handler.AddFieldObjectMediaHandler"\r
+            id="eu.etaxonomy.taxeditor.bulkeditor.command.derivedunit.addFieldObjectMedia"\r
+            name="Add Field Object Media">\r
+      </command>\r
    </extension>\r
    <extension\r
          point="org.eclipse.core.expressions.propertyTesters">\r
    </extension>\r
    <extension\r
          point="org.eclipse.core.expressions.propertyTesters">\r
             properties="isDerivedUnitEditor"\r
             type="eu.etaxonomy.taxeditor.bulkeditor.BulkEditor">\r
       </propertyTester>\r
             properties="isDerivedUnitEditor"\r
             type="eu.etaxonomy.taxeditor.bulkeditor.BulkEditor">\r
       </propertyTester>\r
-   </extension>\r
-   <extension\r
-         point="org.eclipse.core.expressions.definitions">\r
    </extension>
 <!-- start set marker -->\r
 \r
    </extension>
 <!-- start set marker -->\r
 \r
diff --git a/taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/derivedunit/handler/AbstractAddDerivedUnitFacadeMediaHandler.java b/taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/derivedunit/handler/AbstractAddDerivedUnitFacadeMediaHandler.java
new file mode 100644 (file)
index 0000000..fe74a3d
--- /dev/null
@@ -0,0 +1,77 @@
+// $Id$
+/**
+* Copyright (C) 2007 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.bulkeditor.derivedunit.handler;
+
+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.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.handlers.HandlerUtil;
+
+import eu.etaxonomy.cdm.model.occurrence.DerivedUnitBase;
+import eu.etaxonomy.taxeditor.bulkeditor.BulkEditor;
+import eu.etaxonomy.taxeditor.bulkeditor.BulkEditorUtil;
+import eu.etaxonomy.taxeditor.bulkeditor.derivedunit.operation.AddDerivedUnitFacadeMediaOperation;
+import eu.etaxonomy.taxeditor.bulkeditor.input.OccurrenceEditorInput;
+import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;
+import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
+
+/**
+ * @author n.hoffmann
+ * @created Feb 11, 2011
+ * @version 1.0
+ */
+public abstract class AbstractAddDerivedUnitFacadeMediaHandler extends AbstractHandler {
+
+       /* (non-Javadoc)
+        * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)
+        */
+       @Override
+       public Object execute(ExecutionEvent event) throws ExecutionException {
+               IWorkbenchPart part = HandlerUtil.getActivePart(event);
+               IPostOperationEnabled postOperationEnabled = (part instanceof IPostOperationEnabled) ? (IPostOperationEnabled) part : null;
+               
+               
+               IEditorPart editor = HandlerUtil.getActiveEditor(event);
+               IEditorInput input = editor.getEditorInput();
+               
+               
+               if(input instanceof OccurrenceEditorInput){
+                       BulkEditor bulkEditor = (BulkEditor) editor;
+                       ISelection selection = bulkEditor.getSelectionProvider().getSelection();
+                       
+                       if(selection instanceof IStructuredSelection){
+                               Object element = ((IStructuredSelection) selection).getFirstElement();
+                               if(element instanceof DerivedUnitBase){
+                                       
+                                       try{
+                                               AbstractPostOperation operation = new AddDerivedUnitFacadeMediaOperation(event.getCommand().getName(), BulkEditorUtil.getUndoContext(), (DerivedUnitBase) element, getMode(), postOperationEnabled);
+                                               BulkEditorUtil.executeOperation(operation);
+                                       } catch (NotDefinedException e) {
+                                               BulkEditorUtil.warn(getClass(), "Command name not set.");
+                                       }                                       
+                               }
+                       }
+               }
+               return null;
+       }
+
+       /**
+        * @return
+        */
+       protected abstract int getMode();
+
+}
index 9b02d73e35b469fbc320472e2ab8443834a11b8b..21fa66c85264d6afefecfab6b8ee3c66c24e6ec0 100644 (file)
 
 package eu.etaxonomy.taxeditor.bulkeditor.derivedunit.handler;
 
 
 package eu.etaxonomy.taxeditor.bulkeditor.derivedunit.handler;
 
-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.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.handlers.HandlerUtil;
+import eu.etaxonomy.taxeditor.bulkeditor.derivedunit.operation.AddDerivedUnitFacadeMediaOperation;
 
 
-import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
-import eu.etaxonomy.cdm.api.facade.DerivedUnitFacadeNotSupportedException;
-import eu.etaxonomy.cdm.model.description.Feature;
-import eu.etaxonomy.cdm.model.description.SpecimenDescription;
-import eu.etaxonomy.cdm.model.description.TextData;
-import eu.etaxonomy.cdm.model.occurrence.DerivedUnitBase;
-import eu.etaxonomy.taxeditor.bulkeditor.BulkEditor;
-import eu.etaxonomy.taxeditor.bulkeditor.BulkEditorUtil;
-import eu.etaxonomy.taxeditor.bulkeditor.derivedunit.operation.AddDerivedUnitMediaOperation;
-import eu.etaxonomy.taxeditor.bulkeditor.input.OccurrenceEditorInput;
-import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;
-import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
 
 /**
  * @author n.hoffmann
  * @created Feb 7, 2011
  * @version 1.0
  */
 
 /**
  * @author n.hoffmann
  * @created Feb 7, 2011
  * @version 1.0
  */
-public class AddDerivedUnitMediaHandler extends AbstractHandler {
+public class AddDerivedUnitMediaHandler extends AbstractAddDerivedUnitFacadeMediaHandler {
 
        /* (non-Javadoc)
 
        /* (non-Javadoc)
-        * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)
+        * @see eu.etaxonomy.taxeditor.bulkeditor.derivedunit.handler.AbstractAddDerivedUnitFacadeMediaHandler#getMode()
         */
        @Override
         */
        @Override
-       public Object execute(ExecutionEvent event) throws ExecutionException {
-               IWorkbenchPart part = HandlerUtil.getActivePart(event);
-               IPostOperationEnabled postOperationEnabled = (part instanceof IPostOperationEnabled) ? (IPostOperationEnabled) part : null;
-               
-               
-               IEditorPart editor = HandlerUtil.getActiveEditor(event);
-               IEditorInput input = editor.getEditorInput();
-               
-               if(input instanceof OccurrenceEditorInput){
-                       BulkEditor bulkEditor = (BulkEditor) editor;
-                       ISelection selection = bulkEditor.getSelectionProvider().getSelection();
-                       
-                       if(selection instanceof IStructuredSelection){
-                               Object element = ((IStructuredSelection) selection).getFirstElement();
-                               if(element instanceof DerivedUnitBase){
-                                       
-                                       try{
-                                               AbstractPostOperation operation = new AddDerivedUnitMediaOperation(event.getCommand().getName(), BulkEditorUtil.getUndoContext(), (DerivedUnitBase) element, postOperationEnabled);
-                                               BulkEditorUtil.executeOperation(operation);
-                                       } catch (NotDefinedException e) {
-                                               BulkEditorUtil.warn(getClass(), "Command name not set.");
-                                       }                                       
-                               }
-                       }
-               }
-               return null;
+       protected int getMode() {
+               return AddDerivedUnitFacadeMediaOperation.DERIVED_UNIT_MEDIA;
        }
 
        }
 
+       
 }
 }
diff --git a/taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/derivedunit/handler/AddFieldObjectMediaHandler.java b/taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/derivedunit/handler/AddFieldObjectMediaHandler.java
new file mode 100644 (file)
index 0000000..2d19d11
--- /dev/null
@@ -0,0 +1,31 @@
+// $Id$
+/**
+* Copyright (C) 2007 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.bulkeditor.derivedunit.handler;
+
+import eu.etaxonomy.taxeditor.bulkeditor.derivedunit.operation.AddDerivedUnitFacadeMediaOperation;
+
+/**
+ * @author n.hoffmann
+ * @created Feb 11, 2011
+ * @version 1.0
+ */
+public class AddFieldObjectMediaHandler extends
+               AbstractAddDerivedUnitFacadeMediaHandler {
+
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.bulkeditor.derivedunit.handler.AbstractAddDerivedUnitFacadeMediaHandler#getMode()
+        */
+       @Override
+       protected int getMode() {
+               return AddDerivedUnitFacadeMediaOperation.FIELD_OBJECT_MEDIA;
+       }
+
+}
@@ -18,10 +18,8 @@ import org.eclipse.core.runtime.IStatus;
 
 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacadeNotSupportedException;
 
 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacadeNotSupportedException;
-import eu.etaxonomy.cdm.model.description.Feature;
+import eu.etaxonomy.cdm.model.description.DescriptionBase;
 import eu.etaxonomy.cdm.model.description.SpecimenDescription;
 import eu.etaxonomy.cdm.model.description.SpecimenDescription;
-import eu.etaxonomy.cdm.model.description.TextData;
-import eu.etaxonomy.cdm.model.media.Media;
 import eu.etaxonomy.cdm.model.occurrence.DerivedUnitBase;
 import eu.etaxonomy.taxeditor.bulkeditor.BulkEditorUtil;
 import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;
 import eu.etaxonomy.cdm.model.occurrence.DerivedUnitBase;
 import eu.etaxonomy.taxeditor.bulkeditor.BulkEditorUtil;
 import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;
@@ -29,47 +27,42 @@ import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
 
 /**
  * @author n.hoffmann
 
 /**
  * @author n.hoffmann
- * @created Feb 7, 2011
+ * @created Feb 11, 2011
  * @version 1.0
  */
  * @version 1.0
  */
-public class AddDerivedUnitMediaOperation extends AbstractPostOperation {
+public class AddDerivedUnitFacadeMediaOperation extends
+               AbstractPostOperation {
 
 
+       public static final int DERIVED_UNIT_MEDIA = 0;
+       public static final int FIELD_OBJECT_MEDIA = 1;
+       
        private DerivedUnitBase derivedUnit;
        private DerivedUnitBase derivedUnit;
-
+       private int mode;
+       
        /**
         * @param label
         * @param undoContext
         * @param postOperationEnabled
         */
        /**
         * @param label
         * @param undoContext
         * @param postOperationEnabled
         */
-       public AddDerivedUnitMediaOperation(String label, IUndoContext undoContext, DerivedUnitBase derivedUnit,
-                       IPostOperationEnabled postOperationEnabled) {
+       public AddDerivedUnitFacadeMediaOperation(String label, IUndoContext undoContext, DerivedUnitBase derivedUnit,
+                       int mode, IPostOperationEnabled postOperationEnabled) {
                super(label, undoContext, postOperationEnabled);
                
                this.derivedUnit = derivedUnit;
                super(label, undoContext, postOperationEnabled);
                
                this.derivedUnit = derivedUnit;
-               
+               this.mode = mode;
        }
        }
-
+       
        /* (non-Javadoc)
         * @see org.eclipse.core.commands.operations.AbstractOperation#execute(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
         */
        @Override
        public IStatus execute(IProgressMonitor monitor, IAdaptable info)
                        throws ExecutionException {
        /* (non-Javadoc)
         * @see org.eclipse.core.commands.operations.AbstractOperation#execute(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
         */
        @Override
        public IStatus execute(IProgressMonitor monitor, IAdaptable info)
                        throws ExecutionException {
-
                DerivedUnitFacade facade;
                try {
                        facade = DerivedUnitFacade.NewInstance(derivedUnit);
 
                DerivedUnitFacade facade;
                try {
                        facade = DerivedUnitFacade.NewInstance(derivedUnit);
 
-                       SpecimenDescription imageGallery = facade.getDerivedUnitImageGallery(true);
-                       
-                       TextData element = TextData.NewInstance(Feature.IMAGE());
-                       
-                       Media media = Media.NewInstance();
-                       
-                       element.addMedia(media);                        
-                       
-                       imageGallery.addElement(element);
-                       
+                       createImageGallery(facade);
                } catch (DerivedUnitFacadeNotSupportedException e) {
                        BulkEditorUtil.error(getClass(), e);
                }
                } catch (DerivedUnitFacadeNotSupportedException e) {
                        BulkEditorUtil.error(getClass(), e);
                }
@@ -77,6 +70,24 @@ public class AddDerivedUnitMediaOperation extends AbstractPostOperation {
                return postExecute(derivedUnit);
        }
 
                return postExecute(derivedUnit);
        }
 
+       
+       
+       /**
+        * @param facade
+        * @return
+        */
+       protected void createImageGallery(DerivedUnitFacade facade){
+               if(mode == DERIVED_UNIT_MEDIA){
+                       facade.getDerivedUnitImageGallery(true);
+               }
+               else if(mode == FIELD_OBJECT_MEDIA){
+                       facade.getFieldObjectImageGallery(true);
+               }
+               else{
+                       throw new IllegalArgumentException("Mode not supported: " + mode);
+               }
+       }
+
        /* (non-Javadoc)
         * @see org.eclipse.core.commands.operations.AbstractOperation#redo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
         */
        /* (non-Javadoc)
         * @see org.eclipse.core.commands.operations.AbstractOperation#redo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
         */
index bab79edf591d122258b21a1343003e31cdba6dc3..ac64b51cf750d05610917d45d9a2d5de3917f709 100644 (file)
@@ -88,6 +88,7 @@ public class DetailsViewer extends AbstractCdmDataViewer {
                DESCRIPTION,
                DESCRIPTION_ELEMENT,
                EMPTY, 
                DESCRIPTION,
                DESCRIPTION_ELEMENT,
                EMPTY, 
+               IMAGE_GALLERY,
                MEDIA, 
                TEAM_OR_PERSON_BASE,
                DERIVED_UNIT,
                MEDIA, 
                TEAM_OR_PERSON_BASE,
                DERIVED_UNIT,
@@ -189,9 +190,16 @@ public class DetailsViewer extends AbstractCdmDataViewer {
                                currentViewPart = VIEW_PART.TEAM_OR_PERSON_BASE;
                        }
                }else if(getInput() instanceof DescriptionBase){
                                currentViewPart = VIEW_PART.TEAM_OR_PERSON_BASE;
                        }
                }else if(getInput() instanceof DescriptionBase){
-                       if(currentViewPart != VIEW_PART.DESCRIPTION){
-                               createDescriptionSection(rootElement);
-                               currentViewPart = VIEW_PART.DESCRIPTION;
+                       if(((DescriptionBase) getInput()).isImageGallery()){
+                               if(currentViewPart != VIEW_PART.IMAGE_GALLERY){
+                                       createImageGallerySection(rootElement);
+                                       currentViewPart = VIEW_PART.IMAGE_GALLERY;
+                               }
+                       }else{
+                               if(currentViewPart != VIEW_PART.DESCRIPTION){
+                                       createDescriptionSection(rootElement);
+                                       currentViewPart = VIEW_PART.DESCRIPTION;
+                               }
                        }
                }else if(getInput() instanceof DescriptionElementBase){
                        if(currentViewPart != VIEW_PART.DESCRIPTION_ELEMENT){
                        }
                }else if(getInput() instanceof DescriptionElementBase){
                        if(currentViewPart != VIEW_PART.DESCRIPTION_ELEMENT){
@@ -231,6 +239,7 @@ public class DetailsViewer extends AbstractCdmDataViewer {
                layout();
        }
 
                layout();
        }
 
+
        /* (non-Javadoc)
         * @see org.eclipse.jface.viewers.Viewer#getSelection()
         */
        /* (non-Javadoc)
         * @see org.eclipse.jface.viewers.Viewer#getSelection()
         */
@@ -448,6 +457,18 @@ public class DetailsViewer extends AbstractCdmDataViewer {
        }
        
 
        }
        
 
+       /**
+        * @param rootElement
+        */
+       private void createImageGallerySection(RootElement parent) {
+               destroySections();
+               DescriptionDetailSection descriptionDetailSection = (DescriptionDetailSection)
+                       formFactory.createCdmDetailSection(DetailType.DESCRIPTION, getConversationHolder(), parent, this, Section.TWISTIE | Section.EXPANDED);
+               
+               addPart(descriptionDetailSection);              
+       }
+       
+
        private void createMediaElementSection(RootElement parent) {
                destroySections();
                MediaDetailsSection mediaDetailSection = (MediaDetailsSection) 
        private void createMediaElementSection(RootElement parent) {
                destroySections();
                MediaDetailsSection mediaDetailSection = (MediaDetailsSection) 
index 269b475f048778ac54628dc0a0e3e5e33686de66..a03c9a36357a82d31e46ee0617b25766f33b8af1 100644 (file)
@@ -10,16 +10,13 @@ import org.eclipse.core.commands.common.NotDefinedException;
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.TreePath;
 import org.eclipse.jface.viewers.TreeSelection;
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.TreePath;
 import org.eclipse.jface.viewers.TreeSelection;
-import org.eclipse.ui.IEditorInput;
 import org.eclipse.ui.IEditorPart;
 import org.eclipse.ui.IWorkbenchPart;
 import org.eclipse.ui.forms.editor.FormEditor;
 import org.eclipse.ui.handlers.HandlerUtil;
 
 import eu.etaxonomy.cdm.model.description.DescriptionBase;
 import org.eclipse.ui.IEditorPart;
 import org.eclipse.ui.IWorkbenchPart;
 import org.eclipse.ui.forms.editor.FormEditor;
 import org.eclipse.ui.handlers.HandlerUtil;
 
 import eu.etaxonomy.cdm.model.description.DescriptionBase;
-import eu.etaxonomy.cdm.model.taxon.Taxon;
 import eu.etaxonomy.taxeditor.editor.EditorUtil;
 import eu.etaxonomy.taxeditor.editor.EditorUtil;
-import eu.etaxonomy.taxeditor.editor.TaxonEditorInput;
 import eu.etaxonomy.taxeditor.editor.view.media.operation.AddMediaToImageGalleryOperation;
 import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;
 import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
 import eu.etaxonomy.taxeditor.editor.view.media.operation.AddMediaToImageGalleryOperation;
 import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;
 import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
@@ -41,38 +38,39 @@ public class CreateMediaHandler extends AbstractHandler {
                IPostOperationEnabled postOperationEnabled = (part instanceof IPostOperationEnabled) ? (IPostOperationEnabled) part : null;
                
                
                IPostOperationEnabled postOperationEnabled = (part instanceof IPostOperationEnabled) ? (IPostOperationEnabled) part : null;
                
                
+               DescriptionBase description = null;
+               
                IEditorPart editor = HandlerUtil.getActiveEditor(event);
                if (editor instanceof FormEditor) {
                        editor = ((FormEditor) editor).getActiveEditor();
                }
                IEditorPart editor = HandlerUtil.getActiveEditor(event);
                if (editor instanceof FormEditor) {
                        editor = ((FormEditor) editor).getActiveEditor();
                }
-               IEditorInput input = editor.getEditorInput();
-               if (input instanceof TaxonEditorInput) {
-                       Taxon taxon = ((TaxonEditorInput) input).getTaxon();
+               
+               ISelection selection = HandlerUtil.getCurrentSelection(event);
+               if (selection instanceof TreeSelection) {
+                       TreePath[] paths = ((TreeSelection) selection).getPaths();
                        
                        
-                       ISelection selection = HandlerUtil.getCurrentSelection(event);
-                       if (selection instanceof TreeSelection) {
-                               TreePath[] paths = ((TreeSelection) selection).getPaths();
-                               
-                               int count = paths[0].getSegmentCount();
-                               DescriptionBase description = null;
-                               for (int i = 0; i < count; i++ ) {
-                                       if (paths[0].getSegment(i) instanceof DescriptionBase) {
-                                               description = (DescriptionBase) paths[0].getSegment(i);
-                                               break;
-                                       }
-                               }
-                               
-                               AbstractPostOperation operation = null;
-                               try {
-                                       // TODO use undo context specific to editor
-                                       operation = new AddMediaToImageGalleryOperation(event.getCommand().getName(), 
-                                                       EditorUtil.getUndoContext(), taxon, description, postOperationEnabled);
-                                       EditorUtil.executeOperation(operation);
-                               } catch (NotDefinedException e) {
-                                       EditorUtil.warn(getClass(), "Command name not set.");
+                       int count = paths[0].getSegmentCount();
+                       
+                       for (int i = 0; i < count; i++ ) {
+                               if (paths[0].getSegment(i) instanceof DescriptionBase) {
+                                       description = (DescriptionBase) paths[0].getSegment(i);
+                                       break;
                                }
                        }
                }
                                }
                        }
                }
+               
+               if(description != null){
+                       AbstractPostOperation operation = null;
+                       try {
+                               // TODO use undo context specific to editor
+                               operation = new AddMediaToImageGalleryOperation(event.getCommand().getName(), 
+                                               EditorUtil.getUndoContext(), description, postOperationEnabled);
+                               EditorUtil.executeOperation(operation);
+                       } catch (NotDefinedException e) {
+                               EditorUtil.warn(getClass(), "Command name not set.");
+                       }
+               }
+               
                return null;
        }
 
                return null;
        }
 
index 8c11b58396b93029b8cdd31907fb55c7b04c8cb9..7fa478f016af14846d09ecf63721045fdf7d8037 100644 (file)
@@ -18,7 +18,6 @@ import org.eclipse.core.runtime.IStatus;
 import eu.etaxonomy.cdm.api.utility.ImagesUtility;
 import eu.etaxonomy.cdm.model.description.DescriptionBase;
 import eu.etaxonomy.cdm.model.media.Media;
 import eu.etaxonomy.cdm.api.utility.ImagesUtility;
 import eu.etaxonomy.cdm.model.description.DescriptionBase;
 import eu.etaxonomy.cdm.model.media.Media;
-import eu.etaxonomy.cdm.model.taxon.Taxon;
 import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;
 import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
 /**
 import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;
 import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
 /**
@@ -44,9 +43,8 @@ public class AddMediaToImageGalleryOperation extends AbstractPostOperation {
         * @param description a {@link eu.etaxonomy.cdm.model.description.DescriptionBase} object.
         */
        public AddMediaToImageGalleryOperation(String label,
         * @param description a {@link eu.etaxonomy.cdm.model.description.DescriptionBase} object.
         */
        public AddMediaToImageGalleryOperation(String label,
-                       IUndoContext undoContext, Taxon taxon,
-                       DescriptionBase description, IPostOperationEnabled postOperationEnabled) {
-               super(label, undoContext, taxon, postOperationEnabled);
+                       IUndoContext undoContext, DescriptionBase description, IPostOperationEnabled postOperationEnabled) {
+               super(label, undoContext, postOperationEnabled);
 
                this.description = description;
                media = Media.NewInstance();
 
                this.description = description;
                media = Media.NewInstance();
index 5617a19252e848165f48cd3ef0f7c3d0bd2bd4ff..da88df0f533ac38ceeb6c4c27eee0d693d991dbe 100644 (file)
@@ -12,10 +12,7 @@ package eu.etaxonomy.taxeditor.section.description;
 
 import java.util.Collection;
 
 
 import java.util.Collection;
 
-import org.apache.log4j.Logger;
-
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
 import eu.etaxonomy.cdm.model.description.TaxonDescription;
 import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
 import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
 import eu.etaxonomy.cdm.model.description.TaxonDescription;
 import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
 import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
@@ -32,10 +29,6 @@ import eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection;
  */
 public class DescribedSpecimenSection extends AbstractEntityCollectionSection<TaxonDescription, SpecimenOrObservationBase> {
 
  */
 public class DescribedSpecimenSection extends AbstractEntityCollectionSection<TaxonDescription, SpecimenOrObservationBase> {
 
-
-       private static final Logger logger = Logger
-                       .getLogger(DescribedSpecimenSection.class);
-
        /**
         * <p>Constructor for DescribedSpecimenSection.</p>
         *
        /**
         * <p>Constructor for DescribedSpecimenSection.</p>
         *
index 9badd3be3473edb4b94616f3dc2279c61f0b36f7..5cfabc1f4941f697f107ec48ee0d10864e2abed0 100644 (file)
@@ -51,7 +51,7 @@ public class DescriptionDetailElement extends AbstractCdmDetailElement<Descripti
                detailDescription = formFactory.createMultilineTextWithLabel(this, "Label", 50, SWT.WRAP);
                detailDescription.setText(entity.getTitleCache());
                
                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);
        }
        
        /** {@inheritDoc} */
        }
        
        /** {@inheritDoc} */