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
;
11 * <p>NavigatorStateManager class.</p>
14 * @created Apr 1, 2010
17 public class NavigatorStateManager
extends ContextListenerAdapter
{
22 * Tries to restore the state of the taxon editor and the navigator when a context starts.
25 public void contextStart(IMemento memento
, IProgressMonitor monitor
) {
26 TaxonNavigator navigator
= NavigationUtil
.getNavigator(true);
27 if(navigator
!= null){
29 navigator
.restore(memento
, monitor
);
34 * @see eu.etaxonomy.taxeditor.model.ContextListenerAdapter#contextRefresh(org.eclipse.core.runtime.IProgressMonitor)
37 public void contextRefresh(IProgressMonitor monitor
) {
38 TaxonNavigator navigator
= NavigationUtil
.getNavigator(true);
39 if(navigator
!= null){
50 public void contextStop(IMemento memento
, IProgressMonitor monitor
) {
51 saveNavigatorState(memento
, monitor
);
56 * @see eu.etaxonomy.taxeditor.model.ContextListenerAdapter#workbenchShutdown(org.eclipse.ui.IMemento, org.eclipse.core.runtime.IProgressMonitor)
60 public void workbenchShutdown(IMemento memento
, IProgressMonitor monitor
) {
61 saveNavigatorState(memento
, monitor
);
67 private void saveNavigatorState(IMemento memento
, IProgressMonitor monitor
) {
68 TaxonNavigator navigator
= NavigationUtil
.getNavigator(false);
69 if(navigator
!= null){
70 navigator
.save(memento
, monitor
);
75 * Removes all content form the TaxonNavigator
77 private void clearNavigator() {
78 TaxonNavigator navigator
= NavigationUtil
.getNavigator(false);
79 if(navigator
!= null){