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> getPropertyPathsMap() { Map> propertyPathsMap = new HashMap>(); List taxonNodePropertyPaths = Arrays.asList(new String[] { - "taxon.name" + "taxon.name" //$NON-NLS-1$ }); - propertyPathsMap.put("childNodes", taxonNodePropertyPaths); + propertyPathsMap.put("childNodes", taxonNodePropertyPaths); //$NON-NLS-1$ return propertyPathsMap; } }