diff options
author | William Chen | 2012-05-02 03:21:01 +0000 |
---|---|---|
committer | William Chen | 2012-05-02 03:21:01 +0000 |
commit | 138f869c6581ea43e9b8831b3b2e6ff0c8f2e9ee (patch) | |
tree | 6a9b283deff6441a3c7862d3bec777651a45dbbb /target_explorer/plugins | |
parent | dbc2313def15d6e92f32e837b1f256d645c22ca5 (diff) | |
download | org.eclipse.tcf-138f869c6581ea43e9b8831b3b2e6ff0c8f2e9ee.tar.gz org.eclipse.tcf-138f869c6581ea43e9b8831b3b2e6ff0c8f2e9ee.tar.xz org.eclipse.tcf-138f869c6581ea43e9b8831b3b2e6ff0c8f2e9ee.zip |
Target Explorer: Change the code that saves and restores the expanding
state of Target Explorer.
Diffstat (limited to 'target_explorer/plugins')
3 files changed, 31 insertions, 51 deletions
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.ui.views/src/org/eclipse/tcf/te/ui/views/interfaces/IPersistableExpandingState.java b/target_explorer/plugins/org.eclipse.tcf.te.ui.views/src/org/eclipse/tcf/te/ui/views/interfaces/IPersistableExpandingState.java deleted file mode 100644 index f8c7b15b7..000000000 --- a/target_explorer/plugins/org.eclipse.tcf.te.ui.views/src/org/eclipse/tcf/te/ui/views/interfaces/IPersistableExpandingState.java +++ /dev/null @@ -1,36 +0,0 @@ -/*******************************************************************************
- * Copyright (c) 2012 Wind River Systems, Inc. and others. All rights reserved.
- * This program and the accompanying materials are made available under the terms
- * of the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Wind River Systems - initial API and implementation
- *******************************************************************************/
-package org.eclipse.tcf.te.ui.views.interfaces;
-
-import org.eclipse.ui.IMemento;
-
-/**
- * The interface to define the API to save and restore
- * the persisted states of a common viewer.
- * @see ViewExpandingState
- */
-public interface IPersistableExpandingState {
-
- /**
- * Restore the expanding state of this common viewer using
- * the state persisted in the memento.
- *
- * @param memento The memento that persists the expanding state.
- */
- public void restoreExpandingState(IMemento memento);
-
- /**
- * Save the expanding state of this common viewer to
- * the memento.
- *
- * @param memento The memento to persist the expanding state.
- */
- public void saveExpandingState(IMemento memento);
-}
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.ui.views/src/org/eclipse/tcf/te/ui/views/internal/View.java b/target_explorer/plugins/org.eclipse.tcf.te.ui.views/src/org/eclipse/tcf/te/ui/views/internal/View.java index 993ef19ed..bdfd063ea 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.ui.views/src/org/eclipse/tcf/te/ui/views/internal/View.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.ui.views/src/org/eclipse/tcf/te/ui/views/internal/View.java @@ -29,10 +29,10 @@ import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Composite; import org.eclipse.tcf.te.ui.trees.TreeViewerEditorActivationStrategy; import org.eclipse.tcf.te.ui.views.activator.UIPlugin; -import org.eclipse.tcf.te.ui.views.interfaces.IPersistableExpandingState; import org.eclipse.tcf.te.ui.views.interfaces.IRoot; import org.eclipse.tcf.te.ui.views.interfaces.IUIConstants; import org.eclipse.ui.IAggregateWorkingSet; +import org.eclipse.ui.IMemento; import org.eclipse.ui.ISources; import org.eclipse.ui.IWorkbenchActionConstants; import org.eclipse.ui.PlatformUI; @@ -42,6 +42,7 @@ import org.eclipse.ui.model.IWorkbenchAdapter; import org.eclipse.ui.navigator.CommonNavigator; import org.eclipse.ui.navigator.CommonViewer; import org.eclipse.ui.navigator.ICommonActionConstants; +import org.eclipse.ui.navigator.IMementoAware; import org.eclipse.ui.views.properties.IPropertySheetPage; import org.eclipse.ui.views.properties.tabbed.ITabbedPropertySheetPageContributor; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; @@ -63,7 +64,7 @@ public class View extends CommonNavigator implements ITabbedPropertySheetPageCon private String workingSetLabel; // The state used to persisted the expanded nodes of the navigator tree. - private IPersistableExpandingState expandingState; + IMementoAware expandingState; /** * Constructor. @@ -152,6 +153,12 @@ public class View extends CommonNavigator implements ITabbedPropertySheetPageCon // Add the additional custom toolbar groups addCustomToolbarGroups(); + + // Restore expanding state of the common viewer. + expandingState = new ViewExpandingState(getCommonViewer()); + if (getMemento() != null) { + expandingState.restoreState(getMemento()); + } } /** @@ -172,6 +179,20 @@ public class View extends CommonNavigator implements ITabbedPropertySheetPageCon } } + /* + * (non-Javadoc) + * @see org.eclipse.ui.navigator.CommonNavigator#saveState(org.eclipse.ui.IMemento) + */ + @Override + public void saveState(IMemento aMemento) { + super.saveState(aMemento); + + // Save expanding state of the common viewer. + if (expandingState != null && aMemento != null) { + expandingState.saveState(aMemento); + } + } + /* (non-Javadoc) * @see org.eclipse.ui.navigator.CommonNavigator#handleDoubleClick(org.eclipse.jface.viewers.DoubleClickEvent) */ @@ -253,12 +274,6 @@ public class View extends CommonNavigator implements ITabbedPropertySheetPageCon if(adapter == IPropertySheetPage.class) { return new TabbedPropertySheetPage(this); } - else if(adapter == IPersistableExpandingState.class) { - if(expandingState == null) { - expandingState = new ViewExpandingState(getCommonViewer()); - } - return expandingState; - } return super.getAdapter(adapter); } diff --git a/target_explorer/plugins/org.eclipse.tcf.te.ui.views/src/org/eclipse/tcf/te/ui/views/internal/ViewExpandingState.java b/target_explorer/plugins/org.eclipse.tcf.te.ui.views/src/org/eclipse/tcf/te/ui/views/internal/ViewExpandingState.java index 1f0babb28..8832bbd47 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.ui.views/src/org/eclipse/tcf/te/ui/views/internal/ViewExpandingState.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.ui.views/src/org/eclipse/tcf/te/ui/views/internal/ViewExpandingState.java @@ -15,18 +15,18 @@ import java.util.List; import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.core.runtime.Platform;
import org.eclipse.jface.viewers.IElementComparer;
-import org.eclipse.tcf.te.ui.views.interfaces.IPersistableExpandingState;
import org.eclipse.ui.IElementFactory;
import org.eclipse.ui.IMemento;
import org.eclipse.ui.IPersistableElement;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.navigator.CommonViewer;
+import org.eclipse.ui.navigator.IMementoAware;
/**
* The class used to save and restore the expanding states of
* a common viewer in a navigator.
*/
-public class ViewExpandingState implements IPersistableExpandingState {
+public class ViewExpandingState implements IMementoAware {
// The common viewer whose expanding state is to be persisted.
private CommonViewer viewer;
/**
@@ -35,13 +35,13 @@ public class ViewExpandingState implements IPersistableExpandingState { public ViewExpandingState(CommonViewer viewer) {
this.viewer = viewer;
}
-
+
/*
* (non-Javadoc)
- * @see org.eclipse.tcf.te.ui.views.interfaces.IPersistableState#restoreExpandingState(org.eclipse.ui.IMemento)
+ * @see org.eclipse.ui.navigator.IMementoAware#restoreState(org.eclipse.ui.IMemento)
*/
@Override
- public void restoreExpandingState(IMemento memento) {
+ public void restoreState(IMemento memento) {
IMemento memExpand = memento.getChild("expanded-elements"); //$NON-NLS-1$
if(memExpand != null) {
IMemento[] memElements = memExpand.getChildren("element"); //$NON-NLS-1$
@@ -62,12 +62,13 @@ public class ViewExpandingState implements IPersistableExpandingState { }
}
}
+
/*
* (non-Javadoc)
- * @see org.eclipse.tcf.te.ui.views.interfaces.IPersistableState#saveExpandingState(org.eclipse.ui.IMemento)
+ * @see org.eclipse.ui.navigator.IMementoAware#saveState(org.eclipse.ui.IMemento)
*/
@Override
- public void saveExpandingState(IMemento memento) {
+ public void saveState(IMemento memento) {
Object[] elements = viewer.getVisibleExpandedElements(); // Do not remember invisible expanded elements.
if(elements != null && elements.length > 0) {
IMemento memExpand = memento.createChild("expanded-elements"); //$NON-NLS-1$
|