2 package eu
.etaxonomy
.taxeditor
.navigation
;
4 import org
.eclipse
.core
.runtime
.IProgressMonitor
;
5 import org
.eclipse
.ui
.IMemento
;
7 import eu
.etaxonomy
.taxeditor
.model
.ContextListenerAdapter
;
8 import eu
.etaxonomy
.taxeditor
.navigation
.navigator
.TaxonNavigator
;
9 import eu
.etaxonomy
.taxeditor
.preference
.CdmPreferences
;
10 import eu
.etaxonomy
.taxeditor
.preference
.PreferencesUtil
;
13 * <p>NavigatorStateManager class.</p>
16 * @created Apr 1, 2010
19 public class NavigatorStateManager
extends ContextListenerAdapter
{
24 * Tries to restore the state of the taxon editor and the navigator when a context starts.
27 public void contextStart(IMemento memento
, IProgressMonitor monitor
) {
28 TaxonNavigator navigator
= NavigationUtil
.getNavigator(true);
29 if(navigator
!= null){
31 if (PreferencesUtil
.isStoreNavigatorState()){
32 navigator
.restore(memento
, monitor
);
34 navigator
.restore(null, monitor
);
41 * @see eu.etaxonomy.taxeditor.model.ContextListenerAdapter#contextRefresh(org.eclipse.core.runtime.IProgressMonitor)
44 public void contextRefresh(IProgressMonitor monitor
) {
45 TaxonNavigator navigator
= NavigationUtil
.getNavigator(true);
46 if(navigator
!= null){
57 public void contextStop(IMemento memento
, IProgressMonitor monitor
) {
58 saveNavigatorState(memento
, monitor
);
63 * @see eu.etaxonomy.taxeditor.model.ContextListenerAdapter#workbenchShutdown(org.eclipse.ui.IMemento, org.eclipse.core.runtime.IProgressMonitor)
67 public void workbenchShutdown(IMemento memento
, IProgressMonitor monitor
) {
68 saveNavigatorState(memento
, monitor
);
75 private void saveNavigatorState(IMemento memento
, IProgressMonitor monitor
) {
76 TaxonNavigator navigator
= NavigationUtil
.getNavigator(false);
77 if(navigator
!= null){
78 navigator
.save(memento
, monitor
);
83 * Removes all content form the TaxonNavigator
85 private void clearNavigator() {
86 TaxonNavigator navigator
= NavigationUtil
.getNavigator(false);
87 if(navigator
!= null){