Package ghidra.app.decompiler.component
Class BasicDecompilerCodeComparisonPanel
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- ghidra.app.util.viewer.util.CodeComparisonPanel<DualDecompilerFieldPanelCoordinator>
-
- ghidra.app.decompiler.component.DecompilerCodeComparisonPanel<BasicDecompilerFieldPanelCoordinator>
-
- ghidra.app.decompiler.component.BasicDecompilerCodeComparisonPanel
-
- All Implemented Interfaces:
ExtensionPoint
,java.awt.event.FocusListener
,java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,java.util.EventListener
,javax.accessibility.Accessible
public class BasicDecompilerCodeComparisonPanel extends DecompilerCodeComparisonPanel<BasicDecompilerFieldPanelCoordinator>
Panel that displays two decompilers for comparison and synchronizes their scrolling using a basic coordinator.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
-
Fields inherited from class ghidra.app.util.viewer.util.CodeComparisonPanel
bottomComp, currProgramIndex, data, EMPTY_ADDRESS_SET, FOCUS_BORDER, functions, LEFT, leftTitlePrefix, MINIMUM_PANEL_WIDTH, NON_FOCUS_BORDER, owner, programs, RIGHT, rightTitlePrefix, titlePanels, tool, topComp
-
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
-
Constructor Summary
Constructors Constructor Description BasicDecompilerCodeComparisonPanel(java.lang.String owner, PluginTool tool)
Creates a default comparison panel with two decompilers.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected BasicDecompilerFieldPanelCoordinator
createFieldPanelCoordinator()
Creates a new FieldPanelCoordinator used to synchronize scrolling between the left and right view for this CodeComparisonPanel.java.lang.Class<? extends DecompilerCodeComparisonPanel<BasicDecompilerFieldPanelCoordinator>>
getPanelThisSupersedes()
Determines if this panel is intended to take the place of another and if so it returns the class of the panel to be superseded.-
Methods inherited from class ghidra.app.decompiler.component.DecompilerCodeComparisonPanel
addDualDecompileResultsListener, createActions, dispose, focusGained, getActionContext, getActions, getComponent, getFocusedDecompilerPanel, getLeftAddresses, getLeftDecompilerPanel, getLeftFieldPanel, getLeftPanel, getRightAddresses, getRightDecompilerPanel, getRightFieldPanel, getRightPanel, getTitle, isMatchingConstantsExactly, leftDecompileDataSet, leftPanelHasFocus, loadAddresses, loadData, loadFunctions, programRestored, refreshLeftPanel, refreshRightPanel, removeDualDecompileResultsListener, rightDecompileDataSet, setBottomComponent, setFieldPanelCoordinator, setHighlightControllers, setLeftTitle, setMouseNavigationEnabled, setPrograms, setRightTitle, setTitlePrefixes, setTopComponent, setVisible, updateActionEnablement
-
Methods inherited from class ghidra.app.util.viewer.util.CodeComparisonPanel
focusLost, getFieldPanelCoordinator, getLeftData, getLeftFunction, getLeftProgram, getRightData, getRightFunction, getRightProgram, getShowTitles, isScrollingSynced, setScrollingSyncState, setShowTitles
-
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
-
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, unregisterKeyboardAction, update
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
-
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Constructor Detail
-
BasicDecompilerCodeComparisonPanel
public BasicDecompilerCodeComparisonPanel(java.lang.String owner, PluginTool tool)
Creates a default comparison panel with two decompilers.- Parameters:
owner
- the owner of this paneltool
- the tool displaying this panel
-
-
Method Detail
-
getPanelThisSupersedes
public java.lang.Class<? extends DecompilerCodeComparisonPanel<BasicDecompilerFieldPanelCoordinator>> getPanelThisSupersedes()
Description copied from class:CodeComparisonPanel
Determines if this panel is intended to take the place of another and if so it returns the class of the panel to be superseded.- Specified by:
getPanelThisSupersedes
in classDecompilerCodeComparisonPanel<BasicDecompilerFieldPanelCoordinator>
- Returns:
- the class for the CodeComparisonPanel that this one supersedes or null if it doesn't supersede another panel.
-
createFieldPanelCoordinator
protected BasicDecompilerFieldPanelCoordinator createFieldPanelCoordinator()
Description copied from class:CodeComparisonPanel
Creates a new FieldPanelCoordinator used to synchronize scrolling between the left and right view for this CodeComparisonPanel.- Specified by:
createFieldPanelCoordinator
in classDecompilerCodeComparisonPanel<BasicDecompilerFieldPanelCoordinator>
- Returns:
- a new FieldPanelCoordinator
-
-