[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[cdt-patch] Fix for PR 25988
|
Fix for PR 25988: The 'Padding Character' preference of the Memory view
doesn't work.
Index: ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.debug.ui/ChangeLog,v
retrieving revision 1.28
diff -u -r1.28 ChangeLog
--- ChangeLog 5 Nov 2002 20:26:57 -0000 1.28
+++ ChangeLog 11 Nov 2002 20:13:07 -0000
@@ -1,3 +1,8 @@
+2002-11-11 Mikhail Khodjaiants
+ Fix for PR 25988: The 'Padding Character' preference of the Memory view
doesn't work.
+ * MemoryControlArea.java
+ * MemoryViewPreferencePage.java
+
2002-11-05 Mikhail Khodjaiants
Implementation of the "Add Global Variables" action of the Expressions view.
Action images:
Index:
src/org/eclipse/cdt/debug/internal/ui/preferences/MemoryViewPreferencePage.java
===================================================================
RCS file:
/home/tools/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/preferences/MemoryViewPreferencePage.java,v
retrieving revision 1.4
diff -u -r1.4 MemoryViewPreferencePage.java
---
src/org/eclipse/cdt/debug/internal/ui/preferences/MemoryViewPreferencePage.java
31 Oct 2002 23:29:27 -0000 1.4
+++
src/org/eclipse/cdt/debug/internal/ui/preferences/MemoryViewPreferencePage.java
11 Nov 2002 20:13:07 -0000
@@ -96,7 +96,8 @@
// addField( dirty );
addField( font );
- StringFieldEditor paddingChar = new StringFieldEditor(
ICDebugPreferenceConstants.PREF_MEMORY_PADDING_CHAR, "Padding Character:", 1,
getFieldEditorParent() );
+// StringFieldEditor paddingChar = new StringFieldEditor(
ICDebugPreferenceConstants.PREF_MEMORY_PADDING_CHAR, "Padding Character:", 1,
getFieldEditorParent() );
+ StringFieldEditor paddingChar = createPaddingCharacterField();
paddingChar.setTextLimit( 1 );
addField( paddingChar );
}
@@ -135,5 +136,16 @@
boolean ok = super.performOk();
CDebugUIPlugin.getDefault().savePluginPreferences();
return ok;
+ }
+
+ private StringFieldEditor createPaddingCharacterField()
+ {
+ return new StringFieldEditor(
ICDebugPreferenceConstants.PREF_MEMORY_PADDING_CHAR, "Padding Character:", 1,
getFieldEditorParent() )
+ {
+ protected boolean doCheckState()
+ {
+ return ( getTextControl().getText().length() == 1 );
+ }
+ };
}
}
Index:
src/org/eclipse/cdt/debug/internal/ui/views/memory/MemoryControlArea.java
===================================================================
RCS file:
/home/tools/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/memory/MemoryControlArea.java,v
retrieving revision 1.13
diff -u -r1.13 MemoryControlArea.java
--- src/org/eclipse/cdt/debug/internal/ui/views/memory/MemoryControlArea.java
30 Oct 2002 23:39:31 -0000 1.13
+++ src/org/eclipse/cdt/debug/internal/ui/views/memory/MemoryControlArea.java
11 Nov 2002 20:13:07 -0000
@@ -13,6 +13,7 @@
import org.eclipse.cdt.debug.ui.CDebugUIPlugin;
import org.eclipse.debug.core.DebugException;
import org.eclipse.debug.core.model.IDebugTarget;
+import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CTabFolder;
@@ -72,11 +73,10 @@
private MemoryPresentation createPresentation()
{
-/*
IPreferenceStore pstore = CDebugUIPlugin.getDefault().getPreferenceStore();
char[] paddingCharStr = pstore.getString(
ICDebugPreferenceConstants.PREF_MEMORY_PADDING_CHAR ).toCharArray();
- char paddingChar = ( paddingCharStr.length > 0 ) ? paddingCharStr[0] : '.';
-*/
+ setPaddingChar( ( paddingCharStr.length > 0 ) ? paddingCharStr[0] : '.' );
+
return new MemoryPresentation();
}
@@ -164,10 +164,11 @@
{
fMemoryText.setDirtyColor();
}
- else
+ else if ( event.getProperty().equals(
ICDebugPreferenceConstants.PREF_MEMORY_PADDING_CHAR ) )
{
-// updatePresentation( event );
-// fMemoryText.refresh();
+ String paddingCharString = (String)event.getNewValue();
+ setPaddingChar( ( paddingCharString.length() > 0 ) ?
paddingCharString.charAt( 0 ) : '.' );
+ refresh();
}
}
@@ -307,6 +308,21 @@
public void setPaddingChar( char paddingChar )
{
fPaddingChar = paddingChar;
+ if ( getMemoryBlock() != null )
+ {
+ try
+ {
+ getMemoryBlock().reformat( getMemoryBlock().getFormat(),
+ getMemoryBlock().getWordSize(),
+ getMemoryBlock().getNumberOfRows(),
+ getMemoryBlock().getNumberOfColumns(),
+ fPaddingChar );
+ }
+ catch( DebugException e )
+ {
+ // ignore
+ }
+ }
}
public void setWordSize( int wordSize )