diff options
author | David Inglis | 2002-08-15 14:41:41 +0000 |
---|---|---|
committer | David Inglis | 2002-08-15 14:41:41 +0000 |
commit | 54f5b7dadf4722ddc10bb5f227dae5b2a5ae03e4 (patch) | |
tree | 3d1a8e489f3af3b106b7a86000c10cff2c57e950 /debug/org.eclipse.cdt.debug.ui | |
parent | 2fdab4e038034b05e16b45c427063c902c1feda3 (diff) | |
download | org.eclipse.cdt-54f5b7dadf4722ddc10bb5f227dae5b2a5ae03e4.tar.gz org.eclipse.cdt-54f5b7dadf4722ddc10bb5f227dae5b2a5ae03e4.tar.xz org.eclipse.cdt-54f5b7dadf4722ddc10bb5f227dae5b2a5ae03e4.zip |
new debugger configuartion page extension
move UIPlugin out of internal
Diffstat (limited to 'debug/org.eclipse.cdt.debug.ui')
10 files changed, 61 insertions, 9 deletions
diff --git a/debug/org.eclipse.cdt.debug.ui/plugin.properties b/debug/org.eclipse.cdt.debug.ui/plugin.properties index aa654b4164c..2063975fc82 100644 --- a/debug/org.eclipse.cdt.debug.ui/plugin.properties +++ b/debug/org.eclipse.cdt.debug.ui/plugin.properties @@ -9,3 +9,4 @@ RegistersView.name=Registers MemoryView.name=Memory MemoryPreferencePage.name=Memory Views +CDebuggerPage.name=C Debugger UI Page
\ No newline at end of file diff --git a/debug/org.eclipse.cdt.debug.ui/plugin.xml b/debug/org.eclipse.cdt.debug.ui/plugin.xml index 21a1bd4a506..e75cd90ed3d 100644 --- a/debug/org.eclipse.cdt.debug.ui/plugin.xml +++ b/debug/org.eclipse.cdt.debug.ui/plugin.xml @@ -4,7 +4,7 @@ name="%pluginName" version="1.0.0" provider-name="" - class="org.eclipse.cdt.debug.internal.ui.CDebugUIPlugin"> + class="org.eclipse.cdt.debug.ui.CDebugUIPlugin"> <runtime> <library name="cdebugui.jar"/> @@ -18,6 +18,8 @@ </requires> + <extension-point id="CDebuggerPage" name="%CDebuggerPage"/> + <!-- Extensions --> <extension point="org.eclipse.debug.ui.debugModelPresentations"> diff --git a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/preferences/MemoryViewPreferencePage.java b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/preferences/MemoryViewPreferencePage.java index c90e8fdeb19..c5fbc8b671c 100644 --- a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/preferences/MemoryViewPreferencePage.java +++ b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/preferences/MemoryViewPreferencePage.java @@ -5,8 +5,8 @@ */ package org.eclipse.cdt.debug.internal.ui.preferences; -import org.eclipse.cdt.debug.internal.ui.CDebugUIPlugin; import org.eclipse.cdt.debug.internal.ui.ICDebugHelpContextIds; +import org.eclipse.cdt.debug.ui.CDebugUIPlugin; import org.eclipse.jface.preference.BooleanFieldEditor; import org.eclipse.jface.preference.ColorFieldEditor; import org.eclipse.jface.preference.FieldEditorPreferencePage; diff --git a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/memory/MemoryControlArea.java b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/memory/MemoryControlArea.java index db12afd6027..9bb255c0d9f 100644 --- a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/memory/MemoryControlArea.java +++ b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/memory/MemoryControlArea.java @@ -8,8 +8,8 @@ package org.eclipse.cdt.debug.internal.ui.views.memory; import org.eclipse.cdt.debug.core.IFormattedMemoryBlock; import org.eclipse.cdt.debug.core.IFormattedMemoryRetrieval; -import org.eclipse.cdt.debug.internal.ui.CDebugUIPlugin; import org.eclipse.cdt.debug.internal.ui.preferences.ICDebugPreferenceConstants; +import org.eclipse.cdt.debug.ui.CDebugUIPlugin; import org.eclipse.debug.core.model.IMemoryBlockRetrieval; import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.util.PropertyChangeEvent; diff --git a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/memory/MemoryText.java b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/memory/MemoryText.java index 272966b4b9f..a7d1f13268b 100644 --- a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/memory/MemoryText.java +++ b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/memory/MemoryText.java @@ -9,8 +9,8 @@ package org.eclipse.cdt.debug.internal.ui.views.memory; import java.util.LinkedList; import java.util.List; -import org.eclipse.cdt.debug.internal.ui.CDebugUIPlugin; import org.eclipse.cdt.debug.internal.ui.preferences.ICDebugPreferenceConstants; +import org.eclipse.cdt.debug.ui.CDebugUIPlugin; import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.preference.PreferenceConverter; import org.eclipse.swt.SWT; diff --git a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/memory/MemoryView.java b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/memory/MemoryView.java index da8c859f4cb..66be3a1636a 100644 --- a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/memory/MemoryView.java +++ b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/memory/MemoryView.java @@ -5,11 +5,11 @@ */ package org.eclipse.cdt.debug.internal.ui.views.memory; -import org.eclipse.cdt.debug.internal.ui.CDebugUIPlugin; import org.eclipse.cdt.debug.internal.ui.ICDebugHelpContextIds; import org.eclipse.cdt.debug.internal.ui.views.AbstractDebugEventHandler; import org.eclipse.cdt.debug.internal.ui.views.AbstractDebugEventHandlerView; import org.eclipse.cdt.debug.internal.ui.views.IDebugExceptionHandler; +import org.eclipse.cdt.debug.ui.CDebugUIPlugin; import org.eclipse.cdt.debug.ui.ICDebugUIConstants; import org.eclipse.debug.core.DebugException; import org.eclipse.debug.core.model.IDebugElement; diff --git a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/registers/RegistersView.java b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/registers/RegistersView.java index be862e7d7e5..5eb8a8d4717 100644 --- a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/registers/RegistersView.java +++ b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/registers/RegistersView.java @@ -9,12 +9,12 @@ package org.eclipse.cdt.debug.internal.ui.views.registers; import java.util.ArrayList; import java.util.List; -import org.eclipse.cdt.debug.internal.ui.CDebugUIPlugin; import org.eclipse.cdt.debug.internal.ui.ICDebugHelpContextIds; import org.eclipse.cdt.debug.internal.ui.preferences.ICDebugPreferenceConstants; import org.eclipse.cdt.debug.internal.ui.views.AbstractDebugEventHandler; import org.eclipse.cdt.debug.internal.ui.views.AbstractDebugEventHandlerView; import org.eclipse.cdt.debug.internal.ui.views.IDebugExceptionHandler; +import org.eclipse.cdt.debug.ui.CDebugUIPlugin; import org.eclipse.cdt.debug.ui.ICDebugUIConstants; import org.eclipse.debug.core.DebugException; import org.eclipse.debug.internal.ui.DelegatingModelPresentation; diff --git a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/registers/RegistersViewer.java b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/registers/RegistersViewer.java index e75999d8557..de3e6aa2c30 100644 --- a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/registers/RegistersViewer.java +++ b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/registers/RegistersViewer.java @@ -5,8 +5,8 @@ */ package org.eclipse.cdt.debug.internal.ui.views.registers; -import org.eclipse.cdt.debug.internal.ui.CDebugUIPlugin; import org.eclipse.cdt.debug.internal.ui.preferences.ICDebugPreferenceConstants; +import org.eclipse.cdt.debug.ui.CDebugUIPlugin; import org.eclipse.debug.core.DebugException; import org.eclipse.debug.core.model.IVariable; import org.eclipse.debug.internal.ui.DebugUIPlugin; diff --git a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/CDebugUIPlugin.java b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/ui/CDebugUIPlugin.java index d265c25b4b1..3e6292dbebd 100644 --- a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/CDebugUIPlugin.java +++ b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/ui/CDebugUIPlugin.java @@ -1,14 +1,25 @@ -package org.eclipse.cdt.debug.internal.ui; +package org.eclipse.cdt.debug.ui; +import java.util.HashMap; +import java.util.Map; import java.util.MissingResourceException; import java.util.ResourceBundle; import org.eclipse.cdt.debug.core.IFormattedMemoryBlock; import org.eclipse.cdt.debug.core.IFormattedMemoryRetrieval; +import org.eclipse.cdt.debug.internal.ui.CDTDebugModelPresentation; +import org.eclipse.cdt.debug.internal.ui.ColorManager; import org.eclipse.cdt.debug.internal.ui.preferences.MemoryViewPreferencePage; import org.eclipse.core.resources.IWorkspace; import org.eclipse.core.resources.ResourcesPlugin; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IConfigurationElement; +import org.eclipse.core.runtime.IExtensionPoint; import org.eclipse.core.runtime.IPluginDescriptor; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Status; +import org.eclipse.debug.internal.ui.DebugUIMessages; +import org.eclipse.debug.ui.ILaunchConfigurationTab; import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.preference.PreferenceConverter; import org.eclipse.swt.graphics.Color; @@ -24,6 +35,7 @@ public class CDebugUIPlugin extends AbstractUIPlugin //Resource bundle. private ResourceBundle resourceBundle; + protected Map fDebuggerPageMap; /** * The constructor. */ @@ -143,4 +155,41 @@ public class CDebugUIPlugin extends AbstractUIPlugin { return new IFormattedMemoryBlock[0]; } + + /** + * Logs the specified status with this plug-in's log. + * + * @param status status to log + */ + public static void log(IStatus status) { + getDefault().getLog().log(status); + } + + public ILaunchConfigurationTab getDebuggerPage(String debuggerID) { + if (fDebuggerPageMap == null) { + initializeDebuggerPageMap(); + } + IConfigurationElement configElement = (IConfigurationElement) fDebuggerPageMap.get(debuggerID); + ILaunchConfigurationTab tab = null; + if (configElement != null) { + try { + tab = (ILaunchConfigurationTab) configElement.createExecutableExtension("class"); //$NON-NLS-1$ + } catch(CoreException ce) { + log(new Status(Status.ERROR, getUniqueIdentifier(), 100, "An error occurred retrieving a C Debugger page", ce)); + } + } + return tab; + } + + protected void initializeDebuggerPageMap() { + fDebuggerPageMap = new HashMap(10); + + IPluginDescriptor descriptor= getDefault().getDescriptor(); + IExtensionPoint extensionPoint= descriptor.getExtensionPoint("CDebuggerPage"); + IConfigurationElement[] infos= extensionPoint.getConfigurationElements(); + for (int i = 0; i < infos.length; i++) { + String id = infos[i].getAttribute("debuggerID"); //$NON-NLS-1$ + fDebuggerPageMap.put(id, infos[i]); + } + } } diff --git a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/ui/ICDebugUIConstants.java b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/ui/ICDebugUIConstants.java index 97dd52d26a6..1d566e649c1 100644 --- a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/ui/ICDebugUIConstants.java +++ b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/ui/ICDebugUIConstants.java @@ -6,7 +6,7 @@ package org.eclipse.cdt.debug.ui; -import org.eclipse.cdt.debug.internal.ui.CDebugUIPlugin; + /** * |