Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/MemorySegmentLabelAdapter.java')
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/MemorySegmentLabelAdapter.java124
1 files changed, 62 insertions, 62 deletions
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/MemorySegmentLabelAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/MemorySegmentLabelAdapter.java
index eca235333..d5363430c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/MemorySegmentLabelAdapter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/MemorySegmentLabelAdapter.java
@@ -4,7 +4,7 @@
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
- *
+ *
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
@@ -45,7 +45,7 @@ public class MemorySegmentLabelAdapter extends AsynchronousLabelAdapter {
@Override
protected String[] getLabels(Object element, IPresentationContext context)
throws CoreException {
-
+
if (context instanceof MemoryViewPresentationContext)
{
MemoryViewPresentationContext tableRenderingContext = (MemoryViewPresentationContext)context;
@@ -57,15 +57,15 @@ public class MemorySegmentLabelAdapter extends AsynchronousLabelAdapter {
{
String addressStr = getColumnText(element, 0, tableRendering, descriptor);
int numColumns = tableRendering.getAddressableUnitPerLine() / tableRendering.getAddressableUnitPerColumn();
-
+
String[] labels = new String[numColumns+2];
labels[0] = addressStr;
-
+
for (int i=0; i<=numColumns; i++)
{
labels[i+1] = getColumnText(element, i+1, tableRendering, tableRendering.getAdapter(TableRenderingContentDescriptor.class));
}
-
+
labels[labels.length - 1 ] = IInternalDebugCoreConstants.EMPTY_STRING;
return labels;
}
@@ -73,7 +73,7 @@ public class MemorySegmentLabelAdapter extends AsynchronousLabelAdapter {
}
return new String[0];
}
-
+
private String getColumnText(Object element, int columnIndex, AbstractAsyncTableRendering tableRendering, TableRenderingContentDescriptor descriptor) {
String columnLabel = null;
@@ -86,9 +86,9 @@ public class MemorySegmentLabelAdapter extends AsynchronousLabelAdapter {
if (rowLabel != null)
return rowLabel;
}
-
+
columnLabel = ((MemorySegment)element).getAddress().toString(16).toUpperCase();
-
+
int addressSize = descriptor.getAddressSize();
int prefillLength = addressSize * 2 - columnLabel.length();
StringBuffer buf = new StringBuffer();
@@ -101,21 +101,21 @@ public class MemorySegmentLabelAdapter extends AsynchronousLabelAdapter {
}
buf.append(columnLabel);
return buf.toString();
-
+
}
else if (columnIndex > (tableRendering.getBytesPerLine()/tableRendering.getBytesPerColumn()))
{
columnLabel = " "; //$NON-NLS-1$
}
else
- {
+ {
if (element instanceof MemorySegment)
{
MemorySegment segment = (MemorySegment)element;
if (segment.getBytes().length != tableRendering.getBytesPerLine())
return IInternalDebugCoreConstants.EMPTY_STRING;
}
-
+
ILabelProvider labelProvider = tableRendering.getAdapter(ILabelProvider.class);
if (labelProvider != null && columnIndex > 0)
{
@@ -124,14 +124,14 @@ public class MemorySegmentLabelAdapter extends AsynchronousLabelAdapter {
String label = labelProvider.getText(renderingElement);
if (label != null)
return label;
- }
+ }
}
-
+
int start = (columnIndex-1)*tableRendering.getBytesPerColumn();
MemoryByte[] bytes = ((MemorySegment)element).getBytes(start, tableRendering.getBytesPerColumn());
BigInteger address = ((MemorySegment)element).getAddress();
- address = address.add(BigInteger.valueOf(start));
-
+ address = address.add(BigInteger.valueOf(start));
+
columnLabel = tableRendering.getString(tableRendering.getRenderingId(), address, bytes);
}
return columnLabel;
@@ -147,32 +147,32 @@ public class MemorySegmentLabelAdapter extends AsynchronousLabelAdapter {
{
AbstractAsyncTableRendering tableRendering = (AbstractAsyncTableRendering)tableRenderingContext.getRendering();
int numColumns = tableRendering.getAddressableUnitPerLine() / tableRendering.getAddressableUnitPerColumn();
-
+
ImageDescriptor[] images = new ImageDescriptor[numColumns+2];
-
+
for (int i=0; i<=numColumns; i++)
{
images[i] = getColumnImageDescriptor(element, i, tableRendering);
}
-
+
images[images.length - 1 ] = null;
return images;
}
}
return new ImageDescriptor[0];
}
-
+
private ImageDescriptor getColumnImageDescriptor(Object element, int columnIndex, AbstractAsyncTableRendering tableRendering)
{
if (columnIndex == 0)
- return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_OBJECT_MEMORY);
-
+ return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_OBJECT_MEMORY);
+
if (element instanceof MemorySegment)
{
MemorySegment segment = (MemorySegment)element;
if (segment.getBytes().length != tableRendering.getBytesPerLine())
return null;
-
+
ILabelProvider labelProvider = tableRendering.getAdapter(ILabelProvider.class);
if (labelProvider != null && columnIndex > 0)
{
@@ -183,9 +183,9 @@ public class MemorySegmentLabelAdapter extends AsynchronousLabelAdapter {
{
return DebugElementHelper.getImageDescriptor(image);
}
- }
+ }
}
-
+
int start = (columnIndex-1)*tableRendering.getBytesPerColumn();
MemoryByte[] bytes = ((MemorySegment)element).getBytes(start, tableRendering.getBytesPerColumn());
@@ -195,17 +195,17 @@ public class MemorySegmentLabelAdapter extends AsynchronousLabelAdapter {
{
if (!bytes[i].isHistoryKnown())
allKnown = false;
-
+
if (bytes[i].isChanged())
unchanged = false;
}
-
+
if (allKnown)
{
// mark changed elements with changed icon
if (!unchanged)
return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_OBJECT_MEMORY_CHANGED);
-
+
}
}
return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_OBJECT_MEMORY);
@@ -221,7 +221,7 @@ public class MemorySegmentLabelAdapter extends AsynchronousLabelAdapter {
{
AbstractAsyncTableRendering tableRendering = (AbstractAsyncTableRendering)tableRenderingContext.getRendering();
int numColumns = tableRendering.getAddressableUnitPerLine() / tableRendering.getAddressableUnitPerColumn();
-
+
FontData[] fontData = new FontData[numColumns+2];
for (int i=0; i<fontData.length-1; i++)
@@ -231,18 +231,18 @@ public class MemorySegmentLabelAdapter extends AsynchronousLabelAdapter {
return fontData;
}
}
-
+
return new FontData[0];
}
-
- private FontData getColumnFontData(Object element, int columnIndex, AbstractAsyncTableRendering tableRendering)
+
+ private FontData getColumnFontData(Object element, int columnIndex, AbstractAsyncTableRendering tableRendering)
{
if (element instanceof MemorySegment)
- {
+ {
MemorySegment segment = (MemorySegment)element;
if (segment.getBytes().length != tableRendering.getBytesPerLine())
return null;
-
+
IFontProvider fontProvider = tableRendering.getAdapter(IFontProvider.class);
if (fontProvider != null && columnIndex > 0)
{
@@ -251,7 +251,7 @@ public class MemorySegmentLabelAdapter extends AsynchronousLabelAdapter {
Font font = fontProvider.getFont(renderingElement);
if (font != null)
return font.getFontData()[0];
- }
+ }
}
}
return null;
@@ -260,7 +260,7 @@ public class MemorySegmentLabelAdapter extends AsynchronousLabelAdapter {
@Override
protected RGB[] getForegrounds(Object element, IPresentationContext context)
throws CoreException {
-
+
if (context instanceof MemoryViewPresentationContext)
{
MemoryViewPresentationContext tableRenderingContext = (MemoryViewPresentationContext)context;
@@ -268,34 +268,34 @@ public class MemorySegmentLabelAdapter extends AsynchronousLabelAdapter {
{
AbstractAsyncTableRendering tableRendering = (AbstractAsyncTableRendering)tableRenderingContext.getRendering();
int numColumns = tableRendering.getAddressableUnitPerLine() / tableRendering.getAddressableUnitPerColumn();
-
+
RGB[] colors = new RGB[numColumns+2];
for (int i=0; i<colors.length-1; i++)
{
colors[i] = getColumnForeground(element, i, tableRendering);
}
-
+
colors[colors.length-1] = null;
-
+
return colors;
}
}
return new RGB[0];
}
-
+
private RGB getColumnBackground(Object element, int columnIndex, AbstractAsyncTableRendering tableRendering)
{
if (columnIndex == 0)
return null;
-
+
if (element instanceof MemorySegment)
- {
+ {
MemorySegment segment = (MemorySegment)element;
if (segment.getBytes().length != tableRendering.getBytesPerLine())
return null;
-
+
IColorProvider colorProvider = tableRendering.getAdapter(IColorProvider.class);
if (colorProvider != null && columnIndex > 0)
{
@@ -304,23 +304,23 @@ public class MemorySegmentLabelAdapter extends AsynchronousLabelAdapter {
Color color = colorProvider.getBackground(renderingElement);
if (color != null)
return color.getRGB();
- }
+ }
}
}
return null;
}
-
+
private RGB getColumnForeground(Object element, int columnIndex, AbstractAsyncTableRendering tableRendering)
{
if (columnIndex == 0)
return null;
-
+
if (element instanceof MemorySegment)
- {
+ {
MemorySegment segment = (MemorySegment)element;
if (segment.getBytes().length != tableRendering.getBytesPerLine())
return null;
-
+
IColorProvider colorProvider = tableRendering.getAdapter(IColorProvider.class);
if (colorProvider != null && columnIndex > 0)
{
@@ -329,9 +329,9 @@ public class MemorySegmentLabelAdapter extends AsynchronousLabelAdapter {
Color color = colorProvider.getForeground(renderingElement);
if (color != null)
return color.getRGB();
- }
+ }
}
-
+
int start = (columnIndex-1)*tableRendering.getBytesPerColumn();
MemoryByte[] bytes = segment.getBytes(start, tableRendering.getBytesPerColumn());
boolean allKnown = true;
@@ -340,22 +340,22 @@ public class MemorySegmentLabelAdapter extends AsynchronousLabelAdapter {
{
if (!bytes[i].isHistoryKnown())
allKnown = false;
-
+
if (bytes[i].isChanged())
unchanged = false;
}
-
+
if (allKnown)
{
// mark changed elements in changed color
if (!unchanged)
- return DebugUIPlugin.getPreferenceColor(IDebugUIConstants.PREF_CHANGED_DEBUG_ELEMENT_COLOR).getRGB();
-
+ return DebugUIPlugin.getPreferenceColor(IDebugUIConstants.PREF_CHANGED_DEBUG_ELEMENT_COLOR).getRGB();
+
return DebugUIPlugin.getPreferenceColor(IDebugUIConstants.PREF_MEMORY_HISTORY_KNOWN_COLOR).getRGB();
}
-
+
return DebugUIPlugin.getPreferenceColor(IDebugUIConstants.PREF_MEMORY_HISTORY_UNKNOWN_COLOR).getRGB();
-
+
}
return null;
}
@@ -363,7 +363,7 @@ public class MemorySegmentLabelAdapter extends AsynchronousLabelAdapter {
@Override
protected RGB[] getBackgrounds(Object element, IPresentationContext context)
throws CoreException {
-
+
if (context instanceof MemoryViewPresentationContext)
{
MemoryViewPresentationContext tableRenderingContext = (MemoryViewPresentationContext)context;
@@ -371,27 +371,27 @@ public class MemorySegmentLabelAdapter extends AsynchronousLabelAdapter {
{
AbstractAsyncTableRendering tableRendering = (AbstractAsyncTableRendering)tableRenderingContext.getRendering();
int numColumns = tableRendering.getAddressableUnitPerLine() / tableRendering.getAddressableUnitPerColumn();
-
+
RGB[] colors = new RGB[numColumns+2];
for (int i=0; i<colors.length-1; i++)
{
colors[i] = getColumnBackground(element, i, tableRendering);
}
-
+
colors[colors.length-1] = null;
-
+
return colors;
}
}
return new RGB[0];
}
-
+
/**
* Returns a memory rendering element corresponding to the given element
* or <code>null</code> if none.
- *
+ *
* @param element element to be rendered
* @param columnIndex column index at which to render
* @return memory rendering element or <code>null</code>
@@ -407,7 +407,7 @@ public class MemorySegmentLabelAdapter extends AsynchronousLabelAdapter {
}
return null;
}
-
+
private MemoryRenderingElement getMemoryRenderingElement(MemorySegment line, BigInteger lineAddress, int offset, AbstractBaseTableRendering rendering) {
BigInteger cellAddress = lineAddress.add(BigInteger.valueOf(offset));
MemoryByte[] bytes = line.getBytes(offset, rendering.getBytesPerColumn());

Back to the top