mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
Added the 'Auto-Refresh by default' and 'Show ASCII by default' preferences to the 'Memory Views' preference page.
This commit is contained in:
parent
40e68a1ff3
commit
4b32ececa8
5 changed files with 48 additions and 13 deletions
|
@ -1,3 +1,11 @@
|
||||||
|
2002-11-13 Mikhail Khodjaiants
|
||||||
|
Added the 'Auto-Refresh by default' and 'Show ASCII by default' preferences
|
||||||
|
to the 'Memory Views' preference page.
|
||||||
|
* ICDebugPreferenceConstants.java
|
||||||
|
* MemoryViewPreferencePage.java
|
||||||
|
* MemoryControlArea.java
|
||||||
|
* MemoryView.java
|
||||||
|
|
||||||
2002-11-11 Mikhail Khodjaiants
|
2002-11-11 Mikhail Khodjaiants
|
||||||
Fix for PR 25988: The 'Padding Character' preference of the Memory view doesn't work.
|
Fix for PR 25988: The 'Padding Character' preference of the Memory view doesn't work.
|
||||||
* MemoryControlArea.java
|
* MemoryControlArea.java
|
||||||
|
|
|
@ -26,6 +26,13 @@ import org.eclipse.swt.widgets.Display;
|
||||||
*/
|
*/
|
||||||
public interface ICDebugPreferenceConstants
|
public interface ICDebugPreferenceConstants
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* Boolean preference controlling whether the debugger shows
|
||||||
|
* full paths. When <code>true</code> the debugger
|
||||||
|
* will show full paths in newly opened views.
|
||||||
|
*/
|
||||||
|
public static final String PREF_SHOW_FULL_PATHS = ICDebugUIConstants.PLUGIN_ID + "cDebug.show_full_paths";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The RGB for the color to be used to indicate changed registers
|
* The RGB for the color to be used to indicate changed registers
|
||||||
*/
|
*/
|
||||||
|
@ -47,7 +54,6 @@ public interface ICDebugPreferenceConstants
|
||||||
public static final String PREF_MEMORY_SIZE = "Memory.Size";
|
public static final String PREF_MEMORY_SIZE = "Memory.Size";
|
||||||
public static final String PREF_MEMORY_FORMAT = "Memory.Format";
|
public static final String PREF_MEMORY_FORMAT = "Memory.Format";
|
||||||
public static final String PREF_MEMORY_BYTES_PER_ROW = "Memory.BytesPerRow";
|
public static final String PREF_MEMORY_BYTES_PER_ROW = "Memory.BytesPerRow";
|
||||||
public static final String PREF_MEMORY_DISPLAY_ASCII = "Memory.DisplayASCII";
|
|
||||||
public static final String PREF_MEMORY_PADDING_CHAR = "Memory.PaddingChar";
|
public static final String PREF_MEMORY_PADDING_CHAR = "Memory.PaddingChar";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -93,9 +99,15 @@ public interface ICDebugPreferenceConstants
|
||||||
public static final String PREF_SHOW_CHAR_VALUES = ICDebugUIConstants.PLUGIN_ID + "cDebug.showCharValues"; //$NON-NLS-1$
|
public static final String PREF_SHOW_CHAR_VALUES = ICDebugUIConstants.PLUGIN_ID + "cDebug.showCharValues"; //$NON-NLS-1$
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Boolean preference controlling whether the debugger shows
|
* Boolean preference controlling whether the memory view shows ASCII characters.
|
||||||
* full paths. When <code>true</code> the debugger
|
* When <code>true</code> the memory view will show ASCII characters by default.
|
||||||
* will show full paths in newly opened views.
|
|
||||||
*/
|
*/
|
||||||
public static final String PREF_SHOW_FULL_PATHS = ICDebugUIConstants.PLUGIN_ID + "cDebug.show_full_paths"; //$NON-NLS-1$
|
public static final String PREF_MEMORY_SHOW_ASCII = ICDebugUIConstants.PLUGIN_ID + "Memory.show_ascii"; //$NON-NLS-1$
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Boolean preference controlling whether the memory view will be refreshed
|
||||||
|
* every time when the execution of program stops.
|
||||||
|
* When <code>true</code> the 'Auto-Refresh' option will be checked.
|
||||||
|
*/
|
||||||
|
public static final String PREF_MEMORY_AUTO_REFRESH = ICDebugUIConstants.PLUGIN_ID + "Memory.auto_refresh"; //$NON-NLS-1$
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,6 +7,7 @@ package org.eclipse.cdt.debug.internal.ui.preferences;
|
||||||
|
|
||||||
import org.eclipse.cdt.debug.internal.ui.ICDebugHelpContextIds;
|
import org.eclipse.cdt.debug.internal.ui.ICDebugHelpContextIds;
|
||||||
import org.eclipse.cdt.debug.ui.CDebugUIPlugin;
|
import org.eclipse.cdt.debug.ui.CDebugUIPlugin;
|
||||||
|
import org.eclipse.jface.preference.BooleanFieldEditor;
|
||||||
import org.eclipse.jface.preference.ColorFieldEditor;
|
import org.eclipse.jface.preference.ColorFieldEditor;
|
||||||
import org.eclipse.jface.preference.FieldEditorPreferencePage;
|
import org.eclipse.jface.preference.FieldEditorPreferencePage;
|
||||||
import org.eclipse.jface.preference.FontFieldEditor;
|
import org.eclipse.jface.preference.FontFieldEditor;
|
||||||
|
@ -96,10 +97,11 @@ public class MemoryViewPreferencePage extends FieldEditorPreferencePage
|
||||||
// addField( dirty );
|
// addField( dirty );
|
||||||
addField( font );
|
addField( font );
|
||||||
|
|
||||||
// StringFieldEditor paddingChar = new StringFieldEditor( ICDebugPreferenceConstants.PREF_MEMORY_PADDING_CHAR, "Padding Character:", 1, getFieldEditorParent() );
|
|
||||||
StringFieldEditor paddingChar = createPaddingCharacterField();
|
StringFieldEditor paddingChar = createPaddingCharacterField();
|
||||||
paddingChar.setTextLimit( 1 );
|
paddingChar.setTextLimit( 1 );
|
||||||
addField( paddingChar );
|
addField( paddingChar );
|
||||||
|
createSpacer( getFieldEditorParent(), 1 );
|
||||||
|
createDefaultSettingsFields();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
|
@ -120,6 +122,8 @@ public class MemoryViewPreferencePage extends FieldEditorPreferencePage
|
||||||
public static void initDefaults( IPreferenceStore store )
|
public static void initDefaults( IPreferenceStore store )
|
||||||
{
|
{
|
||||||
store.setDefault( ICDebugPreferenceConstants.PREF_MEMORY_PADDING_CHAR, ICDebugPreferenceConstants.DEFAULT_MEMORY_PADDING_CHAR );
|
store.setDefault( ICDebugPreferenceConstants.PREF_MEMORY_PADDING_CHAR, ICDebugPreferenceConstants.DEFAULT_MEMORY_PADDING_CHAR );
|
||||||
|
store.setDefault( ICDebugPreferenceConstants.PREF_MEMORY_AUTO_REFRESH, true );
|
||||||
|
store.setDefault( ICDebugPreferenceConstants.PREF_MEMORY_SHOW_ASCII, true );
|
||||||
PreferenceConverter.setDefault( store, ICDebugPreferenceConstants.MEMORY_FONT, ICDebugPreferenceConstants.DEFAULT_MEMORY_FONT );
|
PreferenceConverter.setDefault( store, ICDebugPreferenceConstants.MEMORY_FONT, ICDebugPreferenceConstants.DEFAULT_MEMORY_FONT );
|
||||||
PreferenceConverter.setDefault( store, ICDebugPreferenceConstants.MEMORY_FOREGROUND_RGB, ICDebugPreferenceConstants.DEFAULT_MEMORY_FOREGROUND_RGB );
|
PreferenceConverter.setDefault( store, ICDebugPreferenceConstants.MEMORY_FOREGROUND_RGB, ICDebugPreferenceConstants.DEFAULT_MEMORY_FOREGROUND_RGB );
|
||||||
PreferenceConverter.setDefault( store, ICDebugPreferenceConstants.MEMORY_BACKGROUND_RGB, ICDebugPreferenceConstants.DEFAULT_MEMORY_BACKGROUND_RGB );
|
PreferenceConverter.setDefault( store, ICDebugPreferenceConstants.MEMORY_BACKGROUND_RGB, ICDebugPreferenceConstants.DEFAULT_MEMORY_BACKGROUND_RGB );
|
||||||
|
@ -148,4 +152,10 @@ public class MemoryViewPreferencePage extends FieldEditorPreferencePage
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void createDefaultSettingsFields()
|
||||||
|
{
|
||||||
|
addField( new BooleanFieldEditor( ICDebugPreferenceConstants.PREF_MEMORY_AUTO_REFRESH, "Auto-Refresh by default", SWT.NONE, getFieldEditorParent() ) );
|
||||||
|
addField( new BooleanFieldEditor( ICDebugPreferenceConstants.PREF_MEMORY_SHOW_ASCII, "Show ASCII by default", SWT.NONE, getFieldEditorParent() ) );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,7 +13,6 @@ import org.eclipse.cdt.debug.internal.ui.preferences.ICDebugPreferenceConstants;
|
||||||
import org.eclipse.cdt.debug.ui.CDebugUIPlugin;
|
import org.eclipse.cdt.debug.ui.CDebugUIPlugin;
|
||||||
import org.eclipse.debug.core.DebugException;
|
import org.eclipse.debug.core.DebugException;
|
||||||
import org.eclipse.debug.core.model.IDebugTarget;
|
import org.eclipse.debug.core.model.IDebugTarget;
|
||||||
import org.eclipse.jface.preference.IPreferenceStore;
|
|
||||||
import org.eclipse.jface.util.PropertyChangeEvent;
|
import org.eclipse.jface.util.PropertyChangeEvent;
|
||||||
import org.eclipse.swt.SWT;
|
import org.eclipse.swt.SWT;
|
||||||
import org.eclipse.swt.custom.CTabFolder;
|
import org.eclipse.swt.custom.CTabFolder;
|
||||||
|
@ -69,14 +68,18 @@ public class MemoryControlArea extends Composite
|
||||||
fPresentation = createPresentation();
|
fPresentation = createPresentation();
|
||||||
fAddressText = createAddressText( this );
|
fAddressText = createAddressText( this );
|
||||||
fMemoryText = createMemoryText( this, style, fPresentation );
|
fMemoryText = createMemoryText( this, style, fPresentation );
|
||||||
|
setDefaultPreferences();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setDefaultPreferences()
|
||||||
|
{
|
||||||
|
char[] paddingCharStr = CDebugUIPlugin.getDefault().getPreferenceStore().getString( ICDebugPreferenceConstants.PREF_MEMORY_PADDING_CHAR ).toCharArray();
|
||||||
|
setPaddingChar( ( paddingCharStr.length > 0 ) ? paddingCharStr[0] : '.' );
|
||||||
|
fPresentation.setDisplayAscii( CDebugUIPlugin.getDefault().getPreferenceStore().getBoolean( ICDebugPreferenceConstants.PREF_MEMORY_SHOW_ASCII ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
private MemoryPresentation createPresentation()
|
private MemoryPresentation createPresentation()
|
||||||
{
|
{
|
||||||
IPreferenceStore pstore = CDebugUIPlugin.getDefault().getPreferenceStore();
|
|
||||||
char[] paddingCharStr = pstore.getString( ICDebugPreferenceConstants.PREF_MEMORY_PADDING_CHAR ).toCharArray();
|
|
||||||
setPaddingChar( ( paddingCharStr.length > 0 ) ? paddingCharStr[0] : '.' );
|
|
||||||
|
|
||||||
return new MemoryPresentation();
|
return new MemoryPresentation();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -250,6 +253,7 @@ public class MemoryControlArea extends Composite
|
||||||
getNumberOfRows(),
|
getNumberOfRows(),
|
||||||
getNumberOfColumns(),
|
getNumberOfColumns(),
|
||||||
getPaddingChar() ) );
|
getPaddingChar() ) );
|
||||||
|
getMemoryBlock().setFrozen( !CDebugUIPlugin.getDefault().getPreferenceStore().getBoolean( ICDebugPreferenceConstants.PREF_MEMORY_AUTO_REFRESH ) );
|
||||||
getPresentation().setMemoryBlock( getMemoryBlock() );
|
getPresentation().setMemoryBlock( getMemoryBlock() );
|
||||||
}
|
}
|
||||||
setMemoryTextState();
|
setMemoryTextState();
|
||||||
|
|
|
@ -17,6 +17,7 @@ import org.eclipse.cdt.debug.internal.ui.actions.MemorySizeAction;
|
||||||
import org.eclipse.cdt.debug.internal.ui.actions.RefreshMemoryAction;
|
import org.eclipse.cdt.debug.internal.ui.actions.RefreshMemoryAction;
|
||||||
import org.eclipse.cdt.debug.internal.ui.actions.SaveMemoryChangesAction;
|
import org.eclipse.cdt.debug.internal.ui.actions.SaveMemoryChangesAction;
|
||||||
import org.eclipse.cdt.debug.internal.ui.actions.ShowAsciiAction;
|
import org.eclipse.cdt.debug.internal.ui.actions.ShowAsciiAction;
|
||||||
|
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.AbstractDebugEventHandler;
|
||||||
import org.eclipse.cdt.debug.internal.ui.views.AbstractDebugEventHandlerView;
|
import org.eclipse.cdt.debug.internal.ui.views.AbstractDebugEventHandlerView;
|
||||||
import org.eclipse.cdt.debug.internal.ui.views.IDebugExceptionHandler;
|
import org.eclipse.cdt.debug.internal.ui.views.IDebugExceptionHandler;
|
||||||
|
@ -90,7 +91,7 @@ public class MemoryView extends AbstractDebugEventHandlerView
|
||||||
|
|
||||||
action = new AutoRefreshMemoryAction( (MemoryViewer)getViewer() );
|
action = new AutoRefreshMemoryAction( (MemoryViewer)getViewer() );
|
||||||
action.setEnabled( false );
|
action.setEnabled( false );
|
||||||
action.setChecked( false );
|
action.setChecked( CDebugUIPlugin.getDefault().getPreferenceStore().getBoolean( ICDebugPreferenceConstants.PREF_MEMORY_AUTO_REFRESH ) );
|
||||||
setAction( "AutoRefreshMemory", action ); //$NON-NLS-1$
|
setAction( "AutoRefreshMemory", action ); //$NON-NLS-1$
|
||||||
add( (AutoRefreshMemoryAction)action );
|
add( (AutoRefreshMemoryAction)action );
|
||||||
|
|
||||||
|
@ -106,7 +107,7 @@ public class MemoryView extends AbstractDebugEventHandlerView
|
||||||
|
|
||||||
action = new ShowAsciiAction( (MemoryViewer)getViewer() );
|
action = new ShowAsciiAction( (MemoryViewer)getViewer() );
|
||||||
action.setEnabled( false );
|
action.setEnabled( false );
|
||||||
action.setChecked( false );
|
action.setChecked( CDebugUIPlugin.getDefault().getPreferenceStore().getBoolean( ICDebugPreferenceConstants.PREF_MEMORY_SHOW_ASCII ) );
|
||||||
setAction( "ShowAscii", action ); //$NON-NLS-1$
|
setAction( "ShowAscii", action ); //$NON-NLS-1$
|
||||||
add( (ShowAsciiAction)action );
|
add( (ShowAsciiAction)action );
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue