import eu.etaxonomy.taxeditor.model.IDirtyMarkable;
import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;
import eu.etaxonomy.taxeditor.model.IPartContentHasFactualData;
+import eu.etaxonomy.taxeditor.model.IPartContentHasMedia;
+
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.store.CdmStore;
* @version 1.0
*/
public class BulkEditor extends AnnotatedLineEditor implements IPartContentHasDetails,
- IDirtyMarkable, IDerivedUnitFacadePart, IPartContentHasFactualData {
+ IDirtyMarkable, IDerivedUnitFacadePart, IPartContentHasFactualData, IPartContentHasMedia {
/** Constant <code>ID="bulkeditor.editor"</code> */
public static final String ID = "bulkeditor.editor";
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacadeNotSupportedException;
+import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.description.DescriptionBase;
import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
import eu.etaxonomy.cdm.model.description.SpecimenDescription;
import eu.etaxonomy.cdm.model.occurrence.FieldUnit;
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
import eu.etaxonomy.cdm.model.taxon.Taxon;
+import eu.etaxonomy.taxeditor.bulkeditor.BulkEditor;
import eu.etaxonomy.taxeditor.editor.TaxonEditorInput;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
@Override
public Object[] getChildren(Object parentElement) {
- if (parentElement instanceof TaxonEditorInput) {
- Taxon taxon = ((TaxonEditorInput) parentElement).getTaxon();
+ if (parentElement instanceof TaxonEditorInput || parentElement instanceof Taxon) {
+
+ Taxon taxon = null;
+ if (parentElement instanceof TaxonEditorInput){
+ taxon = ((TaxonEditorInput) parentElement).getTaxon();
+ } else{
+ taxon = HibernateProxyHelper.deproxy(parentElement, Taxon.class);
+ }
+
if(taxon == null){
MessagingUtils.error(getClass(), "Taxon is null", null);
return NO_CHILDREN;
package eu.etaxonomy.taxeditor.editor.view.media;
+import java.util.HashMap;
+import java.util.Map;
+
import org.eclipse.jface.action.GroupMarker;
import org.eclipse.jface.action.MenuManager;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.TreeNode;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.ui.IWorkbenchActionConstants;
import org.eclipse.ui.IWorkbenchPart;
+import eu.etaxonomy.cdm.model.description.DescriptionBase;
+import eu.etaxonomy.cdm.model.description.IDescribable;
+import eu.etaxonomy.cdm.model.media.IMediaDocumented;
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
import eu.etaxonomy.taxeditor.bulkeditor.BulkEditor;
import eu.etaxonomy.taxeditor.editor.MultiPageTaxonEditor;
+import eu.etaxonomy.taxeditor.editor.view.descriptive.DescriptiveContentProvider;
+import eu.etaxonomy.cdm.model.description.TaxonDescription;
import eu.etaxonomy.taxeditor.model.AbstractUtility;
+import eu.etaxonomy.taxeditor.model.FeatureNodeContainerTree;
import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;
+import eu.etaxonomy.taxeditor.model.IPartContentHasFactualData;
import eu.etaxonomy.taxeditor.model.IPartContentHasMedia;
import eu.etaxonomy.taxeditor.model.IPartContentHasSupplementalData;
import eu.etaxonomy.taxeditor.view.AbstractCdmEditorViewPart;
/** Constant <code>ID="eu.etaxonomy.taxeditor.editor.view.medi"{trunked}</code> */
public static final String ID = "eu.etaxonomy.taxeditor.editor.view.media";
- private TreeViewer viewer;
+ private TreeViewer viewer;
+
/*
* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.model.AbstractCdmViewPart#createViewer(org.eclipse.swt.widgets.Composite)
viewer = new TreeViewer(new Tree(parent, SWT.MULTI | SWT.H_SCROLL
| SWT.V_SCROLL | SWT.FULL_SELECTION));
-
+
viewer.setContentProvider(new MediaContentProvider());
viewer.setLabelProvider(new MediaLabelProvider());
viewer.setAutoExpandLevel(2);
IEditorInput input = ((IEditorPart) part).getEditorInput();
showViewer(part, new StructuredSelection(input));
}
- else if(selection instanceof IStructuredSelection){
- Object firstElement = ((IStructuredSelection) selection).getFirstElement();
+ else if(selection instanceof IStructuredSelection
+ && ((IStructuredSelection) selection).getFirstElement() instanceof IDescribable<?>
+ && part instanceof IPartContentHasFactualData && !(((IStructuredSelection) selection).getFirstElement() instanceof SpecimenOrObservationBase && part instanceof BulkEditor)){
+ Object firstElement = ((IStructuredSelection) selection).getFirstElement();
if(firstElement instanceof TreeNode){
showViewer(part, new StructuredSelection(((TreeNode) firstElement).getValue()));
}
else{
showViewer(part, (IStructuredSelection) selection);
}
+ }else{
+ showEmptyPage();
}
}
else{