Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/AbstractModelProxy.java')
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/AbstractModelProxy.java32
1 files changed, 28 insertions, 4 deletions
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/AbstractModelProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/AbstractModelProxy.java
index 7608f3732..6311232e6 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/AbstractModelProxy.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/AbstractModelProxy.java
@@ -15,6 +15,11 @@ import org.eclipse.core.runtime.ListenerList;
import org.eclipse.core.runtime.Platform;
import org.eclipse.core.runtime.SafeRunner;
import org.eclipse.debug.internal.ui.DebugUIPlugin;
+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.IPresentationContext;
+import org.eclipse.jface.viewers.Viewer;
/**
* Common function for a model proxy.
@@ -26,6 +31,8 @@ import org.eclipse.debug.internal.ui.DebugUIPlugin;
public abstract class AbstractModelProxy implements IModelProxy {
private IPresentationContext fContext;
+ private Viewer fViewer;
+ private boolean fDisposed = false;
private ListenerList fListeners = new ListenerList();
@@ -79,7 +86,7 @@ public abstract class AbstractModelProxy implements IModelProxy {
}
public void run() throws Exception {
- listener.modelChanged(delta);
+ listener.modelChanged(delta, AbstractModelProxy.this);
}
};
@@ -91,7 +98,9 @@ public abstract class AbstractModelProxy implements IModelProxy {
* @see org.eclipse.debug.internal.ui.viewers.IModelProxy#dispose()
*/
public synchronized void dispose() {
+ fDisposed = true;
fContext = null;
+ fViewer = null;
}
/* (non-Javadoc)
@@ -112,14 +121,29 @@ public abstract class AbstractModelProxy implements IModelProxy {
}
/* (non-Javadoc)
+ *
* Subclasses should override as required.
*
- * @see org.eclipse.debug.internal.ui.viewers.IModelProxy#installed()
+ * @see org.eclipse.debug.internal.ui.viewers.provisional.IModelProxy#installed(org.eclipse.jface.viewers.Viewer)
*/
- public void installed() {
+ public void installed(Viewer viewer) {
+ fViewer = viewer;
}
+ /**
+ * Returns the viewer this proxy is installed in.
+ *
+ * @return viewer or <code>null</code> if not installed
+ */
+ protected Viewer getViewer() {
+ return fViewer;
+ }
-
+ /* (non-Javadoc)
+ * @see org.eclipse.debug.internal.ui.viewers.model.provisional.IModelProxy#isDisposed()
+ */
+ public synchronized boolean isDisposed() {
+ return fDisposed;
+ }
}

Back to the top