Package ghidra.framework.main.datatree

# Class VersionHistoryPanel

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
ghidra.framework.main.datatree.VersionHistoryPanel

All Implemented Interfaces:
  `Draggable`, `ImageObserver`, `MenuContainer`, `Serializable`, `Accessible`

public class VersionHistoryPanel extends JPanel implements Draggable
Panel that shows version history in a JTable

See Also:
  - Serialized Form

- ## 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

  ### 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

  Constructors
  Constructor
  Description
  `VersionHistoryPanel(PluginTool tool, DomainFile domainFile)`
  Constructor

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addListSelectionListener(ListSelectionListener selectionListener)`
  Add the list selection listener to the history table
  `List<DockingActionIf>`
  `createPopupActions()`
  `DomainFile`
  `getDomainFile()`
  Get current domain file
  `String`
  `getDomainFilePath()`
  Get current domain file path or null
  `int`
  `getDragAction()`
  Get the drag actions supported by this drag source: DnDConstants.ACTION_MOVE DnDConstants.ACTION_COPY DnDConstants.ACTION_COPY_OR_MOVE
  `DragSourceListener`
  `getDragSourceListener()`
  Called by the DragGestureAdapter when the drag is started.
  `Version`
  `getSelectedVersion()`
  Get the selected `Version`.
  `int`
  `getSelectedVersionNumber()`
  Get the selected version number or `DomainFile.DEFAULT_VERSION` if no selection.
  `Transferable`
  `getTransferable(Point p)`
  Get the object to transfer.
  `boolean`
  `isStartDragOk(DragGestureEvent e)`
  Return true if the object at the location in the DragGesture event is draggable.
  `boolean`
  `isVersionSelected()`
  Determine if a version selection has been made.
  `void`
  `removeListSelectionListener(ListSelectionListener selectionListener)`
  Remove the list selection listener from history table.
  `void`
  `setDomainFile(DomainFile domainFile)`
  Set the domain file to show its history.

  ### 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, setVisible, 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`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface docking.dnd.Draggable

  `dragFinished`

- ## Constructor Details

  - ### VersionHistoryPanel

    public VersionHistoryPanel(PluginTool tool, DomainFile domainFile) throws IOException
    Constructor
    Parameters:
      `tool` - tool
      `domainFile` - domain file; may be null
    Throws:
      `IOException` - if there was a problem accessing the version history

- ## Method Details

  - ### setDomainFile

    public void setDomainFile(DomainFile domainFile)
    Set the domain file to show its history. If file not found a null file will be set.
    Parameters:
      `domainFile` - the file

  - ### getDomainFile

    public DomainFile getDomainFile()
    Get current domain file
    Returns:
      current domain file

  - ### getDomainFilePath

    public String getDomainFilePath()
    Get current domain file path or null
    Returns:
      domain file path

  - ### addListSelectionListener

    public void addListSelectionListener(ListSelectionListener selectionListener)
    Add the list selection listener to the history table
    Parameters:
      `selectionListener` - the listener

  - ### removeListSelectionListener

    public void removeListSelectionListener(ListSelectionListener selectionListener)
    Remove the list selection listener from history table.
    Parameters:
      `selectionListener` - the listener

  - ### getSelectedVersion

    public Version getSelectedVersion()
    Get the selected `Version`.
    Returns:
      selected `Version` or null if no selection

  - ### isVersionSelected

    public boolean isVersionSelected()
    Determine if a version selection has been made.
    Returns:
      true if version selection has been made, esle false

  - ### getSelectedVersionNumber

    public int getSelectedVersionNumber()
    Get the selected version number or `DomainFile.DEFAULT_VERSION` if no selection.
    Returns:
      selected version number

  - ### getDragAction

    public int getDragAction()
    Description copied from interface: `Draggable`
    Get the drag actions supported by this drag source:
    - DnDConstants.ACTION_MOVE
    - DnDConstants.ACTION_COPY
    - DnDConstants.ACTION_COPY_OR_MOVE
    Specified by:
      `getDragAction` in interface `Draggable`
    Returns:
      the drag actions

  - ### getDragSourceListener

    public DragSourceListener getDragSourceListener()
    Description copied from interface: `Draggable`
    Called by the DragGestureAdapter when the drag is started.
    Specified by:
      `getDragSourceListener` in interface `Draggable`
    Returns:
      the listener
    See Also:
      - `DragGestureEvent.startDrag(Cursor, Image, Point, Transferable, DragSourceListener)`

  - ### getTransferable

    public Transferable getTransferable(Point p)
    Description copied from interface: `Draggable`
    Get the object to transfer.
    Specified by:
      `getTransferable` in interface `Draggable`
    Parameters:
      `p` - location of object to transfer
    Returns:
      object to transfer

  - ### isStartDragOk

    public boolean isStartDragOk(DragGestureEvent e)
    Description copied from interface: `Draggable`
    Return true if the object at the location in the DragGesture event is draggable.
    Specified by:
      `isStartDragOk` in interface `Draggable`
    Parameters:
      `e` - event passed to a DragGestureListener via its dragGestureRecognized() method when a particular DragGestureRecognizer detects a platform dependent Drag and Drop action initiating gesture has occurred on the Component it is tracking.
    Returns:
      true if a drag can be starts
    See Also:
      - `DragGestureAdapter`

  - ### createPopupActions

    public List<DockingActionIf> createPopupActions()