From be8c4dde6d7c702c7c02dba5b36084d17fb9fc49 Mon Sep 17 00:00:00 2001 From: ghidragon <106987263+ghidragon@users.noreply.github.com> Date: Mon, 8 Apr 2024 18:38:53 -0400 Subject: [PATCH] fixing unit tests related go GP-4289 --- .../fieldpanel/field/ClippingTextField.java | 7 ++++++- .../fieldpanel/field/VerticalLayoutTextField.java | 14 +------------- .../fieldpanel/FlowLayoutTextFieldTest.java | 6 +++--- 3 files changed, 10 insertions(+), 17 deletions(-) diff --git a/Ghidra/Framework/Docking/src/main/java/docking/widgets/fieldpanel/field/ClippingTextField.java b/Ghidra/Framework/Docking/src/main/java/docking/widgets/fieldpanel/field/ClippingTextField.java index e7d89dca8a..fc41b6aacb 100644 --- a/Ghidra/Framework/Docking/src/main/java/docking/widgets/fieldpanel/field/ClippingTextField.java +++ b/Ghidra/Framework/Docking/src/main/java/docking/widgets/fieldpanel/field/ClippingTextField.java @@ -353,9 +353,14 @@ public class ClippingTextField implements TextField { @Override public RowColLocation dataToScreenLocation(int dataRow, int dataColumn) { + int column = textElement.getCharacterIndexForDataLocation(dataRow, dataColumn); if (column < 0) { - return new DefaultRowColLocation(0, textElement.length()); + column = textElement.getCharacterIndexForDataLocation(dataRow, dataColumn - 3); + if (column < 0) { + return new DefaultRowColLocation(0, textElement.length()); + } + return new RowColLocation(0, textElement.length()); } return new RowColLocation(0, column); } diff --git a/Ghidra/Framework/Docking/src/main/java/docking/widgets/fieldpanel/field/VerticalLayoutTextField.java b/Ghidra/Framework/Docking/src/main/java/docking/widgets/fieldpanel/field/VerticalLayoutTextField.java index 1bc36c28e2..ed5fcf0d5b 100644 --- a/Ghidra/Framework/Docking/src/main/java/docking/widgets/fieldpanel/field/VerticalLayoutTextField.java +++ b/Ghidra/Framework/Docking/src/main/java/docking/widgets/fieldpanel/field/VerticalLayoutTextField.java @@ -503,7 +503,7 @@ public class VerticalLayoutTextField implements TextField { return new RowColLocation(i, loc.col()); } } - // We did not find a match for the given row and column, so return a default location of 0,0 + return new DefaultRowColLocation(); } @@ -560,18 +560,6 @@ public class VerticalLayoutTextField implements TextField { return subFields.get(screenRow).field; } - private FieldRow getFieldRowFromDataRow(int dataRow) { - int currentRow = 0; - for (FieldRow row : subFields) { - int length = row.field.getNumDataRows(); - if (currentRow + length > dataRow) { - return row; - } - currentRow += length; - } - return subFields.get(subFields.size() - 1); - } - private int getDataRow(TextField field) { for (FieldRow fieldRow : subFields) { if (fieldRow.field == field) { diff --git a/Ghidra/Framework/Docking/src/test/java/docking/widgets/fieldpanel/FlowLayoutTextFieldTest.java b/Ghidra/Framework/Docking/src/test/java/docking/widgets/fieldpanel/FlowLayoutTextFieldTest.java index fb538c131f..acc82dca7e 100644 --- a/Ghidra/Framework/Docking/src/test/java/docking/widgets/fieldpanel/FlowLayoutTextFieldTest.java +++ b/Ghidra/Framework/Docking/src/test/java/docking/widgets/fieldpanel/FlowLayoutTextFieldTest.java @@ -114,13 +114,13 @@ public class FlowLayoutTextFieldTest extends AbstractGenericTest { assertEquals(new RowColLocation(1, 4), textField.dataToScreenLocation(2, 4)); // Supercalifra (12 chars); ... (3 chars); Supercalifra... (15 chars) - assertEquals(new DefaultRowColLocation(1, 12), textField.dataToScreenLocation(2, 15)); + assertEquals(new RowColLocation(1, 12), textField.dataToScreenLocation(2, 15)); assertEquals(new RowColLocation(2, 0), textField.dataToScreenLocation(3, 0)); assertEquals(new RowColLocation(2, 4), textField.dataToScreenLocation(3, 4)); - assertEquals(new DefaultRowColLocation(0, 12), textField.dataToScreenLocation(0, 12)); - assertEquals(new DefaultRowColLocation(0, 12), textField.dataToScreenLocation(0, 75)); + assertEquals(new DefaultRowColLocation(0, 0), textField.dataToScreenLocation(0, 12)); + assertEquals(new DefaultRowColLocation(0, 0), textField.dataToScreenLocation(0, 75)); } @Test