X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/blobdiff_plain/d2f3794a26d9c4ecef509c22c28cf7ec02f24fc8..2d137e2c4484fb5d3502b1dc0384bea25653df8e:/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/TaxonNavigator.java
diff --git a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/TaxonNavigator.java b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/TaxonNavigator.java
index bce99d82c..f71f2796f 100644
--- a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/TaxonNavigator.java
+++ b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/TaxonNavigator.java
@@ -1,4 +1,3 @@
-// $Id$
/**
* Copyright (C) 2007 EDIT
* European Distributed Institute of Taxonomy
@@ -25,8 +24,6 @@ import java.util.UUID;
import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.TreePath;
import org.eclipse.ui.IMemento;
import org.eclipse.ui.IViewSite;
@@ -35,13 +32,12 @@ import org.eclipse.ui.navigator.CommonNavigator;
import eu.etaxonomy.cdm.api.application.CdmApplicationState;
import eu.etaxonomy.cdm.api.application.CdmChangeEvent;
-import eu.etaxonomy.cdm.api.application.CdmChangeEvent.Action;
import eu.etaxonomy.cdm.api.application.ICdmChangeListener;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.api.service.IClassificationService;
import eu.etaxonomy.cdm.model.common.CdmBase;
-import eu.etaxonomy.cdm.model.common.ICdmBase;
+import eu.etaxonomy.cdm.model.common.ITreeNode;
import eu.etaxonomy.cdm.model.taxon.Classification;
import eu.etaxonomy.cdm.model.taxon.TaxonNaturalComparator;
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
@@ -52,6 +48,7 @@ import eu.etaxonomy.taxeditor.model.DataChangeBridge;
import eu.etaxonomy.taxeditor.model.IDataChangeBehavior;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
import eu.etaxonomy.taxeditor.navigation.NavigationUtil;
+import eu.etaxonomy.taxeditor.navigation.l10n.Messages;
import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.session.ICdmEntitySession;
@@ -65,21 +62,23 @@ import eu.etaxonomy.taxeditor.store.LoginManager;
* @author p.ciardelli
* @author n.hoffmann
* @created 02.06.2009
- * @version 1.0
+ * @version 1.0+-
*/
public class TaxonNavigator extends CommonNavigator implements
IPostOperationEnabled, IConversationEnabled, Observer,
ICdmEntitySessionEnabled, ICdmChangeListener {
- /**
+ private static final String RESTORING_TAXON_NAVIGATOR = Messages.TaxonNavigator_RESTORE;
+
+ /**
* Constant
* ID="eu.etaxonomy.taxeditor.navigation.navig"{trunked}
*/
public static final String ID = "eu.etaxonomy.taxeditor.navigation.navigator"; //$NON-NLS-1$
- private static final String TREE_PATH = "treepath";
+ private static final String TREE_PATH = "treepath"; //$NON-NLS-1$
- private static final String TREE_PATHS = "treepaths";
+ private static final String TREE_PATHS = "treepaths"; //$NON-NLS-1$
private ConversationHolder conversation;
@@ -109,6 +108,7 @@ public class TaxonNavigator extends CommonNavigator implements
}
TaxonNodeNavigatorComparator viewerComparator = new TaxonNodeNavigatorComparator(comparator);
this.getCommonViewer().setComparator(viewerComparator);
+ //this.getCommonViewer().setAutoExpandLevel(2);
setLinkingEnabled(true);
// this.getCommonViewer().addSelectionChangedListener(new ISelectionChangedListener() {
//
@@ -133,6 +133,7 @@ public class TaxonNavigator extends CommonNavigator implements
// closing the whole application
// should be handled by the state manager too
root = new Root(conversation);
+
return root;
}
return new EmptyRoot();
@@ -161,6 +162,8 @@ public class TaxonNavigator extends CommonNavigator implements
CdmApplicationState.getCurrentDataChangeService().register(this);
}
CdmStore.getLoginManager().addObserver(this);
+
+
}
/**
@@ -227,9 +230,9 @@ public class TaxonNavigator extends CommonNavigator implements
IProgressMonitor subProgressMonitor = NavigationUtil
.getSubProgressMonitor(monitor, 1);
- subProgressMonitor.beginTask("Restoring Taxon Navigator",
+ subProgressMonitor.beginTask(RESTORING_TAXON_NAVIGATOR,
1 + mementoWork + 5);
- subProgressMonitor.subTask("Restoring Taxon Navigator");
+ subProgressMonitor.subTask(RESTORING_TAXON_NAVIGATOR);
subProgressMonitor.worked(1);
conversation = CdmStore.createConversation();
@@ -271,7 +274,7 @@ public class TaxonNavigator extends CommonNavigator implements
return null;
}
- for (String uuid : string.split(" ")) {
+ for (String uuid : string.split(" ")) { //$NON-NLS-1$
CdmBase cdmBaseObject = CdmStore.getService(
IClassificationService.class).getTaxonNodeByUuid(
UUID.fromString(uuid));
@@ -318,19 +321,19 @@ public class TaxonNavigator extends CommonNavigator implements
memento = memento.createChild(TREE_PATHS);
TreePath[] treePaths = this.getCommonViewer().getExpandedTreePaths();
- monitor.beginTask("Saving Taxon Navigator State", treePaths.length);
+ monitor.beginTask(Messages.TaxonNavigator_SAVE_TASK, treePaths.length);
for (TreePath treePath : treePaths) {
int pathLength = treePath.getSegmentCount();
- String path = "";
+ String path = ""; //$NON-NLS-1$
for (int i = 0; i < pathLength; i++) {
Object segment = treePath.getSegment(i);
if (segment instanceof CdmBase) {
- path += ((CdmBase) segment).getUuid().toString() + " ";
+ path += ((CdmBase) segment).getUuid().toString() + " "; //$NON-NLS-1$
monitor.worked(1);
} else {
MessagingUtils.warn(getClass(),
- "Non-taxon tree path segment " + segment);
+ "Non-taxon tree path segment " + segment); //$NON-NLS-1$
}
}
memento.createChild(TREE_PATH, path.trim());
@@ -379,7 +382,7 @@ public class TaxonNavigator extends CommonNavigator implements
@Override
public String getFrameToolTipText(Object element) {
if (element instanceof Root) {
- return "Taxonomic Tree";
+ return Messages.TaxonNavigator_TAXON_TREE;
}
return super.getFrameToolTipText(element);
}
@@ -458,13 +461,13 @@ public class TaxonNavigator extends CommonNavigator implements
/** {@inheritDoc} */
@Override
protected void handleDoubleClick(DoubleClickEvent event) {
- ISelection selection = event.getSelection();
- if(selection instanceof IStructuredSelection){
- Object firstElement = ((IStructuredSelection) selection).getFirstElement();
- if(firstElement instanceof ICdmBase){
- NavigationUtil.openEditor((ICdmBase) firstElement);
- }
- }
+// ISelection selection = event.getSelection();
+// if(selection instanceof IStructuredSelection){
+// Object firstElement = ((IStructuredSelection) selection).getFirstElement();
+// if(firstElement instanceof ICdmBase){
+// NavigationUtil.openEditor((ICdmBase) firstElement, PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell());
+// }
+// }
// If the double click is passed up to the super-class it will
// expand/collapse trees.
// We do not want that
@@ -495,7 +498,7 @@ public class TaxonNavigator extends CommonNavigator implements
getCommonViewer().getControl().setEnabled(!busy);
if (busy) {
partNameCache = getPartName();
- setPartName("Loading datasources");
+ setPartName(Messages.TaxonNavigator_LOAD_DATASOURCE);
} else {
if (partNameCache != null) {
setPartName(partNameCache);
@@ -527,7 +530,7 @@ public class TaxonNavigator extends CommonNavigator implements
* @see eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled#getRootEntities()
*/
@Override
- public List getRootEntities() {
+ public List getRootEntities() {
if(root != null) {
return root.getParentBeans();
}
@@ -539,12 +542,13 @@ public class TaxonNavigator extends CommonNavigator implements
*/
@Override
public void onChange(CdmChangeEvent event) {
- if(event.getAction() == Action.Delete && Classification.class.equals(event.getEntityType())) {
- refresh();
- return;
- }
+// if(event.getAction() == Action.Delete && Classification.class.equals(event.getEntityType())) {
+// refresh();
+// return;
+// }
+ refresh();
for(CdmBase cb : event.getChangedObjects()) {
- if(cb instanceof TaxonNode) {
+ if(cb instanceof TaxonNode) {
TaxonNode tn = (TaxonNode)cb;
if(tn.getTaxon() == null) {
getCommonViewer().refresh(tn.getClassification());
@@ -565,9 +569,9 @@ public class TaxonNavigator extends CommonNavigator implements
public Map