Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDarin Wright2005-03-22 03:36:18 +0000
committerDarin Wright2005-03-22 03:36:18 +0000
commita540c4950295815ccb811085015c6bd38451929f (patch)
treed224c4ed02d5bf5bb86895430dcc99c87ac9eaad
parent2c5203135bb0615abca4bc0cf47f96d282535b51 (diff)
downloadeclipse.platform.debug-a540c4950295815ccb811085015c6bd38451929f.tar.gz
eclipse.platform.debug-a540c4950295815ccb811085015c6bd38451929f.tar.xz
eclipse.platform.debug-a540c4950295815ccb811085015c6bd38451929f.zip
Bug 86390 - [API] Review of "new" memory view
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/MemoryRenderingManager.java53
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/RenderingBindings.java48
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/AbstractMemoryRenderingBindingsProvider.java73
3 files changed, 79 insertions, 95 deletions
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/MemoryRenderingManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/MemoryRenderingManager.java
index f32522ada..9118472ee 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/MemoryRenderingManager.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/MemoryRenderingManager.java
@@ -20,16 +20,15 @@ import java.util.Map;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IConfigurationElement;
import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.ISafeRunnable;
import org.eclipse.core.runtime.Platform;
import org.eclipse.debug.core.model.IMemoryBlock;
import org.eclipse.debug.internal.ui.DebugUIPlugin;
import org.eclipse.debug.ui.IDebugUIConstants;
+import org.eclipse.debug.ui.memory.AbstractMemoryRenderingBindingsProvider;
import org.eclipse.debug.ui.memory.IMemoryRendering;
import org.eclipse.debug.ui.memory.IMemoryRenderingBindingsListener;
import org.eclipse.debug.ui.memory.IMemoryRenderingManager;
import org.eclipse.debug.ui.memory.IMemoryRenderingType;
-import org.eclipse.jface.util.ListenerList;
/**
* The memory rendering manager.
@@ -37,7 +36,7 @@ import org.eclipse.jface.util.ListenerList;
* @see org.eclipse.debug.ui.memory.IMemoryRenderingManager
* @since 3.1
*/
-public class MemoryRenderingManager implements IMemoryRenderingManager {
+public class MemoryRenderingManager extends AbstractMemoryRenderingBindingsProvider implements IMemoryRenderingManager {
// map of rendering type ids to valid rendering types
private Map fRenderingTypes = new HashMap();
@@ -48,9 +47,6 @@ public class MemoryRenderingManager implements IMemoryRenderingManager {
// singleton manager
private static MemoryRenderingManager fgDefault;
- // list of binding listeners
- private ListenerList fListeners;
-
// elements in the memory renderings extension point
public static final String ELEMENT_MEMORY_RENDERING_TYPE = "renderingType"; //$NON-NLS-1$
public static final String ELEMENT_RENDERING_BINDINGS = "renderingBindings"; //$NON-NLS-1$
@@ -176,7 +172,7 @@ public class MemoryRenderingManager implements IMemoryRenderingManager {
fBindings.add(bindings);
bindings.addListener(new IMemoryRenderingBindingsListener() {
public void memoryRenderingBindingsChanged() {
- fireBindingChangedEvent();
+ fireBindingsChanged();
}});
} catch (CoreException e) {
DebugUIPlugin.log(e);
@@ -184,47 +180,4 @@ public class MemoryRenderingManager implements IMemoryRenderingManager {
}
}
}
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.ui.memory.IMemoryRenderingBindingsProvider#addListener(org.eclipse.debug.ui.memory.IMemoryRenderingBindingsListener)
- */
- public void addListener(IMemoryRenderingBindingsListener listener) {
- if (fListeners == null)
- fListeners = new ListenerList();
-
- fListeners.add(listener);
- }
- /* (non-Javadoc)
- * @see org.eclipse.debug.ui.memory.IMemoryRenderingBindingsProvider#removeListener(org.eclipse.debug.ui.memory.IMemoryRenderingBindingsListener)
- */
- public void removeListener(IMemoryRenderingBindingsListener listener) {
- if (fListeners != null)
- {
- fListeners.remove(listener);
- }
- }
-
- private void fireBindingChangedEvent()
- {
- if (fListeners == null)
- return;
-
- Object[] listeners = fListeners.getListeners();
-
- for (int i=0; i<listeners.length; i++)
- {
- if (listeners[i] instanceof IMemoryRenderingBindingsListener)
- {
- final IMemoryRenderingBindingsListener listener = (IMemoryRenderingBindingsListener)listeners[i];
- ISafeRunnable runnable = new ISafeRunnable () {
- public void handleException(Throwable exception) {
- DebugUIPlugin.log(exception);
- }
- public void run() throws Exception {
- listener.memoryRenderingBindingsChanged();
- }};
- Platform.run(runnable);
- }
- }
- }
}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/RenderingBindings.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/RenderingBindings.java
index 20eb197cf..3a4f15b9f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/RenderingBindings.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/RenderingBindings.java
@@ -21,19 +21,17 @@ import org.eclipse.core.expressions.ExpressionTagNames;
import org.eclipse.core.expressions.IEvaluationContext;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.ISafeRunnable;
import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
import org.eclipse.core.runtime.Status;
import org.eclipse.debug.core.model.IMemoryBlock;
import org.eclipse.debug.internal.ui.DebugUIPlugin;
import org.eclipse.debug.ui.DebugUITools;
import org.eclipse.debug.ui.IDebugUIConstants;
+import org.eclipse.debug.ui.memory.AbstractMemoryRenderingBindingsProvider;
import org.eclipse.debug.ui.memory.IMemoryRenderingBindingsListener;
import org.eclipse.debug.ui.memory.IMemoryRenderingBindingsProvider;
import org.eclipse.debug.ui.memory.IMemoryRenderingManager;
import org.eclipse.debug.ui.memory.IMemoryRenderingType;
-import org.eclipse.jface.util.ListenerList;
/**
* Represents a renderingBindings element of a memoryRenderings
@@ -41,7 +39,7 @@ import org.eclipse.jface.util.ListenerList;
*
* @since 3.1
*/
-class RenderingBindings implements IMemoryRenderingBindingsProvider {
+class RenderingBindings extends AbstractMemoryRenderingBindingsProvider implements IMemoryRenderingBindingsProvider {
// element
protected IConfigurationElement fConfigurationElement;
@@ -57,9 +55,6 @@ class RenderingBindings implements IMemoryRenderingBindingsProvider {
// optional exprssion
private Expression fExpression;
- // list of listeners
- private ListenerList fListeners;
-
// element attribute
public static final String ATTR_RENDERING_IDS = "renderingIds"; //$NON-NLS-1$
public static final String ATTR_DEFAULT_IDS = "defaultIds"; //$NON-NLS-1$
@@ -172,7 +167,7 @@ class RenderingBindings implements IMemoryRenderingBindingsProvider {
{
fProvider.addListener(new IMemoryRenderingBindingsListener() {
public void memoryRenderingBindingsChanged() {
- fireBindingChangedEvent();
+ fireBindingsChanged();
}});
}
}
@@ -297,42 +292,5 @@ class RenderingBindings implements IMemoryRenderingBindingsProvider {
private IMemoryRenderingManager getManager() {
return DebugUITools.getMemoryRenderingManager();
}
-
- public void addListener(IMemoryRenderingBindingsListener listener) {
- if (fListeners == null)
- fListeners = new ListenerList();
-
- fListeners.add(listener);
- }
-
- public void removeListener(IMemoryRenderingBindingsListener listener) {
- if (fListeners != null){
- fListeners.remove(listener);
- }
- }
-
- private void fireBindingChangedEvent()
- {
- if (fListeners == null)
- return;
-
- Object[] listeners = fListeners.getListeners();
-
- for (int i=0; i<listeners.length; i++)
- {
- if (listeners[i] instanceof IMemoryRenderingBindingsListener)
- {
- final IMemoryRenderingBindingsListener listener = (IMemoryRenderingBindingsListener)listeners[i];
- ISafeRunnable runnable = new ISafeRunnable () {
- public void handleException(Throwable exception) {
- DebugUIPlugin.log(exception);
- }
- public void run() throws Exception {
- listener.memoryRenderingBindingsChanged();
- }};
- Platform.run(runnable);
- }
- }
- }
}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/AbstractMemoryRenderingBindingsProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/AbstractMemoryRenderingBindingsProvider.java
new file mode 100644
index 000000000..38a417298
--- /dev/null
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/AbstractMemoryRenderingBindingsProvider.java
@@ -0,0 +1,73 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 2005 IBM Corporation 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:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.debug.ui.memory;
+
+import org.eclipse.core.runtime.ISafeRunnable;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.debug.internal.ui.DebugUIPlugin;
+import org.eclipse.jface.util.ListenerList;
+
+/**
+ * Common function for a dynamic memory rendering bindings provider.
+ * <p>
+ * Clients may subclass this class.
+ * </p>
+ * @see org.eclipse.debug.ui.memory.IMemoryRenderingBindingsProvider
+ * @since 3.1
+ */
+public abstract class AbstractMemoryRenderingBindingsProvider implements IMemoryRenderingBindingsProvider {
+
+ // list of binding listeners
+ private ListenerList fListeners;
+
+ /* (non-Javadoc)
+ * @see org.eclipse.debug.ui.memory.IMemoryRenderingBindingsProvider#addListener(org.eclipse.debug.ui.memory.IMemoryRenderingBindingsListener)
+ */
+ public void addListener(IMemoryRenderingBindingsListener listener) {
+ if (fListeners == null) {
+ fListeners = new ListenerList();
+ }
+ fListeners.add(listener);
+ }
+ /* (non-Javadoc)
+ * @see org.eclipse.debug.ui.memory.IMemoryRenderingBindingsProvider#removeListener(org.eclipse.debug.ui.memory.IMemoryRenderingBindingsListener)
+ */
+ public void removeListener(IMemoryRenderingBindingsListener listener) {
+ if (fListeners != null) {
+ fListeners.remove(listener);
+ }
+ }
+
+ /**
+ * Notifies all registered listeners that bindings have changed.
+ */
+ protected void fireBindingsChanged() {
+ if (fListeners == null) {
+ return;
+ }
+
+ Object[] listeners = fListeners.getListeners();
+
+ for (int i=0; i<listeners.length; i++) {
+ if (listeners[i] instanceof IMemoryRenderingBindingsListener) {
+ final IMemoryRenderingBindingsListener listener = (IMemoryRenderingBindingsListener)listeners[i];
+ ISafeRunnable runnable = new ISafeRunnable () {
+ public void handleException(Throwable exception) {
+ DebugUIPlugin.log(exception);
+ }
+ public void run() throws Exception {
+ listener.memoryRenderingBindingsChanged();
+ }};
+ Platform.run(runnable);
+ }
+ }
+ }
+}

Back to the top