diff options
Diffstat (limited to 'org.eclipse.debug.tests/src/org/eclipe/debug/tests/viewer/model/TestModelUpdatesListener.java')
-rw-r--r-- | org.eclipse.debug.tests/src/org/eclipe/debug/tests/viewer/model/TestModelUpdatesListener.java | 45 |
1 files changed, 43 insertions, 2 deletions
diff --git a/org.eclipse.debug.tests/src/org/eclipe/debug/tests/viewer/model/TestModelUpdatesListener.java b/org.eclipse.debug.tests/src/org/eclipe/debug/tests/viewer/model/TestModelUpdatesListener.java index c694e1d1d..ea866c774 100644 --- a/org.eclipse.debug.tests/src/org/eclipe/debug/tests/viewer/model/TestModelUpdatesListener.java +++ b/org.eclipse.debug.tests/src/org/eclipe/debug/tests/viewer/model/TestModelUpdatesListener.java @@ -28,12 +28,14 @@ import org.eclipse.debug.internal.ui.viewers.model.provisional.ILabelUpdate; import org.eclipse.debug.internal.ui.viewers.model.provisional.IModelChangedListener; import org.eclipse.debug.internal.ui.viewers.model.provisional.IModelDelta; import org.eclipse.debug.internal.ui.viewers.model.provisional.IModelProxy; +import org.eclipse.debug.internal.ui.viewers.model.provisional.IStateUpdateListener; import org.eclipse.debug.internal.ui.viewers.model.provisional.IViewerUpdate; import org.eclipse.debug.internal.ui.viewers.model.provisional.IViewerUpdateListener; import org.eclipse.jface.viewers.TreePath; public class TestModelUpdatesListener - implements IViewerUpdateListener, ILabelUpdateListener, IModelChangedListener, ITestModelUpdatesListenerConstants + implements IViewerUpdateListener, ILabelUpdateListener, IModelChangedListener, ITestModelUpdatesListenerConstants, + IStateUpdateListener { private boolean fFailOnRedundantUpdates; private boolean fFailOnMultipleUpdateSequences; @@ -43,9 +45,12 @@ public class TestModelUpdatesListener private Set fChildCountUpdates = new HashSet(); private Set fLabelUpdates = new HashSet(); private Set fProxyModels = new HashSet(); + private Set fStateUpdates = new HashSet(); private boolean fViewerUpdatesComplete; private boolean fLabelUpdatesComplete; private boolean fModelChangedComplete; + private boolean fStateSaveComplete; + private boolean fStateRestoreComplete; private int fViewerUpdatesRunning; private int fLabelUpdatesRunning; @@ -86,6 +91,8 @@ public class TestModelUpdatesListener fViewerUpdatesComplete = false; fLabelUpdatesComplete = false; fModelChangedComplete = false; + fStateSaveComplete = false; + fStateRestoreComplete = false; } public void addHasChildrenUpdate(TreePath path) { @@ -135,10 +142,14 @@ public class TestModelUpdatesListener addUpdates(path, element, levels, ALL_UPDATES_COMPLETE); } + public void addStateUpdates(ITreeModelContentProviderTarget viewer, TreePath path, TestElement element) { + addUpdates(viewer, path, element, -1, STATE_UPDATES); + } + public void addUpdates(TreePath path, TestElement element, int levels, int flags) { addUpdates(null, path, element, levels, flags); } - + public void addUpdates(ITreeModelContentProviderTarget viewer, TreePath path, TestElement element, int levels, int flags) { if (!path.equals(TreePath.EMPTY)) { if ((flags & LABEL_UPDATES) != 0) { @@ -163,6 +174,10 @@ public class TestModelUpdatesListener fChildrenUpdates.put(path, childrenIndexes); } + if ((flags & STATE_UPDATES) != 0 && viewer != null) { + fStateUpdates.add(path); + } + for (int i = 0; i < children.length; i++) { addUpdates(viewer, path.createChildPath(children[i]), children[i], levels, flags); } @@ -208,6 +223,12 @@ public class TestModelUpdatesListener if ( (flags & MODEL_CHANGED_COMPLETE) != 0) { if (!fModelChangedComplete) return false; } + if ( (flags & STATE_SAVE_COMPLETE) != 0) { + if (!fStateSaveComplete) return false; + } + if ( (flags & STATE_RESTORE_COMPLETE) != 0) { + if (!fStateRestoreComplete) return false; + } if ( (flags & MODEL_PROXIES_INSTALLED) != 0) { if (fProxyModels.size() != 0) return false; } @@ -313,6 +334,26 @@ public class TestModelUpdatesListener } } } + + public void stateRestoreUpdatesBegin(Object input) { + } + + public void stateRestoreUpdatesComplete(Object input) { + fStateRestoreComplete = true; + } + + public void stateSaveUpdatesBegin(Object input) { + } + + public void stateSaveUpdatesComplete(Object input) { + fStateSaveComplete = true; + } + + public void stateUpdateComplete(Object input, IViewerUpdate update) { + } + + public void stateUpdateStarted(Object input, IViewerUpdate update) { + } } |