fixes #1365
authorn.hoffmann <n.hoffmann@localhost>
Tue, 5 Jan 2010 17:12:32 +0000 (17:12 +0000)
committern.hoffmann <n.hoffmann@localhost>
Tue, 5 Jan 2010 17:12:32 +0000 (17:12 +0000)
taxeditor-navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/TaxonNavigator.java
taxeditor-navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/TaxonNavigatorDataChangeBehavior.java
taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/model/AbstractUtility.java

index 0053f0e9876e8b53eb77ebacfdc413d9c81839e5..59ddd7136896b0aa943639d72067e195c0a55e0a 100644 (file)
@@ -19,11 +19,14 @@ import java.util.UUID;
 import org.apache.log4j.Logger;\r
 import org.eclipse.core.runtime.IAdaptable;\r
 import org.eclipse.jface.viewers.TreePath;\r
+import org.eclipse.swt.events.FocusEvent;\r
+import org.eclipse.swt.events.FocusListener;\r
 import org.eclipse.swt.widgets.Composite;\r
 import org.eclipse.ui.IMemento;\r
 import org.eclipse.ui.IViewSite;\r
 import org.eclipse.ui.PartInitException;\r
 import org.eclipse.ui.navigator.CommonNavigator;\r
+import org.eclipse.ui.navigator.CommonViewer;\r
 \r
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;\r
 import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;\r
@@ -40,7 +43,7 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
  * @created 02.06.2009\r
  * @version 1.0\r
  */\r
-public class TaxonNavigator extends CommonNavigator implements IConversationEnabled {\r
+public class TaxonNavigator extends CommonNavigator implements IConversationEnabled{\r
        private static final Logger logger = Logger\r
                        .getLogger(TaxonNavigator.class);\r
 \r
@@ -73,6 +76,15 @@ public class TaxonNavigator extends CommonNavigator implements IConversationEnab
                this.memento = memento;\r
        }\r
        \r
+       /**\r
+        * Refresh this navigators viewer\r
+        */\r
+       public void refresh(){\r
+               CommonViewer viewer = getCommonViewer();\r
+               conversation.bind();\r
+               viewer.refresh();\r
+       }\r
+       \r
        /**\r
         * Restores state from a tree path memento using space-separated\r
         * Taxon UUIDs.\r
index 9a7510a040eb4af13d8368fcc8abac6dde08b99c..817c979c2ee395547d32a353580e60fda2564089 100644 (file)
@@ -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");
-
                }
        }
 }
index 5b89c933d1ffdc31bf7fb5ad26456ae81a7bbbcf..3c7c03f4263f8cb6158402f86f48bd83c65119aa 100644 (file)
@@ -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);
        }