From 48c767e3967fd90996a778d1211ed9c73c9e7f7a Mon Sep 17 00:00:00 2001 From: "n.hoffmann" Date: Tue, 5 Jan 2010 17:12:32 +0000 Subject: [PATCH 1/1] fixes #1365 --- .../navigation/navigator/TaxonNavigator.java | 14 +++++++++++++- .../TaxonNavigatorDataChangeBehavior.java | 11 +---------- .../etaxonomy/taxeditor/model/AbstractUtility.java | 7 +++++++ 3 files changed, 21 insertions(+), 11 deletions(-) diff --git a/taxeditor-navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/TaxonNavigator.java b/taxeditor-navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/TaxonNavigator.java index 0053f0e98..59ddd7136 100644 --- a/taxeditor-navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/TaxonNavigator.java +++ b/taxeditor-navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/TaxonNavigator.java @@ -19,11 +19,14 @@ import java.util.UUID; import org.apache.log4j.Logger; import org.eclipse.core.runtime.IAdaptable; import org.eclipse.jface.viewers.TreePath; +import org.eclipse.swt.events.FocusEvent; +import org.eclipse.swt.events.FocusListener; import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.IMemento; import org.eclipse.ui.IViewSite; import org.eclipse.ui.PartInitException; import org.eclipse.ui.navigator.CommonNavigator; +import org.eclipse.ui.navigator.CommonViewer; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.api.conversation.IConversationEnabled; @@ -40,7 +43,7 @@ import eu.etaxonomy.taxeditor.store.CdmStore; * @created 02.06.2009 * @version 1.0 */ -public class TaxonNavigator extends CommonNavigator implements IConversationEnabled { +public class TaxonNavigator extends CommonNavigator implements IConversationEnabled{ private static final Logger logger = Logger .getLogger(TaxonNavigator.class); @@ -73,6 +76,15 @@ public class TaxonNavigator extends CommonNavigator implements IConversationEnab this.memento = memento; } + /** + * Refresh this navigators viewer + */ + public void refresh(){ + CommonViewer viewer = getCommonViewer(); + conversation.bind(); + viewer.refresh(); + } + /** * Restores state from a tree path memento using space-separated * Taxon UUIDs. diff --git a/taxeditor-navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/TaxonNavigatorDataChangeBehavior.java b/taxeditor-navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/TaxonNavigatorDataChangeBehavior.java index 9a7510a04..817c979c2 100644 --- a/taxeditor-navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/TaxonNavigatorDataChangeBehavior.java +++ b/taxeditor-navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/TaxonNavigatorDataChangeBehavior.java @@ -10,7 +10,6 @@ package eu.etaxonomy.taxeditor.navigation.navigator; import org.apache.log4j.Logger; -import org.eclipse.ui.navigator.CommonViewer; import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap; import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeEvent.EventType; @@ -32,7 +31,6 @@ public class TaxonNavigatorDataChangeBehavior extends AbstractDataChangeBehaviou public TaxonNavigatorDataChangeBehavior(TaxonNavigator taxonNavigator) { source = taxonNavigator; } - /* (non-Javadoc) * @see eu.etaxonomy.taxeditor.store.model.IDataChangeBehavior#isRelevant(java.lang.Object, eu.etaxonomy.cdm.persistence.hibernate.CdmCrudEvent) @@ -50,20 +48,13 @@ public class TaxonNavigatorDataChangeBehavior extends AbstractDataChangeBehaviou } } - /* (non-Javadoc) * @see eu.etaxonomy.taxeditor.store.model.IDataChangeBehavior#reactOnDataChange(java.lang.Object, eu.etaxonomy.cdm.persistence.hibernate.CdmCrudEvent) */ public void reactOnDataChange(CdmDataChangeMap events) { - if(isRelevant(events)){ - - CommonViewer viewer = source.getCommonViewer(); - - viewer.refresh(); - + source.refresh(); logger.info("DataStore update caused a refresh of the taxonomic tree"); - } } } diff --git a/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/model/AbstractUtility.java b/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/model/AbstractUtility.java index 5b89c933d..3c7c03f42 100644 --- a/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/model/AbstractUtility.java +++ b/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/model/AbstractUtility.java @@ -22,7 +22,10 @@ import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.resource.ColorRegistry; import org.eclipse.jface.resource.FontRegistry; import org.eclipse.swt.widgets.Shell; +import org.eclipse.ui.IViewPart; import org.eclipse.ui.IWorkbenchPage; +import org.eclipse.ui.PartInitException; +import org.eclipse.ui.PlatformUI; import org.eclipse.ui.ide.undo.WorkspaceUndoUtil; import org.eclipse.ui.themes.ITheme; import org.eclipse.ui.themes.IThemeManager; @@ -52,6 +55,10 @@ public abstract class AbstractUtility { .getActiveWorkbenchWindow().getActivePage(); } + public static IViewPart getView(String id) throws PartInitException{ + return PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView(id); + } + public static boolean closeAll() { return getActivePage().closeAllEditors(true); } -- 2.34.1