mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2026-06-02 10:47:10 +08:00
Merge remote-tracking branch
'origin/GP-2165_ghidragon_PR-4287_devnull850_trailing-comma-arrays-display' (Closes #4261, Closes #4287)
This commit is contained in:
+17
-7
@@ -18,16 +18,23 @@ package ghidra.app.util.viewer.field;
|
|||||||
import java.beans.PropertyEditor;
|
import java.beans.PropertyEditor;
|
||||||
import java.math.BigInteger;
|
import java.math.BigInteger;
|
||||||
|
|
||||||
import docking.widgets.fieldpanel.field.*;
|
import docking.widgets.fieldpanel.field.AttributedString;
|
||||||
|
import docking.widgets.fieldpanel.field.FieldElement;
|
||||||
|
import docking.widgets.fieldpanel.field.TextFieldElement;
|
||||||
import docking.widgets.fieldpanel.support.FieldLocation;
|
import docking.widgets.fieldpanel.support.FieldLocation;
|
||||||
import docking.widgets.fieldpanel.support.RowColLocation;
|
import docking.widgets.fieldpanel.support.RowColLocation;
|
||||||
import ghidra.app.util.HighlightProvider;
|
import ghidra.app.util.HighlightProvider;
|
||||||
import ghidra.app.util.viewer.format.FieldFormatModel;
|
import ghidra.app.util.viewer.format.FieldFormatModel;
|
||||||
import ghidra.app.util.viewer.format.FormatManager;
|
import ghidra.app.util.viewer.format.FormatManager;
|
||||||
import ghidra.app.util.viewer.proxy.ProxyObj;
|
import ghidra.app.util.viewer.proxy.ProxyObj;
|
||||||
import ghidra.framework.options.*;
|
import ghidra.framework.options.CustomOption;
|
||||||
|
import ghidra.framework.options.OptionType;
|
||||||
|
import ghidra.framework.options.Options;
|
||||||
|
import ghidra.framework.options.ToolOptions;
|
||||||
import ghidra.program.model.data.DataType;
|
import ghidra.program.model.data.DataType;
|
||||||
import ghidra.program.model.listing.*;
|
import ghidra.program.model.listing.CodeUnit;
|
||||||
|
import ghidra.program.model.listing.Data;
|
||||||
|
import ghidra.program.model.listing.Program;
|
||||||
import ghidra.program.util.ProgramLocation;
|
import ghidra.program.util.ProgramLocation;
|
||||||
import ghidra.util.HelpLocation;
|
import ghidra.util.HelpLocation;
|
||||||
import ghidra.util.exception.AssertException;
|
import ghidra.util.exception.AssertException;
|
||||||
@@ -95,11 +102,14 @@ public class ArrayValuesFieldFactory extends FieldFactory {
|
|||||||
int numComponents = parent.getNumComponents();
|
int numComponents = parent.getNumComponents();
|
||||||
int index = data.getComponentIndex();
|
int index = data.getComponentIndex();
|
||||||
int remaining = numComponents - index;
|
int remaining = numComponents - index;
|
||||||
int valuesThisLine = Math.min(remaining, valuesPerLine);
|
int itemCount = Math.min(remaining, valuesPerLine);
|
||||||
FieldElement[] aStrings = new FieldElement[valuesThisLine];
|
boolean isLastLine = remaining <= itemCount;
|
||||||
for (int i = 0; i < valuesThisLine; i++) {
|
|
||||||
|
FieldElement[] aStrings = new FieldElement[itemCount];
|
||||||
|
for (int i = 0; i < itemCount; i++) {
|
||||||
Data child = parent.getComponent(index++);
|
Data child = parent.getComponent(index++);
|
||||||
String value = getDisplayValue(child, i != valuesThisLine - 1);
|
boolean isLastItem = isLastLine && (i == itemCount - 1);
|
||||||
|
String value = getDisplayValue(child, !isLastItem);
|
||||||
AttributedString as = new AttributedString(value, color, getMetrics());
|
AttributedString as = new AttributedString(value, color, getMetrics());
|
||||||
aStrings[i] = new TextFieldElement(as, i, 0);
|
aStrings[i] = new TextFieldElement(as, i, 0);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user