From 1c28896c7b681ea72c7d3b74e6363bb905fff672 Mon Sep 17 00:00:00 2001 From: ghidragon <106987263+ghidragon@users.noreply.github.com> Date: Wed, 22 Apr 2026 11:50:15 -0400 Subject: [PATCH] GP-6749 added feature to Decocompiler window to disable auto-refresh and also added feature to broadcast location an selection events on decompiler snapshots --- .../data/decompiler.theme.properties | 1 + .../src/main/doc/decompileplugin.xml | 33 ++++- .../DecompilePlugin/DecompilerWindow.html | 27 +++- .../DecompilePlugin/images/DecompWindow.png | Bin 81452 -> 51428 bytes .../decompiler/component/DecompilerPanel.java | 17 +++ .../core/decompile/DecompilePlugin.java | 4 +- .../core/decompile/DecompilerProvider.java | 115 ++++++++++++++---- .../core/decompile/OverlayMessagePainter.java | 82 +++++++++++++ .../docking/test/AbstractDockingTest.java | 3 + .../indexedscrollpane/IndexedScrollPane.java | 23 +++- .../DecompilePluginScreenShots.java | 79 +++++------- 11 files changed, 306 insertions(+), 78 deletions(-) create mode 100644 Ghidra/Features/Decompiler/src/main/java/ghidra/app/plugin/core/decompile/OverlayMessagePainter.java diff --git a/Ghidra/Features/Decompiler/data/decompiler.theme.properties b/Ghidra/Features/Decompiler/data/decompiler.theme.properties index b94edc13b5..f1a2f31b59 100644 --- a/Ghidra/Features/Decompiler/data/decompiler.theme.properties +++ b/Ghidra/Features/Decompiler/data/decompiler.theme.properties @@ -41,6 +41,7 @@ icon.decompiler.action.provider.clone = icon.provider.clone icon.decompiler.action.provider.unreachable = eliminateUnreachable.png icon.decompiler.action.provider.readonly = readOnly.png icon.decompiler.action.export = page_edit.png +icon.decompiler.action.display.lock = lock.gif font.decompiler = font.monospaced font.decompiler.pcode.dfg = font.graphdisplay.default diff --git a/Ghidra/Features/Decompiler/src/main/doc/decompileplugin.xml b/Ghidra/Features/Decompiler/src/main/doc/decompileplugin.xml index a3a301b715..25289be0fe 100644 --- a/Ghidra/Features/Decompiler/src/main/doc/decompileplugin.xml +++ b/Ghidra/Features/Decompiler/src/main/doc/decompileplugin.xml @@ -4009,7 +4009,7 @@ tokens (see ). - + Cross-Highlighting The main window maintains a map between the individual variable and operator tokens displayed in @@ -4045,6 +4045,25 @@ +
+ Disabling Auto Refresh + + For very large functions, the decompile window can take a significant amount of time to re-decompile + and update the display as changes are made to the program. This makes some actions frustrating, + such as renaming or retyping variables. + + + As a work around, you may use the lock toggle action + + + +  . + When selected, this action will prevent the decompiler from auto refreshing for each change. + This may make the display appear to be broken since any changes will not appear to + take effect until the display is manually refreshed. + +
+
Snapshot Windows @@ -4085,6 +4104,18 @@ Double-clicking on specific tokens within the Snapshot window may also cause it to navigate to a new location (see ). + + + Normally, snapshot windows are completely disconnected from the location and selection + events that synchronize the main components in the tool. To allow the snapshot window + to export its location and selection, select the + + + +   + toolbar action. + +
diff --git a/Ghidra/Features/Decompiler/src/main/help/help/topics/DecompilePlugin/DecompilerWindow.html b/Ghidra/Features/Decompiler/src/main/help/help/topics/DecompilePlugin/DecompilerWindow.html index 29a80d5a11..e34880eaac 100644 --- a/Ghidra/Features/Decompiler/src/main/help/help/topics/DecompilePlugin/DecompilerWindow.html +++ b/Ghidra/Features/Decompiler/src/main/help/help/topics/DecompilePlugin/DecompilerWindow.html @@ -101,7 +101,7 @@ tokens (see Mouse Actions).

-
+

Cross-Highlighting

@@ -145,6 +145,23 @@
+
+

+Disabling Auto Refresh

+ +

+ For very large functions, the decompile window can take a significant amount of time to re-decompile + and update the display as changes are made to the program. This makes using some actions + frustrating, such as renaming or retyping variables. +

+

+ As a work around, you may use the lock toggle action + . When selected, this action will prevent + the decompiler from auto refreshing for each change. This may make the display appear to be + broken since any changes will not appear to take effect until the display is manually refreshed. +

+
+

Snapshot Windows

@@ -187,6 +204,14 @@ Double-clicking on specific tokens within the Snapshot window may also cause it to navigate to a new location (see Double-Click).

+ +

+ Normally, snapshot windows are completely disconnected from the location and selection + events that synchronize the main components in the tool. To allow the snapshot window + to export its location and selection, select the + toolbar action. +

+
diff --git a/Ghidra/Features/Decompiler/src/main/help/help/topics/DecompilePlugin/images/DecompWindow.png b/Ghidra/Features/Decompiler/src/main/help/help/topics/DecompilePlugin/images/DecompWindow.png index 273b4ebe9c0d2c1af9876c68b90c733afd67c7d5..5f6198d621cc33b4159927858679af21f9a8c9f0 100644 GIT binary patch literal 51428 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%0D`fHv)QKeofDX%{7}rf6F!AE=$zLJ-@RKGmT!&b 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 H8=?OL?cro1 diff --git a/Ghidra/Features/Decompiler/src/main/java/ghidra/app/decompiler/component/DecompilerPanel.java b/Ghidra/Features/Decompiler/src/main/java/ghidra/app/decompiler/component/DecompilerPanel.java index 6aee312c03..2e626c8115 100644 --- a/Ghidra/Features/Decompiler/src/main/java/ghidra/app/decompiler/component/DecompilerPanel.java +++ b/Ghidra/Features/Decompiler/src/main/java/ghidra/app/decompiler/component/DecompilerPanel.java @@ -1388,6 +1388,23 @@ public class DecompilerPanel extends JPanel implements FieldMouseListener, Field fieldPanel.removeFocusListener(l); } + /** + * {@return the bounds of the content area of this decompiler panel. This includes the main + * decompiler content panel and the line numbers panel} + */ + public Rectangle getViewContentBounds() { + // The bounds we want includes both the extent size of the main decompiler view + the + // area that displays the line numbers which is not inside the IndexedScrollPane. The width + // of the line numbers panel can be found by looking at the x position of the scroller as + // it is offset by the line number panel's width. We are also assuming there are no borders + // internal to the DecompilerPanel. If that changes, we would also need to factor in the + // insets. + Rectangle bounds = scroller.getBounds(); + Dimension scrollerSize = scroller.getViewExtentSize(); + int lineNumberWidth = bounds.x; + return new Rectangle(0, 0, scrollerSize.width + lineNumberWidth, scrollerSize.height); + } + private void buildPanels() { removeAll(); add(buildLeftComponent(), BorderLayout.WEST); diff --git a/Ghidra/Features/Decompiler/src/main/java/ghidra/app/plugin/core/decompile/DecompilePlugin.java b/Ghidra/Features/Decompiler/src/main/java/ghidra/app/plugin/core/decompile/DecompilePlugin.java index a97ddb8dd1..0188a69b5e 100644 --- a/Ghidra/Features/Decompiler/src/main/java/ghidra/app/plugin/core/decompile/DecompilePlugin.java +++ b/Ghidra/Features/Decompiler/src/main/java/ghidra/app/plugin/core/decompile/DecompilePlugin.java @@ -207,13 +207,13 @@ public class DecompilePlugin extends Plugin { } void locationChanged(DecompilerProvider provider, ProgramLocation location) { - if (provider == connectedProvider) { + if (provider.shouldSendEvents()) { firePluginEvent(new ProgramLocationPluginEvent(name, location, location.getProgram())); } } void selectionChanged(DecompilerProvider provider, ProgramSelection selection) { - if (provider == connectedProvider) { + if (provider.shouldSendEvents()) { firePluginEvent(new ProgramSelectionPluginEvent(name, selection, currentProgram)); } } diff --git a/Ghidra/Features/Decompiler/src/main/java/ghidra/app/plugin/core/decompile/DecompilerProvider.java b/Ghidra/Features/Decompiler/src/main/java/ghidra/app/plugin/core/decompile/DecompilerProvider.java index 7a229ffe26..dd74b391f0 100644 --- a/Ghidra/Features/Decompiler/src/main/java/ghidra/app/plugin/core/decompile/DecompilerProvider.java +++ b/Ghidra/Features/Decompiler/src/main/java/ghidra/app/plugin/core/decompile/DecompilerProvider.java @@ -15,17 +15,20 @@ */ package ghidra.app.plugin.core.decompile; +import java.awt.Graphics; import java.awt.event.KeyEvent; import java.awt.event.MouseEvent; import java.math.BigInteger; import java.util.*; import java.util.concurrent.ConcurrentLinkedQueue; -import javax.swing.Icon; -import javax.swing.JComponent; +import javax.swing.*; import docking.*; import docking.action.*; +import docking.action.builder.ActionBuilder; +import docking.action.builder.ToggleActionBuilder; +import docking.actions.KeyBindingUtils; import docking.widgets.fieldpanel.support.FieldLocation; import docking.widgets.fieldpanel.support.ViewerPosition; import generic.theme.GIcon; @@ -76,6 +79,7 @@ public class DecompilerProvider extends NavigatableComponentProviderAdapter private static final Icon TOGGLE_READ_ONLY_DISABLED_ICON = new MultiIconBuilder(TOGGLE_READ_ONLY_ICON).addCenteredIcon(SLASH_ICON).build(); + private static final Icon LOCK_DISPLAY_ICON = new GIcon("icon.decompiler.action.display.lock"); private DockingAction pcodeGraphAction; private DockingAction astGraphAction; @@ -100,11 +104,16 @@ public class DecompilerProvider extends NavigatableComponentProviderAdapter private SwingUpdateManager redecompileUpdater; private DecompilerProgramListener programListener; - + private boolean lockDisplay; // Follow-up work can be items that need to happen after a pending decompile is finished, such // as updating highlights after a variable rename private SwingUpdateManager followUpWorkUpdater; private Queue followUpWork = new ConcurrentLinkedQueue<>(); + private OverlayMessagePainter overlayPainter = new OverlayMessagePainter(); + private DockingAction refreshAction; + + // only used by disconnected providers + private boolean allowOutgoingEvents = false; private ServiceListener serviceListener = new ServiceListener() { @@ -140,7 +149,14 @@ public class DecompilerProvider extends NavigatableComponentProviderAdapter // TODO move the hl controller into the panel highlightController = new LocationClangHighlightController(); decompilerPanel.setHighlightController(highlightController); - decorationPanel = new DecoratorPanel(decompilerPanel, isConnected); + decorationPanel = new DecoratorPanel(decompilerPanel, isConnected) { + @Override + public void paint(Graphics g) { + super.paint(g); + overlayPainter.paintOverlay(g, decompilerPanel.getViewContentBounds()); + } + + }; if (!isConnected) { setTransient(); @@ -333,7 +349,28 @@ public class DecompilerProvider extends NavigatableComponentProviderAdapter controller.setOptions(decompilerOptions); if (currentLocation != null) { - controller.refreshDisplay(program, currentLocation, null); + if (lockDisplay) { + overlayPainter.setMessage(getOverlayRefreshMessage()); + } + else { + controller.refreshDisplay(program, currentLocation, null); + overlayPainter.setMessage(""); + } + } + } + + private String getOverlayRefreshMessage() { + KeyStroke keyStroke = refreshAction.getKeyBinding(); + if (keyStroke != null) { + String name = KeyBindingUtils.parseKeyStroke(keyStroke); + return name + " to refresh"; + } + return "Refresh needed"; + } + + private void updateOverlayMessage() { + if (overlayPainter.isActive()) { + overlayPainter.setMessage(getOverlayRefreshMessage()); } } @@ -371,6 +408,8 @@ public class DecompilerProvider extends NavigatableComponentProviderAdapter options.getName().equals(GhidraOptions.CATEGORY_BROWSER_FIELDS)) { doRefresh(true); } + updateOverlayMessage(); + } //================================================================================================== @@ -489,6 +528,7 @@ public class DecompilerProvider extends NavigatableComponentProviderAdapter */ void refresh() { controller.refreshDisplay(program, currentLocation, null); + overlayPainter.setMessage(""); } /** @@ -790,28 +830,35 @@ public class DecompilerProvider extends NavigatableComponentProviderAdapter private void createActions(boolean isConnected) { String owner = plugin.getName(); + new ToggleActionBuilder("Lock Display", owner) + .toolBarIcon(LOCK_DISPLAY_ICON) + .description("Lock display for auto-updates, only update on manual refresh") + .helpLocation(new HelpLocation(HelpTopics.DECOMPILER, "LockDisplay")) + .selected(false) + .onAction(c -> toggleDisplayLock()) + .buildAndInstallLocal(this); + + if (!isConnected) { + new ToggleActionBuilder("Decompiler Outgoing Events", owner) + .toolBarIcon(Icons.NAVIGATE_ON_OUTGOING_EVENT_ICON) + .description("Send location and selection events") + .helpLocation(new HelpLocation(HelpTopics.DECOMPILER, "EventsOut")) + .selected(false) + .onAction(c -> toggleOutgoingEvents()) + .buildAndInstallLocal(this); + } + SelectAllAction selectAllAction = new SelectAllAction(owner, controller.getDecompilerPanel()); - DockingAction refreshAction = new DockingAction("Refresh", owner) { - @Override - public void actionPerformed(ActionContext context) { - refresh(); - } - - @Override - public boolean isEnabledForContext(ActionContext context) { - DecompileData decompileData = controller.getDecompileData(); - if (decompileData == null) { - return false; - } - return decompileData.hasDecompileResults(); - } - }; - refreshAction.setToolBarData(new ToolBarData(REFRESH_ICON, "A" /* first on toolbar */)); - refreshAction.setDescription("Push at any time to trigger a re-decompile"); - refreshAction - .setHelpLocation(new HelpLocation(HelpTopics.DECOMPILER, "ToolBarRedecompile")); // just use the default + refreshAction = new ActionBuilder("Refresh", owner) + .popupMenuPath("Refresh") + .popupMenuIcon(REFRESH_ICON) + .keyBinding("F5") + .helpLocation(new HelpLocation(HelpTopics.DECOMPILER, "ToolBarRedecompile")) + .description("Re-decompile and update the display") + .onAction(c -> refresh()) + .buildAndInstallLocal(this); displayUnreachableCodeToggle = new ToggleDockingAction("Toggle Unreachable Code", owner) { @Override @@ -1120,6 +1167,8 @@ public class DecompilerProvider extends NavigatableComponentProviderAdapter findReferencesToAddressAction.getPopupMenuData().setParentMenuGroup(referencesParentGroup); addLocalAction(findReferencesToAddressAction); + setGroupInfo(refreshAction, "comment6", subGroupPosition++); + // // Options // @@ -1200,6 +1249,24 @@ public class DecompilerProvider extends NavigatableComponentProviderAdapter graphServiceAdded(); } + private void toggleOutgoingEvents() { + allowOutgoingEvents = !allowOutgoingEvents; + } + + boolean shouldSendEvents() { + if (isConnected()) { + return true; + } + return allowOutgoingEvents; + } + + private void toggleDisplayLock() { + lockDisplay = !lockDisplay; + if (!lockDisplay) { + refresh(); + } + } + /** * Sets the group and subgroup information for the given action. */ diff --git a/Ghidra/Features/Decompiler/src/main/java/ghidra/app/plugin/core/decompile/OverlayMessagePainter.java b/Ghidra/Features/Decompiler/src/main/java/ghidra/app/plugin/core/decompile/OverlayMessagePainter.java new file mode 100644 index 0000000000..ca393e7654 --- /dev/null +++ b/Ghidra/Features/Decompiler/src/main/java/ghidra/app/plugin/core/decompile/OverlayMessagePainter.java @@ -0,0 +1,82 @@ +/* ### + * IP: GHIDRA + * + * 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. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package ghidra.app.plugin.core.decompile; + +import java.awt.*; + +import org.apache.commons.lang3.StringUtils; + +import generic.theme.GColor; +import generic.theme.GThemeDefaults.Colors.Palette; +import generic.theme.Gui; + +/** + * Class to overlay a message on the decompiler panel to indicate the display is stale and + * needs to be refreshed manually. + */ +class OverlayMessagePainter { + private static final int MARGIN = 10; + private static final String FONT_ID = "font.graph.component.message"; + private final Color gradientColor = new GColor("color.bg.visualgraph.message"); + private String message; + + void setMessage(String message) { + this.message = message; + } + + boolean isActive() { + return !StringUtils.isBlank(message); + } + + void paintOverlay(Graphics g, Rectangle bounds) { + if (!isActive()) { + return; + } + + Graphics2D g2 = (Graphics2D) g; + + // this composite softens the text and color of the message + Composite originalComposite = g2.getComposite(); + g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SrcOver.getRule(), .60f)); + + // set up font + Font font = Gui.getFont(FONT_ID); + g.setFont(font); + Rectangle textBounds = font.getStringBounds(message, g2.getFontRenderContext()).getBounds(); + + int gh = textBounds.height * 3; + int gy = bounds.height - gh; + paintGradient(g2, 0, gy, bounds.width, gh); + + // paint message + g2.setPaint(Palette.BLACK); + int textX = bounds.width - textBounds.width - MARGIN; + int textY = bounds.height - textBounds.height / 2; //text at bottom; account for baseline + g2.drawString(message, textX, textY); + + g2.setComposite(originalComposite); + } + + private void paintGradient(Graphics2D g2, int x, int y, int w, int h) { + Color[] colors = new Color[] { Color.WHITE, gradientColor }; + float[] fractions = new float[] { 0.0f, .95f }; + LinearGradientPaint gradiantPaint = + new LinearGradientPaint(new Point(x, y), new Point(x, y + h), fractions, colors); + g2.setPaint(gradiantPaint); + g2.fillRect(x, y, w, h); + } + +} diff --git a/Ghidra/Framework/Docking/src/main/java/docking/test/AbstractDockingTest.java b/Ghidra/Framework/Docking/src/main/java/docking/test/AbstractDockingTest.java index 5581efdc68..33594248df 100644 --- a/Ghidra/Framework/Docking/src/main/java/docking/test/AbstractDockingTest.java +++ b/Ghidra/Framework/Docking/src/main/java/docking/test/AbstractDockingTest.java @@ -1300,6 +1300,9 @@ public abstract class AbstractDockingTest extends AbstractGuiTest { assertNotNull("Action cannot be null", action); assertNotNull("Action context cannot be null", context); + boolean isValid = runSwing(() -> action.isValidContext(context)); + assertTrue("Attempted to invoke action with invalid context", isValid); + runSwing(() -> { action.isAddToPopup(context); diff --git a/Ghidra/Framework/Docking/src/main/java/docking/widgets/indexedscrollpane/IndexedScrollPane.java b/Ghidra/Framework/Docking/src/main/java/docking/widgets/indexedscrollpane/IndexedScrollPane.java index aa38110e79..a9aab9ba42 100644 --- a/Ghidra/Framework/Docking/src/main/java/docking/widgets/indexedscrollpane/IndexedScrollPane.java +++ b/Ghidra/Framework/Docking/src/main/java/docking/widgets/indexedscrollpane/IndexedScrollPane.java @@ -119,6 +119,10 @@ public class IndexedScrollPane extends JPanel implements IndexScrollListener { return new Dimension(comp.getPreferredSize().width, indexMapper.getViewHeight()); } + public Dimension getViewExtentSize() { + return viewport.getExtentSize(); + } + public void viewportStateChanged() { Dimension extentSize = viewport.getExtentSize(); if (!extentSize.equals(visibleSize)) { @@ -241,7 +245,24 @@ public class IndexedScrollPane extends JPanel implements IndexScrollListener { @Override public boolean getScrollableTracksViewportWidth() { - return false; + int prefWidth = comp.getPreferredSize().width; + int scrollPaneWidth = getScrollPaneWidth(); + return scrollPaneWidth > prefWidth; + } + + private int getScrollPaneWidth() { + Container myParent = getParent(); + if (myParent == null) { + return 0; + } + if (myParent instanceof JViewport vp) { + return vp.getExtentSize().width; + } + Container grandParent = myParent.getParent(); + if (grandParent == null) { + return 0; + } + return grandParent.getSize().width; } @Override diff --git a/Ghidra/Test/IntegrationTest/src/screen/java/help/screenshot/DecompilePluginScreenShots.java b/Ghidra/Test/IntegrationTest/src/screen/java/help/screenshot/DecompilePluginScreenShots.java index aef20a0f55..d21430ae31 100644 --- a/Ghidra/Test/IntegrationTest/src/screen/java/help/screenshot/DecompilePluginScreenShots.java +++ b/Ghidra/Test/IntegrationTest/src/screen/java/help/screenshot/DecompilePluginScreenShots.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. @@ -24,9 +24,13 @@ import org.junit.Test; import docking.ComponentProvider; import docking.DockableComponent; +import docking.widgets.fieldpanel.FieldPanel; +import docking.widgets.fieldpanel.support.FieldLocation; import generic.theme.GThemeDefaults.Colors.Palette; +import ghidra.app.decompiler.component.DecompilerPanel; import ghidra.app.plugin.core.codebrowser.CodeViewerProvider; import ghidra.app.plugin.core.datamgr.DataTypesProvider; +import ghidra.app.plugin.core.decompile.DecompilerProvider; import ghidra.app.plugin.core.programtree.ViewManagerComponentProvider; public class DecompilePluginScreenShots extends GhidraScreenShotGenerator { @@ -115,52 +119,6 @@ public class DecompilePluginScreenShots extends GhidraScreenShotGenerator { image = tf.getImage(); } - @Test - public void testBackwardSlice() { - TextFormatter tf = new TextFormatter(16, 500, 4, 5, 0); - TextFormatterContext hl = new TextFormatterContext(Palette.BLACK, Palette.YELLOW); - TextFormatterContext red = new TextFormatterContext(Palette.RED, Palette.WHITE); - TextFormatterContext blue = new TextFormatterContext(Palette.BLUE, Palette.WHITE); - TextFormatterContext green = new TextFormatterContext(Palette.GREEN, Palette.WHITE); - TextFormatterContext greenhl = new TextFormatterContext(Palette.GREEN, Palette.YELLOW); - TextFormatterContext cursorhl = - new TextFormatterContext(Palette.BLACK, Palette.YELLOW, Palette.RED); - - tf.writeln(" |a| = |psParm2|->id;", hl, hl); - tf.writeln(" b = |max_alpha|(|psParm1|->next,|psParm1|->id);", red, hl, hl); - tf.writeln(" c = |max_beta|(psParm1->prev, |a|);", red, hl); - tf.writeln(" c = c + b;"); - tf.writeln(" dStack8 = |0|;", green); - tf.writeln(" |while| (psParm1->count != dStack8 && (sdword)dStack8) {", blue); - tf.writeln(" |if| (c < (sdword)(dStack8 + b)) {", blue); - tf.writeln(" c = c + |a|;", hl); - tf.writeln(" }"); - tf.writeln(" |else| {", blue); - tf.writeln(" |a| = |a| + |10|;", hl, hl, greenhl); - tf.writeln(" }"); - tf.writeln(" dStack8 = dStack8 + |1|;", green); - tf.writeln(" }"); - tf.writeln(" psParm1->count = |a| + c;", cursorhl); - tf.writeln(" |return|;", blue); - - image = tf.getImage(); - } - - @Test - public void testStructnotapplied() { - Image listingImage = getListingImage(); - Image decompImage = getDecompilerNoStructImage(); - int listingWidth = listingImage.getWidth(null); - int decompWidth = decompImage.getWidth(null); - int height = Math.max(listingImage.getHeight(null), decompImage.getHeight(null)); - BufferedImage combined = createEmptyImage(listingWidth + decompWidth, height); - Graphics2D g = combined.createGraphics(); - g.drawImage(listingImage, 0, 0, null); - g.drawImage(decompImage, listingWidth, 0, null); - g.dispose(); - image = combined; - } - public void testStructApplied() { Image listingImage = getListingImage(); Image decompImage = getDecompilerStructAppliedImage(); @@ -177,14 +135,37 @@ public class DecompilePluginScreenShots extends GhidraScreenShotGenerator { @Test public void testEditFunctionSignature() { + DecompilerProvider provider = (DecompilerProvider) getProvider("Decompiler"); + showProvider(provider.getClass()); goToListing(0x401040); - ComponentProvider provider = getProvider("Decompiler"); + int line = 2; // function signature line + int charPos = 15; // function name + setDecompilerLocation(provider, line, charPos); showProvider(provider.getClass()); waitForSwing(); performAction("Edit Function Signature", "DecompilePlugin", provider, false); captureDialog(); } + private void setDecompilerLocation(DecompilerProvider provider, int line, int charPosition) { + + DecompilerPanel panel = provider.getDecompilerPanel(); + FieldPanel fp = panel.getFieldPanel(); + FieldLocation loc = loc(line, charPosition); + + // scroll to the field to make sure it has been built so that we can get its point + fp.scrollTo(loc); + Point p = fp.getPointForLocation(loc); + + click(fp, p, 1, true); + waitForSwing(); + } + + private FieldLocation loc(int lineNumber, int col) { + FieldLocation loc = new FieldLocation(lineNumber - 1, 0, 0, col); + return loc; + } + private Image getListingImage() { Font font = new Font("Monospaced", Font.PLAIN, 12);