Class ListingCodeComparisonPanel
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
ghidra.app.util.viewer.util.CodeComparisonPanel<ListingComparisonFieldPanelCoordinator>
ghidra.app.util.viewer.listingpanel.ListingCodeComparisonPanel
- All Implemented Interfaces:
CodeFormatService
,FormatModelListener
,ListingDiffChangeListener
,OptionsChangeListener
,ExtensionPoint
,FocusListener
,ImageObserver
,MenuContainer
,Serializable
,EventListener
,Accessible
public class ListingCodeComparisonPanel
extends CodeComparisonPanel<ListingComparisonFieldPanelCoordinator>
implements FormatModelListener, CodeFormatService, ListingDiffChangeListener, OptionsChangeListener
Panel that displays two listings for comparison.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Field Summary
Modifier and TypeFieldDescriptionprotected static final HelpService
static final String
static final String
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
Fields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
Constructor Summary
ConstructorDescriptionListingCodeComparisonPanel
(String owner, PluginTool tool) Creates a comparison panel with two listings. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Adds the indicated button press listener to both listing panels in this code comparison panel.void
addHighlightProviders
(ListingHighlightProvider leftHighlightProvider, ListingHighlightProvider rightHighlightProvider) Adds the indicated highlight providers for the left and right listing panels.protected ListingComparisonFieldPanelCoordinator
Creates a new FieldPanelCoordinator used to synchronize scrolling between the left and right view for this CodeComparisonPanel.void
dispose()
Cleans up resources when this panel is no longer neededvoid
void
formatModelAdded
(FieldFormatModel model) Notifies that a new format model was added to the format manager.void
Notifies that the given format model was changed.void
Notifies that a format model was removed.getActionContext
(ComponentProvider provider, MouseEvent event) Returns the context object which corresponds to the area of focus within this provider's component.getActionContext
(MouseEvent event, ComponentProvider provider) Returns the actions for this panelThe GUI component for this CodeComparisonPanelGets a marker margin or overview margin context object if the mouse event occurred on one of the GUI components for the indicated listing panel's marker margin (left edge of listing) or overview margin (right edge of listing).Get the left or right listing panel that has or last had focus.Gets the program from the left or right side that has or last had focus.Gets the addresses in the left listing panel.Gets the data loaded in the left listing panel.Gets the left field panel for this CodeComparisonPanel.Gets the function loaded in the left listing panel.Get the left side's listing panel.Gets the program in the left listing panel.getListingPanel
(FieldPanel fieldPanel) Gets the left or right listing panel that contains the indicated field panel.Gets the addresses in the right listing panel.Gets the data loaded in the right listing panel.Gets the right field panel for this CodeComparisonPanel.Gets the function loaded in the right listing panel.Get the right side's listing panel.Gets the program in the right listing panel.getTitle()
The title for this code comparison panelboolean
Go to the indicated address in the listing that last had focus.boolean
goTo
(ProgramLocation loc, boolean centerOnScreen) Go to the indicated location in the listing that last had focus.boolean
boolean
Determines if the listing's layout field header is currently showing.boolean
boolean
Determines if the left code panel currently has focus.void
Called when the ListingDiff's set of differences and unmatched addresses has changed.void
loadAddresses
(Program leftProgram, Program rightProgram, AddressSetView leftAddresses, AddressSetView rightAddresses) Displays program information for a particular set of addresses in the two programs being comparedvoid
Displays a comparison of two program's data itemsvoid
loadFunctions
(Function leftFunction, Function rightFunction) Displays a comparison of two program's functionsvoid
optionsChanged
(ToolOptions options, String optionName, Object oldValue, Object newValue) Notification that an option changed.void
programRestored
(Program program) Called when the indicated program has been restored because of an Undo/Redo.void
readConfigState
(String prefix, SaveState saveState) Restores this panel to the indicated saved configuration state.void
Refreshes the left side of this panel.void
Refreshes the right side of this panel.void
removeHighlightProviders
(ListingHighlightProvider leftHighlightProvider, ListingHighlightProvider rightHighlightProvider) Removes the indicated highlight providers from the left and right listing panels.void
setBottomComponent
(JComponent comp) Sets the component displayed in the bottom of this panel.void
setFieldPanelCoordinator
(ListingComparisonFieldPanelCoordinator listingFieldPanelCoordinator) Sets the coordinator for the two listings within this code comparison panel.void
setHeaderShowing
(boolean show) Shows or hides the listing's layout field header.void
setLeftLocation
(Program program, ProgramLocation location) Sets the cursor in the left side's listing to the specified location.void
setLeftProgramLocationListener
(ProgramLocationListener programLocationListener) Sets a listener for program location changes for the left side's listing panel.void
setLeftTitle
(String leftTitle) Sets the title for the left side's listing.void
setLocation
(Function leftFunction, Function rightFunction) Sets the cursor location in the left and right listing at the specified functions.void
setMouseNavigationEnabled
(boolean enabled) Disable mouse navigation from within this dual listing panel.protected void
setPrograms
(Program leftProgram, Program rightProgram) Specifies the two programs to be compared by this panelvoid
setRightLocation
(Program program, ProgramLocation location) Sets the cursor in the right side's listing to the specified location.void
setRightProgramLocationListener
(ProgramLocationListener programLocationListener) Sets a listener for program location changes for the right side's listing panel.void
setRightTitle
(String rightTitle) Sets the title for the right side's listing.void
setScrollingSyncState
(boolean syncScrolling) Sets whether or not scrolling is synchronized.void
setTitlePrefixes
(String leftTitlePrefix, String rightTitlePrefix) A CodeComparisonPanel should provide a title based on what the code comparison panel is displaying.void
setTopComponent
(JComponent comp) Sets the component displayed in the top of this panel.void
setVisible
(boolean aFlag) void
showEntireListing
(boolean show) Sets whether or not the entire programs are displayed in the listings or only the addresses in the limited set.void
showSideBySide
(boolean sideBySide) Sets whether or not the listings are displayed side by side.void
Updates the enablement for all actions provided by this panel.void
Repaints both the left and right listing panels if they are visible.void
writeConfigState
(String prefix, SaveState saveState) Saves the current configuration state of this panel.Methods inherited from class ghidra.app.util.viewer.util.CodeComparisonPanel
focusLost, getFieldPanelCoordinator, getShowTitles, isScrollingSynced, 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
-
Field Details
-
NAME
- See Also:
-
TITLE
- See Also:
-
help
-
-
Constructor Details
-
ListingCodeComparisonPanel
Creates a comparison panel with two listings.- Parameters:
owner
- the owner of this paneltool
- the tool displaying this panel
-
-
Method Details
-
optionsChanged
public void optionsChanged(ToolOptions options, String optionName, Object oldValue, Object newValue) Description copied from interface:OptionsChangeListener
Notification that an option changed.Note: to reject an options change, you can throw a
OptionsVetoException
.- Specified by:
optionsChanged
in interfaceOptionsChangeListener
- Parameters:
options
- options object containing the property that changedoptionName
- name of option that changedoldValue
- old value of the optionnewValue
- new value of the option
-
getComponent
Description copied from class:CodeComparisonPanel
The GUI component for this CodeComparisonPanel- Specified by:
getComponent
in classCodeComparisonPanel<ListingComparisonFieldPanelCoordinator>
- Returns:
- the component
-
getTitle
Description copied from class:CodeComparisonPanel
The title for this code comparison panel- Specified by:
getTitle
in classCodeComparisonPanel<ListingComparisonFieldPanelCoordinator>
- Returns:
- the title
-
setVisible
public void setVisible(boolean aFlag) - Overrides:
setVisible
in classJComponent
-
setFieldPanelCoordinator
public void setFieldPanelCoordinator(ListingComparisonFieldPanelCoordinator listingFieldPanelCoordinator) Sets the coordinator for the two listings within this code comparison panel. It coordinates their scrolling and location synchronization.- Overrides:
setFieldPanelCoordinator
in classCodeComparisonPanel<ListingComparisonFieldPanelCoordinator>
- Parameters:
listingFieldPanelCoordinator
- the coordinator for the two listings
-
addHighlightProviders
public void addHighlightProviders(ListingHighlightProvider leftHighlightProvider, ListingHighlightProvider rightHighlightProvider) Adds the indicated highlight providers for the left and right listing panels.- Parameters:
leftHighlightProvider
- the highlight provider for the left side's listing.rightHighlightProvider
- the highlight provider for the right side's listing.
-
removeHighlightProviders
public void removeHighlightProviders(ListingHighlightProvider leftHighlightProvider, ListingHighlightProvider rightHighlightProvider) Removes the indicated highlight providers from the left and right listing panels.- Parameters:
leftHighlightProvider
- the highlight provider for the left side's listing.rightHighlightProvider
- the highlight provider for the right side's listing.
-
setPrograms
Description copied from class:CodeComparisonPanel
Specifies the two programs to be compared by this panel- Specified by:
setPrograms
in classCodeComparisonPanel<ListingComparisonFieldPanelCoordinator>
- Parameters:
leftProgram
- the program for the left siderightProgram
- the program for the right side
-
setLeftProgramLocationListener
Sets a listener for program location changes for the left side's listing panel.- Parameters:
programLocationListener
- the listener
-
setRightProgramLocationListener
Sets a listener for program location changes for the right side's listing panel.- Parameters:
programLocationListener
- the listener
-
getActions
Description copied from class:CodeComparisonPanel
Returns the actions for this panel- Overrides:
getActions
in classCodeComparisonPanel<ListingComparisonFieldPanelCoordinator>
- Returns:
- an array of docking actions
-
updateActionEnablement
public void updateActionEnablement()Updates the enablement for all actions provided by this panel.- Specified by:
updateActionEnablement
in classCodeComparisonPanel<ListingComparisonFieldPanelCoordinator>
-
isEntireListingShowing
public boolean isEntireListingShowing() -
showEntireListing
public void showEntireListing(boolean show) Sets whether or not the entire programs are displayed in the listings or only the addresses in the limited set.- Parameters:
show
- if true, the entire program will be shown. Otherwise the listings will only show the limited addresses.
-
isHeaderShowing
public boolean isHeaderShowing()Determines if the listing's layout field header is currently showing.- Returns:
- true if the header is showing.
-
setHeaderShowing
public void setHeaderShowing(boolean show) Shows or hides the listing's layout field header.- Parameters:
show
- true means show the field header. false means hide the header.
-
isSideBySide
public boolean isSideBySide() -
showSideBySide
public void showSideBySide(boolean sideBySide) Sets whether or not the listings are displayed side by side.- Parameters:
sideBySide
- if true, the listings are side by side, otherwise one is above the other.
-
loadFunctions
Description copied from class:CodeComparisonPanel
Displays a comparison of two program's functions- Specified by:
loadFunctions
in classCodeComparisonPanel<ListingComparisonFieldPanelCoordinator>
- Parameters:
leftFunction
- the function to show in the left side of the code comparison viewrightFunction
- the function to show in the right side of the code comparison view
-
getLeftFunction
Gets the function loaded in the left listing panel.- Overrides:
getLeftFunction
in classCodeComparisonPanel<ListingComparisonFieldPanelCoordinator>
- Returns:
- the function or null
-
getRightFunction
Gets the function loaded in the right listing panel.- Overrides:
getRightFunction
in classCodeComparisonPanel<ListingComparisonFieldPanelCoordinator>
- Returns:
- the function or null
-
loadAddresses
public void loadAddresses(Program leftProgram, Program rightProgram, AddressSetView leftAddresses, AddressSetView rightAddresses) Description copied from class:CodeComparisonPanel
Displays program information for a particular set of addresses in the two programs being compared- Specified by:
loadAddresses
in classCodeComparisonPanel<ListingComparisonFieldPanelCoordinator>
- Parameters:
leftProgram
- the program in the left side of the code comparison viewrightProgram
- the program in the right side of the code comparison viewleftAddresses
- the addresses of the program info to show in the left siderightAddresses
- the addresses of the program info to show in the right side
-
setLocation
Sets the cursor location in the left and right listing at the specified functions.- Parameters:
leftFunction
- the function in the left listing panel.rightFunction
- the function in the right listing panel.
-
setLeftLocation
Sets the cursor in the left side's listing to the specified location.- Parameters:
program
- the left side's programlocation
- the location
-
setRightLocation
Sets the cursor in the right side's listing to the specified location.- Parameters:
program
- the right side's programlocation
- the location
-
setLeftTitle
Sets the title for the left side's listing.- Parameters:
leftTitle
- the title
-
setRightTitle
Sets the title for the right side's listing.- Parameters:
rightTitle
- the title
-
setTopComponent
Sets the component displayed in the top of this panel.- Parameters:
comp
- the component.
-
setBottomComponent
Sets the component displayed in the bottom of this panel.- Parameters:
comp
- the component.
-
getFocusedProgram
Gets the program from the left or right side that has or last had focus.- Returns:
- the program from the side of this panel with focus or null
-
getLeftProgram
Gets the program in the left listing panel.- Overrides:
getLeftProgram
in classCodeComparisonPanel<ListingComparisonFieldPanelCoordinator>
- Returns:
- the left program or null
-
getRightProgram
Gets the program in the right listing panel.- Overrides:
getRightProgram
in classCodeComparisonPanel<ListingComparisonFieldPanelCoordinator>
- Returns:
- the right program or null
-
getLeftAddresses
Gets the addresses in the left listing panel.- Specified by:
getLeftAddresses
in classCodeComparisonPanel<ListingComparisonFieldPanelCoordinator>
- Returns:
- the addresses
-
getRightAddresses
Gets the addresses in the right listing panel.- Specified by:
getRightAddresses
in classCodeComparisonPanel<ListingComparisonFieldPanelCoordinator>
- Returns:
- the addresses
-
getFocusedListingPanel
Get the left or right listing panel that has or last had focus.- Returns:
- the listing panel with focus.
-
getLeftPanel
Get the left side's listing panel.- Returns:
- the left panel
-
getRightPanel
Get the right side's listing panel.- Returns:
- the right panel
-
goTo
Go to the indicated address in the listing that last had focus.- Parameters:
addr
- the cursor should go to this address- Returns:
- true if the location changed
-
goTo
Go to the indicated location in the listing that last had focus.- Parameters:
loc
- the cursor should go to this location.centerOnScreen
- true indicates that the location should be centered in the listing's viewport.- Returns:
- true if the location changed
-
dispose
public void dispose()Description copied from class:CodeComparisonPanel
Cleans up resources when this panel is no longer needed- Specified by:
dispose
in classCodeComparisonPanel<ListingComparisonFieldPanelCoordinator>
-
focusGained
- Specified by:
focusGained
in interfaceFocusListener
-
getActionContext
Description copied from class:CodeComparisonPanel
Returns the context object which corresponds to the area of focus within this provider's component. Null is returned when there is no context.- Specified by:
getActionContext
in classCodeComparisonPanel<ListingComparisonFieldPanelCoordinator>
- Parameters:
provider
- the provider that includes this code comparison component.event
- mouse event which corresponds to this request. May be null for key-stroke or other non-mouse event.- Returns:
- the action context for the area of focus in this component.
-
addButtonPressedListener
Adds the indicated button press listener to both listing panels in this code comparison panel.- Parameters:
listener
- the listener
-
updateListings
public void updateListings()Repaints both the left and right listing panels if they are visible. -
formatModelAdded
Description copied from interface:FormatModelListener
Notifies that a new format model was added to the format manager.- Specified by:
formatModelAdded
in interfaceFormatModelListener
- Parameters:
model
- the new model.
-
formatModelChanged
Description copied from interface:FormatModelListener
Notifies that the given format model was changed.- Specified by:
formatModelChanged
in interfaceFormatModelListener
- Parameters:
model
- the model that was changed.
-
formatModelRemoved
Description copied from interface:FormatModelListener
Notifies that a format model was removed.- Specified by:
formatModelRemoved
in interfaceFormatModelListener
- Parameters:
model
- the model that was removed.
-
getListingPanel
Gets the left or right listing panel that contains the indicated field panel.- Parameters:
fieldPanel
- the field panel- Returns:
- the listing panel or null.
-
getFormatManager
- Specified by:
getFormatManager
in interfaceCodeFormatService
-
loadData
Description copied from class:CodeComparisonPanel
Displays a comparison of two program's data items- Specified by:
loadData
in classCodeComparisonPanel<ListingComparisonFieldPanelCoordinator>
- Parameters:
leftData
- the data item to show in the left side of the code comparison viewrightData
- the data item to show in the right side of the code comparison view
-
getLeftData
Gets the data loaded in the left listing panel.- Overrides:
getLeftData
in classCodeComparisonPanel<ListingComparisonFieldPanelCoordinator>
- Returns:
- the data or null
-
getRightData
Gets the data loaded in the right listing panel.- Overrides:
getRightData
in classCodeComparisonPanel<ListingComparisonFieldPanelCoordinator>
- Returns:
- the data or null
-
listingDiffChanged
public void listingDiffChanged()Description copied from interface:ListingDiffChangeListener
Called when the ListingDiff's set of differences and unmatched addresses has changed.- Specified by:
listingDiffChanged
in interfaceListingDiffChangeListener
-
refreshLeftPanel
public void refreshLeftPanel()Description copied from class:CodeComparisonPanel
Refreshes the left side of this panel.- Specified by:
refreshLeftPanel
in classCodeComparisonPanel<ListingComparisonFieldPanelCoordinator>
-
refreshRightPanel
public void refreshRightPanel()Description copied from class:CodeComparisonPanel
Refreshes the right side of this panel.- Specified by:
refreshRightPanel
in classCodeComparisonPanel<ListingComparisonFieldPanelCoordinator>
-
programRestored
Description copied from class:CodeComparisonPanel
Called when the indicated program has been restored because of an Undo/Redo. This method allows this CodeComparisonPanel to take an appropriate action (such as refreshing itself) to respond to the program changing.- Specified by:
programRestored
in classCodeComparisonPanel<ListingComparisonFieldPanelCoordinator>
- Parameters:
program
- the program that was restored.
-
leftPanelHasFocus
public boolean leftPanelHasFocus()Description copied from class:CodeComparisonPanel
Determines if the left code panel currently has focus.- Specified by:
leftPanelHasFocus
in classCodeComparisonPanel<ListingComparisonFieldPanelCoordinator>
- Returns:
- true if the left side of the code comparison has focus.
-
setTitlePrefixes
Description copied from class:CodeComparisonPanel
A CodeComparisonPanel should provide a title based on what the code comparison panel is displaying. This method sets a prefix string that should be prepended to each of the code comparison panel's titles.- Specified by:
setTitlePrefixes
in classCodeComparisonPanel<ListingComparisonFieldPanelCoordinator>
- Parameters:
leftTitlePrefix
- the prefix string to prepend to the left panel's title.rightTitlePrefix
- the prefix string to prepend to the right panel's title.
-
getActionContext
-
getContextObjectForMarginPanels
Gets a marker margin or overview margin context object if the mouse event occurred on one of the GUI components for the indicated listing panel's marker margin (left edge of listing) or overview margin (right edge of listing).- Parameters:
lp
- The listing panel to checkevent
- the mouse event- Returns:
- a marker margin context object if the event was on a margin.
-
getLeftFieldPanel
Description copied from class:CodeComparisonPanel
Gets the left field panel for this CodeComparisonPanel.- Specified by:
getLeftFieldPanel
in classCodeComparisonPanel<ListingComparisonFieldPanelCoordinator>
- Returns:
- the left FieldPanel.
-
getRightFieldPanel
Description copied from class:CodeComparisonPanel
Gets the right field panel for this CodeComparisonPanel.- Specified by:
getRightFieldPanel
in classCodeComparisonPanel<ListingComparisonFieldPanelCoordinator>
- Returns:
- the right FieldPanel.
-
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 classCodeComparisonPanel<ListingComparisonFieldPanelCoordinator>
- Returns:
- a new FieldPanelCoordinator
-
readConfigState
Restores this panel to the indicated saved configuration state.- Parameters:
prefix
- identifier to prepend to any save state names to make them unique.saveState
- the configuration state to restore
-
writeConfigState
Saves the current configuration state of this panel.- Parameters:
prefix
- identifier to prepend to any save state names to make them unique.saveState
- the new configuration state
-
setScrollingSyncState
public void setScrollingSyncState(boolean syncScrolling) Description copied from class:CodeComparisonPanel
Sets whether or not scrolling is synchronized.- Overrides:
setScrollingSyncState
in classCodeComparisonPanel<ListingComparisonFieldPanelCoordinator>
- Parameters:
syncScrolling
- true means synchronize scrolling and location between the two views.
-