From c979cb7ae2ba22c4c4885ed0d6a901da2cb6ed4e Mon Sep 17 00:00:00 2001 From: Mikhail Khodjaiants Date: Fri, 7 Feb 2003 23:38:25 +0000 Subject: [PATCH] Implementing the preference page for the 'Shared Libraries' view. --- debug/org.eclipse.cdt.debug.ui/ChangeLog | 9 ++ .../plugin.properties | 1 + debug/org.eclipse.cdt.debug.ui/plugin.xml | 10 ++- .../internal/ui/ICDebugHelpContextIds.java | 1 + .../ICDebugPreferenceConstants.java | 7 ++ .../SharedLibrariesViewPreferencePage.java | 87 +++++++++++++++++++ .../eclipse/cdt/debug/ui/CDebugUIPlugin.java | 2 + 7 files changed, 115 insertions(+), 2 deletions(-) create mode 100644 debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/preferences/SharedLibrariesViewPreferencePage.java diff --git a/debug/org.eclipse.cdt.debug.ui/ChangeLog b/debug/org.eclipse.cdt.debug.ui/ChangeLog index ec9359112a4..345c2c271c2 100644 --- a/debug/org.eclipse.cdt.debug.ui/ChangeLog +++ b/debug/org.eclipse.cdt.debug.ui/ChangeLog @@ -1,3 +1,12 @@ +2003-02-07 Mikhail Khodjaiants + Implementing the preference page for the 'Shared Libraries' view. + * ICDebugHelpContextIds.java + * ICDebugPreferenceConstants.java + * SharedLibrariesViewPreferencePage.java: new + * CDebugUIPlugin.java + * plugin.xml + * plugin.properties + 2003-02-07 Mikhail Khodjaiants The viewer type of the 'Shared Libraries' view changed to 'TableTreeViewer'. * CDTDebugModelPresentation.java diff --git a/debug/org.eclipse.cdt.debug.ui/plugin.properties b/debug/org.eclipse.cdt.debug.ui/plugin.properties index e0d31abdb37..becb4e630e1 100644 --- a/debug/org.eclipse.cdt.debug.ui/plugin.properties +++ b/debug/org.eclipse.cdt.debug.ui/plugin.properties @@ -15,6 +15,7 @@ CDebuggerPage.name=C Debugger UI Page MemoryPreferencePage.name=Memory View RegistersPreferencePage.name=Registers View CDebugPreferencePage.name=Debug +SharedLibrariesPreferencePage.name=Shared Libraries View RunMenu.label=&Run DebugActionSet.label=C/C++ Debug diff --git a/debug/org.eclipse.cdt.debug.ui/plugin.xml b/debug/org.eclipse.cdt.debug.ui/plugin.xml index 64a5987d07f..085259e37bf 100644 --- a/debug/org.eclipse.cdt.debug.ui/plugin.xml +++ b/debug/org.eclipse.cdt.debug.ui/plugin.xml @@ -94,6 +94,12 @@ + + + value="activated" + id="org.eclipse.cdt.debug.ui"> diff --git a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/ICDebugHelpContextIds.java b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/ICDebugHelpContextIds.java index 8a21fcb7e1e..8e4201b9a51 100644 --- a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/ICDebugHelpContextIds.java +++ b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/ICDebugHelpContextIds.java @@ -38,6 +38,7 @@ public interface ICDebugHelpContextIds public static final String SIGNALS_VIEW = PREFIX + "signals_view_context"; //$NON-NLS-1$ // Preference pages + public static final String SHARED_LIBRARIES_PREFERENCE_PAGE = PREFIX + "shared_libraries_preference_page_context"; //$NON-NLS-1$ public static final String MEMORY_PREFERENCE_PAGE = PREFIX + "memory_preference_page_context"; //$NON-NLS-1$ public static final String REGISTERS_PREFERENCE_PAGE = PREFIX + "registers_preference_page_context"; //$NON-NLS-1$ public static final String C_DEBUG_PREFERENCE_PAGE = PREFIX + "c_debug_preference_page_context"; //$NON-NLS-1$ diff --git a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/preferences/ICDebugPreferenceConstants.java b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/preferences/ICDebugPreferenceConstants.java index 96c77a4faeb..41a4e68aabf 100644 --- a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/preferences/ICDebugPreferenceConstants.java +++ b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/preferences/ICDebugPreferenceConstants.java @@ -110,4 +110,11 @@ public interface ICDebugPreferenceConstants * When true the 'Auto-Refresh' option will be checked. */ public static final String PREF_MEMORY_AUTO_REFRESH = ICDebugUIConstants.PLUGIN_ID + "Memory.auto_refresh"; //$NON-NLS-1$ + + /** + * Boolean preference controlling whether the shared libraries view will be + * refreshed every time when the execution of program stops. When + * true the 'Auto-Refresh' option will be checked. + */ + public static final String PREF_SHARED_LIBRARIES_AUTO_REFRESH = ICDebugUIConstants.PLUGIN_ID + "SharedLibraries.auto_refresh"; //$NON-NLS-1$ } diff --git a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/preferences/SharedLibrariesViewPreferencePage.java b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/preferences/SharedLibrariesViewPreferencePage.java new file mode 100644 index 00000000000..94595f1ab7b --- /dev/null +++ b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/preferences/SharedLibrariesViewPreferencePage.java @@ -0,0 +1,87 @@ +/* + *(c) Copyright QNX Software Systems Ltd. 2002. + * All Rights Reserved. + * + */ +package org.eclipse.cdt.debug.internal.ui.preferences; + +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.FieldEditorPreferencePage; +import org.eclipse.jface.preference.IPreferenceStore; +import org.eclipse.swt.SWT; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Label; +import org.eclipse.ui.IWorkbench; +import org.eclipse.ui.IWorkbenchPreferencePage; +import org.eclipse.ui.help.WorkbenchHelp; + +/** + * Enter type comment. + * + * @since: Feb 7, 2003 + */ +public class SharedLibrariesViewPreferencePage extends FieldEditorPreferencePage + implements IWorkbenchPreferencePage +{ + + /** + * Constructor for SharedLibrariesViewPreferencePage. + * @param style + */ + public SharedLibrariesViewPreferencePage() + { + super( GRID ); + setDescription( "Shared Libraries View Settings." ); + setPreferenceStore( CDebugUIPlugin.getDefault().getPreferenceStore() ); + } + + /* (non-Javadoc) + * @see org.eclipse.jface.preference.FieldEditorPreferencePage#createFieldEditors() + */ + protected void createFieldEditors() + { + addField( new BooleanFieldEditor( ICDebugPreferenceConstants.PREF_SHARED_LIBRARIES_AUTO_REFRESH, "Auto-Refresh by default", getFieldEditorParent() ) ); + } + + /* (non-Javadoc) + * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench) + */ + public void init( IWorkbench workbench ) + { + } + + /* (non-Javadoc) + * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite) + */ + public void createControl(Composite parent) + { + super.createControl( parent ); + WorkbenchHelp.setHelp( parent, ICDebugHelpContextIds.SHARED_LIBRARIES_PREFERENCE_PAGE ); + } + + public static void initDefaults( IPreferenceStore store ) + { + store.setDefault( ICDebugPreferenceConstants.PREF_SHARED_LIBRARIES_AUTO_REFRESH, true ); + } + + protected void createSpacer( Composite composite, int columnSpan ) + { + Label label = new Label( composite, SWT.NONE ); + GridData gd = new GridData(); + gd.horizontalSpan = columnSpan; + label.setLayoutData( gd ); + } + + /* (non-Javadoc) + * @see org.eclipse.jface.preference.IPreferencePage#performOk() + */ + public boolean performOk() + { + boolean ok = super.performOk(); + CDebugUIPlugin.getDefault().savePluginPreferences(); + return ok; + } +} diff --git a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/ui/CDebugUIPlugin.java b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/ui/CDebugUIPlugin.java index 9dc917e7cff..984f7cc1dfe 100644 --- a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/ui/CDebugUIPlugin.java +++ b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/ui/CDebugUIPlugin.java @@ -18,6 +18,7 @@ import org.eclipse.cdt.debug.internal.ui.editors.DisassemblyEditorInput; import org.eclipse.cdt.debug.internal.ui.preferences.CDebugPreferencePage; import org.eclipse.cdt.debug.internal.ui.preferences.MemoryViewPreferencePage; import org.eclipse.cdt.debug.internal.ui.preferences.RegistersViewPreferencePage; +import org.eclipse.cdt.debug.internal.ui.preferences.SharedLibrariesViewPreferencePage; import org.eclipse.core.resources.IStorage; import org.eclipse.core.resources.IWorkspace; import org.eclipse.core.resources.ResourcesPlugin; @@ -166,6 +167,7 @@ public class CDebugUIPlugin extends AbstractUIPlugin { MemoryViewPreferencePage.initDefaults( pstore ); RegistersViewPreferencePage.initDefaults( pstore ); + SharedLibrariesViewPreferencePage.initDefaults( pstore ); CDebugPreferencePage.initDefaults( pstore ); }