mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
[247559] [traditional memory] Padding preference should be respected
This commit is contained in:
parent
2ad6225eb4
commit
d099bf7482
2 changed files with 46 additions and 6 deletions
|
@ -1,5 +1,5 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2006-2007 Wind River Systems, Inc. and others.
|
||||
* Copyright (c) 2006-2008 Wind River Systems, Inc. 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
|
||||
|
@ -140,6 +140,8 @@ public class Rendering extends Composite implements IDebugEventSetListener
|
|||
|
||||
private int fPaneSpacing = 16;
|
||||
|
||||
private String fPaddingString = "?"; //$NON-NLS-1$
|
||||
|
||||
// flag whether the memory cache is dirty
|
||||
private boolean fCacheDirty = false;
|
||||
|
||||
|
@ -514,6 +516,18 @@ public class Rendering extends Composite implements IDebugEventSetListener
|
|||
layout(true);
|
||||
}
|
||||
|
||||
public void setPaddingString(String padding)
|
||||
{
|
||||
fPaddingString = padding;
|
||||
|
||||
refresh();
|
||||
}
|
||||
|
||||
public char getPaddingCharacter()
|
||||
{
|
||||
return fPaddingString.charAt(0); // use only the first character
|
||||
}
|
||||
|
||||
static int suspendCount = 0;
|
||||
|
||||
public void handleDebugEvents(DebugEvent[] events)
|
||||
|
@ -1933,7 +1947,7 @@ public class Rendering extends Composite implements IDebugEventSetListener
|
|||
|
||||
StringBuffer errorText = new StringBuffer();
|
||||
for(int i = getRadixCharacterCount(radix, bytes.length); i > 0; i--)
|
||||
errorText.append('?');
|
||||
errorText.append(getPaddingCharacter());
|
||||
|
||||
return errorText.toString();
|
||||
}
|
||||
|
@ -2015,7 +2029,7 @@ public class Rendering extends Composite implements IDebugEventSetListener
|
|||
{
|
||||
StringBuffer errorText = new StringBuffer();
|
||||
for(int i = memoryBytes.length; i > 0; i--)
|
||||
errorText.append('?');
|
||||
errorText.append(getPaddingCharacter());
|
||||
return errorText.toString();
|
||||
}
|
||||
|
||||
|
@ -2077,7 +2091,7 @@ public class Rendering extends Composite implements IDebugEventSetListener
|
|||
// return ?s the length of byte count
|
||||
StringBuffer buf = new StringBuffer();
|
||||
for(int i = 0; i < memoryBytes.length - buf.length(); i++)
|
||||
buf.append('?');
|
||||
buf.append(getPaddingCharacter());
|
||||
return buf.toString();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2006 Wind River Systems, Inc. and others.
|
||||
* Copyright (c) 2006-2008 Wind River Systems, Inc. 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
|
||||
|
@ -20,7 +20,6 @@ import org.eclipse.core.commands.ExecutionException;
|
|||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
import org.eclipse.core.runtime.IStatus;
|
||||
import org.eclipse.core.runtime.Status;
|
||||
import org.eclipse.dd.debug.memory.renderings.traditional.Rendering.Selection;
|
||||
import org.eclipse.debug.core.DebugException;
|
||||
import org.eclipse.debug.core.model.IMemoryBlock;
|
||||
import org.eclipse.debug.core.model.IMemoryBlockExtension;
|
||||
|
@ -31,6 +30,7 @@ import org.eclipse.debug.internal.ui.DebugUIPlugin;
|
|||
import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
|
||||
import org.eclipse.debug.internal.ui.memory.IMemoryBlockConnection;
|
||||
import org.eclipse.debug.internal.ui.views.memory.renderings.GoToAddressAction;
|
||||
import org.eclipse.debug.ui.IDebugUIConstants;
|
||||
import org.eclipse.debug.ui.memory.AbstractMemoryRendering;
|
||||
import org.eclipse.debug.ui.memory.AbstractTableRendering;
|
||||
import org.eclipse.debug.ui.memory.IMemoryRendering;
|
||||
|
@ -156,6 +156,30 @@ public class TraditionalRendering extends AbstractMemoryRendering implements IRe
|
|||
}
|
||||
});
|
||||
|
||||
|
||||
DebugUIPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(
|
||||
new IPropertyChangeListener()
|
||||
{
|
||||
public void propertyChange(PropertyChangeEvent event)
|
||||
{
|
||||
if(event.getProperty().equals(IDebugUIConstants.PREF_PADDED_STR))
|
||||
{
|
||||
if(TraditionalRendering.this.fRendering != null)
|
||||
{
|
||||
setRenderingPadding((String) event.getNewValue());
|
||||
TraditionalRendering.this.fRendering.redrawPanes();
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
private void setRenderingPadding(String padding)
|
||||
{
|
||||
if(padding == null || padding.length() == 0)
|
||||
padding = "?";
|
||||
TraditionalRendering.this.fRendering.setPaddingString(padding);
|
||||
}
|
||||
|
||||
protected void logError(String message, Exception e)
|
||||
|
@ -442,6 +466,8 @@ public class TraditionalRendering extends AbstractMemoryRendering implements IRe
|
|||
for(int i = 0; i < panes.length; i++)
|
||||
panes[i].setBackground(getColorBackground());
|
||||
|
||||
setRenderingPadding(DebugUIPlugin.getDefault().getPreferenceStore().getString(IDebugUIConstants.PREF_PADDED_STR));
|
||||
|
||||
fRendering.redrawPanes();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue