From f2743a259e48c181e2732b3498aac5e8c8df00c2 Mon Sep 17 00:00:00 2001 From: Dan <46821332+nsadeveloper789@users.noreply.github.com> Date: Wed, 27 Aug 2025 16:15:29 +0000 Subject: [PATCH] GP-5650: Replace 'Dynamic Update' checkbox in 'Instruction Info' with toolbar action. --- .../ShowInstructionInfo.htm | 16 +- .../images/ShowInstructionInfo.png | Bin 65454 -> 55796 bytes .../processors/InstructionInfoProvider.java | 137 +++++++++--------- .../processors/ShowInstructionInfoPlugin.java | 10 +- .../ShowInstructionInfoPluginTest.java | 58 +++----- .../ShowInstructionInfoPluginScreenShots.java | 8 +- 6 files changed, 105 insertions(+), 124 deletions(-) diff --git a/Ghidra/Features/Base/src/main/help/help/topics/ShowInstructionInfoPlugin/ShowInstructionInfo.htm b/Ghidra/Features/Base/src/main/help/help/topics/ShowInstructionInfoPlugin/ShowInstructionInfo.htm index df002a6ff5..715c12a5c4 100644 --- a/Ghidra/Features/Base/src/main/help/help/topics/ShowInstructionInfoPlugin/ShowInstructionInfo.htm +++ b/Ghidra/Features/Base/src/main/help/help/topics/ShowInstructionInfoPlugin/ShowInstructionInfo.htm @@ -115,7 +115,7 @@ (Mnemonic, Number of Operands, Address, Flow Type, Delay Slot Depth, Prototype Hash, Input Objects, Result Objects, Constructor line numbers, Instruction Bytes, etc.).

-

The Operand columns (Op1, Op2, etc.) display information about a particular +

The Operand columns (Op0, Op1, etc.) display information about a particular operand.  Each operand has a number of rows.  At the end of the row is a descriptive name for the information displayed on that row.

@@ -197,13 +197,13 @@

 

-

The Dynamic Update checkbox indicates whether the window should update when you - change the location in the Code Browser.  By default, the checkbox is selected. As you - change your location - in the Code Browser, the window will be updated to show the info for the new - location.  If you turn off the checkbox, the window does not update; the next time you - choose Instruction Info, a new tab is displayed in the Instruction Info - window.

+

The Dynamic Update toggle indicates whether the + window should update when you change the location in the Code Browser.  By default, the + toggle is selected. As you change your + location in the Code + Browser, the window will be updated to show the info for the new location.  If you turn + off the toggle, the window does not update; the next time you choose Instruction + Info, a new tab is displayed in the Instruction Info window.

 

diff --git a/Ghidra/Features/Base/src/main/help/help/topics/ShowInstructionInfoPlugin/images/ShowInstructionInfo.png b/Ghidra/Features/Base/src/main/help/help/topics/ShowInstructionInfoPlugin/images/ShowInstructionInfo.png index cff081a85d27a2f28c7d081ba2fa31527af86586..bf2aabfba9faa4557a29854bef1f936a0f0c2b09 100644 GIT binary patch literal 55796 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 literal 65454 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 JqW8=B{{tK9ckBQF diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/processors/InstructionInfoProvider.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/processors/InstructionInfoProvider.java index 58c1761f2f..7aa3d2cec1 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/processors/InstructionInfoProvider.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/processors/InstructionInfoProvider.java @@ -4,9 +4,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -15,12 +15,14 @@ */ package ghidra.app.plugin.core.processors; -import java.awt.*; +import java.awt.BorderLayout; +import java.awt.Dimension; import javax.swing.*; import javax.swing.table.DefaultTableModel; -import docking.widgets.checkbox.GCheckBox; +import docking.action.ToggleDockingAction; +import docking.action.builder.ToggleActionBuilder; import generic.theme.Gui; import ghidra.app.plugin.processors.sleigh.SleighDebugLogger; import ghidra.app.plugin.processors.sleigh.SleighDebugLogger.SleighDebugMode; @@ -33,6 +35,7 @@ import ghidra.program.model.listing.*; import ghidra.program.util.InstructionUtils; import ghidra.util.HelpLocation; import ghidra.util.table.GhidraTable; +import resources.Icons; /** * Component provider to show the instruction info. @@ -48,7 +51,7 @@ class InstructionInfoProvider extends ComponentProviderAdapter implements Domain private JTextArea instructionText; private JTable opTable; - private JCheckBox dynamicUpdateCB; + private ToggleDockingAction dynamicUpdateAction; private OperandModel operandModel; private Address myAddr; @@ -57,10 +60,11 @@ class InstructionInfoProvider extends ComponentProviderAdapter implements Domain super(plugin.getTool(), "Instruction Info", plugin.getName()); this.plugin = plugin; - buildMainPanel(isDynamic); + buildMainPanel(); setTransient(); setWindowMenuGroup("Instruction Info"); addToTool(); + createActions(isDynamic); } @Override @@ -73,13 +77,23 @@ class InstructionInfoProvider extends ComponentProviderAdapter implements Domain return new HelpLocation(plugin.getName(), "Show_Instruction_Info_Window"); } + private void createActions(boolean isDynamic) { + dynamicUpdateAction = new ToggleActionBuilder("Dynamic Update", plugin.getName()) + .toolBarIcon(Icons.NAVIGATE_ON_INCOMING_EVENT_ICON) + .description("Update this panel with navigation") + .onAction(ctx -> dynamicStateChanged()) + .selected(isDynamic) + .buildAndInstallLocal(this); + dynamicStateChanged(); + } + boolean dynamicUpdateSelected() { - return dynamicUpdateCB.isSelected(); + return dynamicUpdateAction.isSelected(); } /** - * Set the status text on this dialog. - */ + * Set the status text on this dialog. + */ void setStatusText(String msg) { tool.setStatusInfo(msg); } @@ -101,7 +115,7 @@ class InstructionInfoProvider extends ComponentProviderAdapter implements Domain * * @return JPanel the completed Main Panel */ - protected JPanel buildMainPanel(boolean isDynamic) { + protected JPanel buildMainPanel() { mainPanel = new JPanel(new BorderLayout()); @@ -120,11 +134,6 @@ class InstructionInfoProvider extends ComponentProviderAdapter implements Domain pane.setResizeWeight(.25); mainPanel.add(pane, BorderLayout.CENTER); - dynamicUpdateCB = new GCheckBox("Dynamic Update", isDynamic); - dynamicUpdateCB.setAlignmentX(Component.CENTER_ALIGNMENT); - dynamicUpdateCB.addItemListener(e -> dynamicStateChanged()); - - mainPanel.add(dynamicUpdateCB, BorderLayout.SOUTH); mainPanel.validate(); return mainPanel; @@ -194,8 +203,9 @@ class InstructionInfoProvider extends ComponentProviderAdapter implements Domain setAddress(myAddr); } - public void setNonDynamic() { - dynamicUpdateCB.setSelected(false); + public void setDynamic(boolean dynamic) { + dynamicUpdateAction.setSelected(dynamic); + dynamicStateChanged(); } public Program getProgram() { @@ -225,6 +235,7 @@ class InstructionInfoProvider extends ComponentProviderAdapter implements Domain /** * Returns the number of columns in this data table. + * * @return the number of columns in the model */ @Override @@ -234,10 +245,10 @@ class InstructionInfoProvider extends ComponentProviderAdapter implements Domain /** * Returns the column name. - * @return a name for this column using the string value of the - * appropriate member in columnIdentfiers. If columnIdentfiers - * is null or does not have and entry for this index return the default - * name provided by the superclass. + * + * @return a name for this column using the string value of the appropriate member in + * columnIdentfiers. If columnIdentfiers is null or does not have and + * entry for this index return the default name provided by the superclass. */ @Override public String getColumnName(int column) { @@ -249,6 +260,7 @@ class InstructionInfoProvider extends ComponentProviderAdapter implements Domain /** * Returns the number of rows in this data table. + * * @return the number of rows in the model */ @Override @@ -257,14 +269,12 @@ class InstructionInfoProvider extends ComponentProviderAdapter implements Domain } /** - * Returns an attribute value for the cell at row - * and column. + * Returns an attribute value for the cell at row and column. * - * @param row the row whose value is to be looked up - * @param column the column whose value is to be looked up - * @return the value Object at the specified cell - * @exception ArrayIndexOutOfBoundsException if an invalid row or - * column was given. + * @param row the row whose value is to be looked up + * @param column the column whose value is to be looked up + * @return the value Object at the specified cell + * @exception ArrayIndexOutOfBoundsException if an invalid row or column was given. */ @Override public Object getValueAt(int row, int column) { @@ -272,56 +282,39 @@ class InstructionInfoProvider extends ComponentProviderAdapter implements Domain return null; } if (column == 0) { - switch (row) { - case 0: - return "Operand"; - case 1: - return "Labeled"; - case 2: - return "Type"; - case 3: - return "Scalar"; - case 4: - return "Address"; - case 5: - return "Register"; - case 6: - return "Op-Objects"; - case 7: - return "Operand Mask"; - case 8: - return "Masked Value"; - } + return switch (row) { + case 0 -> "Operand"; + case 1 -> "Labeled"; + case 2 -> "Type"; + case 3 -> "Scalar"; + case 4 -> "Address"; + case 5 -> "Register"; + case 6 -> "Op-Objects"; + case 7 -> "Operand Mask"; + case 8 -> "Masked Value"; + default -> ""; + }; } int opIndex = column - 1; if (opIndex >= instruction.getNumOperands()) { return ""; } - switch (row) { - case 0: - return instruction.getDefaultOperandRepresentation(opIndex); - case 1: - return CodeUnitFormat.DEFAULT.getOperandRepresentationList(instruction, - opIndex); - case 2: - return OperandType.toString(instruction.getOperandType(opIndex)); - case 3: - return instruction.getScalar(opIndex); - case 4: + return switch (row) { + case 0 -> instruction.getDefaultOperandRepresentation(opIndex); + case 1 -> CodeUnitFormat.DEFAULT.getOperandRepresentationList(instruction, opIndex); + case 2 -> OperandType.toString(instruction.getOperandType(opIndex)); + case 3 -> instruction.getScalar(opIndex); + case 4 -> { Address addr = instruction.getAddress(opIndex); - return addr != null ? addr.toString(true) : ""; - case 5: - return instruction.getRegister(opIndex); - case 6: - return getString( - InstructionUtils.getFormatedOperandObjects(instruction, opIndex)); - case 7: - return debug != null ? debug.getFormattedInstructionMask(opIndex) : null; - case 8: - return debug != null ? debug.getFormattedMaskedValue(opIndex) : null; - } - - return ""; + yield addr != null ? addr.toString(true) : ""; + } + case 5 -> instruction.getRegister(opIndex); + case 6 -> getString( + InstructionUtils.getFormatedOperandObjects(instruction, opIndex)); + case 7 -> debug != null ? debug.getFormattedInstructionMask(opIndex) : null; + case 8 -> debug != null ? debug.getFormattedMaskedValue(opIndex) : null; + default -> ""; + }; } @Override diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/processors/ShowInstructionInfoPlugin.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/processors/ShowInstructionInfoPlugin.java index 353fe1b2a2..9bcf2649c0 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/processors/ShowInstructionInfoPlugin.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/processors/ShowInstructionInfoPlugin.java @@ -4,9 +4,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -344,8 +344,8 @@ public class ShowInstructionInfoPlugin extends ProgramPlugin { } /** - * Subclass should override this method if it is interested in - * program location events. + * Subclass should override this method if it is interested in program location events. + * * @param loc location could be null */ @Override @@ -463,7 +463,7 @@ public class ShowInstructionInfoPlugin extends ProgramPlugin { } else if (provider != connectedProvider && isDynamic) { if (connectedProvider != null) { - connectedProvider.setNonDynamic(); + connectedProvider.setDynamic(false); } disconnectedProviders.remove(provider); connectedProvider = provider; diff --git a/Ghidra/Features/Base/src/test.slow/java/ghidra/app/plugin/core/processors/ShowInstructionInfoPluginTest.java b/Ghidra/Features/Base/src/test.slow/java/ghidra/app/plugin/core/processors/ShowInstructionInfoPluginTest.java index 4e046c79f7..559e29f2d7 100644 --- a/Ghidra/Features/Base/src/test.slow/java/ghidra/app/plugin/core/processors/ShowInstructionInfoPluginTest.java +++ b/Ghidra/Features/Base/src/test.slow/java/ghidra/app/plugin/core/processors/ShowInstructionInfoPluginTest.java @@ -22,7 +22,8 @@ import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; -import javax.swing.*; +import javax.swing.JTable; +import javax.swing.JTextArea; import org.junit.*; @@ -150,6 +151,7 @@ public class ShowInstructionInfoPluginTest extends AbstractGhidraHeadedIntegrati DockingActionIf infoAction = getAction(plugin, "Show Instruction Info"); // show the window performAction(infoAction, cb.getProvider(), true); + InstructionInfoProvider provider = waitForComponentProvider(InstructionInfoProvider.class); // make sure we are at an invalid Instruction ListingActionContext context = getCurrentContext(); @@ -176,14 +178,8 @@ public class ShowInstructionInfoPluginTest extends AbstractGhidraHeadedIntegrati componentProviderTablesHaveData()); // verify dynamic update has changed the window's contents - ComponentProvider componentProvider = getCurrentComponentProviderFromPlugin(); - JComponent comp = componentProvider.getComponent(); - - final JCheckBox dynamicCheckBox = findComponent(comp, JCheckBox.class); // make sure dynamic update is enabled - if (!dynamicCheckBox.isSelected()) { - runSwing(() -> dynamicCheckBox.doClick()); - } + runSwing(() -> provider.setDynamic(true)); // change to another valid Instruction currentInstruction = changeLocationToAddress("01000006"); @@ -200,7 +196,7 @@ public class ShowInstructionInfoPluginTest extends AbstractGhidraHeadedIntegrati verifyAddressWithTableModels(currentInstruction.getMinAddress(), true, true); // turn off dynamic update - runSwing(() -> dynamicCheckBox.doClick()); + runSwing(() -> provider.setDynamic(false)); // change to another valid Instruction currentInstruction = changeLocationToAddress("01000009"); @@ -223,7 +219,7 @@ public class ShowInstructionInfoPluginTest extends AbstractGhidraHeadedIntegrati // place // turn dynamic update back on - runSwing(() -> dynamicCheckBox.doClick()); + runSwing(() -> provider.setDynamic(true)); // move to a valid location that has yet to be disassembled currentInstruction = changeLocationToAddress("01000ffe"); @@ -269,13 +265,9 @@ public class ShowInstructionInfoPluginTest extends AbstractGhidraHeadedIntegrati DockingActionIf infoAction = getAction(plugin, "Show Instruction Info"); // show the window performAction(infoAction, cb.getProvider(), true); + InstructionInfoProvider provider = waitForComponentProvider(InstructionInfoProvider.class); - ComponentProvider componentProvider = getCurrentComponentProviderFromPlugin(); - JComponent comp = componentProvider.getComponent(); - - final JCheckBox dynamicCheckBox = findComponent(comp, JCheckBox.class); - // turn off the checkbox - runSwing(() -> dynamicCheckBox.setSelected(false)); + runSwing(() -> provider.setDynamic(false)); changeLocationToAddress("01000006"); performAction(infoAction, cb.getProvider(), true); @@ -352,7 +344,7 @@ public class ShowInstructionInfoPluginTest extends AbstractGhidraHeadedIntegrati private void callGetUrl(ListingActionContext context, Language language) { runSwing(() -> { - + try { plugin.getValidUrl(context, language); } @@ -363,12 +355,10 @@ public class ShowInstructionInfoPluginTest extends AbstractGhidraHeadedIntegrati } /** - * Moves the program location to the given address and returns the - * instruction at that location. + * Moves the program location to the given address and returns the instruction at that location. * * @param addressString The address location to move to. - * @return The instruction at the new location or null if there is no - * instruction. + * @return The instruction at the new location or null if there is no instruction. */ private Instruction changeLocationToAddress(String addressString) throws Exception { CodeBrowserPlugin cbp = env.getPlugin(CodeBrowserPlugin.class); @@ -395,18 +385,15 @@ public class ShowInstructionInfoPluginTest extends AbstractGhidraHeadedIntegrati } /** - * Tests the addresses of the table models of the "Instruction Info" dialog. - * The method will fail the current test if the result is not as - * expected by the caller of this method. For example, if - * {@code expectedSame} is true, then the method expects the values to - * be the same when compared with the given address and will fail if - * they are not. If {@code expectedSame} is false, then the method will - * fail if the test values are the same. + * Tests the addresses of the table models of the "Instruction Info" dialog. The method will + * fail the current test if the result is not as expected by the caller of this method. For + * example, if {@code expectedSame} is true, then the method expects the values to be the same + * when compared with the given address and will fail if they are not. If {@code expectedSame} + * is false, then the method will fail if the test values are the same. * - * @param instructionAddress The address to compare against the address - * stored in the table model of the dialog. - * @param expectedSame True means a match is expected; false means a - * match is not expected. + * @param instructionAddress The address to compare against the address stored in the table + * model of the dialog. + * @param expectedSame True means a match is expected; false means a match is not expected. */ private void verifyAddressWithTableModels(Address instructionAddress, boolean fromConnected, boolean expectedSame) { @@ -447,8 +434,7 @@ public class ShowInstructionInfoPluginTest extends AbstractGhidraHeadedIntegrati } /** - * A simple method to test that the tables of the "Instruction Info" - * dialog contain data. + * A simple method to test that the tables of the "Instruction Info" dialog contain data. * * @return True if either of the tables have data. */ @@ -459,9 +445,9 @@ public class ShowInstructionInfoPluginTest extends AbstractGhidraHeadedIntegrati } /** - * Gets data from the two tables of the "Instruction Info" dialog. + * Gets data from the two tables of the "Instruction Info" dialog. * - * @return data from the two tables of the "Instruction Info" dialog. + * @return data from the two tables of the "Instruction Info" dialog. */ private Object[] getComponentProviderTableData(boolean fromConnected) { ComponentProvider provider = fromConnected ? getCurrentComponentProviderFromPlugin() diff --git a/Ghidra/Test/IntegrationTest/src/screen/java/help/screenshot/ShowInstructionInfoPluginScreenShots.java b/Ghidra/Test/IntegrationTest/src/screen/java/help/screenshot/ShowInstructionInfoPluginScreenShots.java index ed26a0326e..db468bf58a 100644 --- a/Ghidra/Test/IntegrationTest/src/screen/java/help/screenshot/ShowInstructionInfoPluginScreenShots.java +++ b/Ghidra/Test/IntegrationTest/src/screen/java/help/screenshot/ShowInstructionInfoPluginScreenShots.java @@ -4,9 +4,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -112,7 +112,9 @@ public class ShowInstructionInfoPluginScreenShots extends GhidraScreenShotGenera performAction("Show Instruction Info", plugin.getName(), true); - captureProviderWindow("Instruction Info", 1200, 500); + ComponentProvider provider = + tool.getWindowManager().getComponentProvider("Instruction Info"); + captureIsolatedProvider(provider, 1200, 510); // finished("ShowInstructionInfoPlugin", "ShowInstructionInfo.png"); }