featureNodeContainerCache;
-
+
/**
* Constructor for DescriptiveContentProvider.
*
@@ -47,21 +47,22 @@ public class DescriptiveContentProvider implements ITreeContentProvider {
public DescriptiveContentProvider(Map 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()
*/
/**
* dispose
*/
- 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) {}
+
}
diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/DescriptiveViewPart.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/DescriptiveViewPart.java
index 8a9b9296e..1ed443152 100644
--- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/DescriptiveViewPart.java
+++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/DescriptiveViewPart.java
@@ -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 ID="eu.etaxonomy.taxeditor.editor.view.desc"{trunked}
*/
public static final String ID = "eu.etaxonomy.taxeditor.editor.view.descriptive";
-
+
protected TreeViewer viewer;
-
+
/**
* Maps {@link FeatureNodeContainerTree} to their corresponding {@link TaxonDescritpion}.
* 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;
}
}