Package docking.widgets.pathmanager
Class PathnameTablePanel
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
docking.widgets.pathmanager.PathnameTablePanel
- All Implemented Interfaces:
ImageObserver,MenuContainer,Serializable,Accessible
Component that has a table to show pathnames; the panel includes buttons to control the order of
the paths, and to add and remove paths. The add button brings up a file chooser. Call the
setFileChooser() method to control how the file chooser should behave. If the table entries
should not be edited, call setEditingEnabled(false).
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanelNested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested 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_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
ConstructorsConstructorDescriptionPathnameTablePanel(String[] paths, boolean enableEdits, boolean addToTop, boolean ordered) Construct a new PathnameTablePanel.PathnameTablePanel(String[] paths, Callback resetCallback, boolean enableEdits, boolean addToTop, boolean ordered, boolean supportsDotPath) Construct a new PathnameTablePanel with a reset button -
Method Summary
Modifier and TypeMethodDescriptionvoidclear()Clear the paths in the table.String[]getPaths()getTable()protected intvoidsetAddToTop(boolean addToTop) Set whether new paths should be added to the top of the table (true) or at the end of the table (false).voidsetEditingEnabled(boolean enableEdits) Set whether the entries in the table can be edited.voidsetFileChooserProperties(String title, String preferenceForLastSelectedDir, GhidraFileChooserMode selectionMode, boolean allowMultiSelection, GhidraFileFilter filter) Set properties on the file chooser that is displayed when the "Add" button is pressed.voidsetOrdered(boolean ordered) Set whether the order of entries in the table matters.voidMethods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUIMethods 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, updateMethods 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, validateTreeMethods 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 Details
-
PathnameTablePanel
Construct a new PathnameTablePanel.- Parameters:
paths- list of paths to show; may be nullenableEdits- true to allow editing of entries directly in the table, i.e., via the cell editor. The add and remove buttons still allow modification of the list.addToTop- true if the add button should add entries to the top of the list. False to add entries to the bottom. This behavior is overridden iforderedis false.ordered- true if the order of entries matters. If so, up and down buttons are provided so the user may arrange the entries. If not, entries are sorted alphabetically.
-
PathnameTablePanel
public PathnameTablePanel(String[] paths, Callback resetCallback, boolean enableEdits, boolean addToTop, boolean ordered, boolean supportsDotPath) Construct a new PathnameTablePanel with a reset button- Parameters:
paths- list of paths to show; may be nullresetCallback- callback containing the action to perform if the reset button is pressedenableEdits- true to allow editing of entries directly in the table, i.e., via the cell editor. The add and remove buttons still allow modification of the list.addToTop- true if the add button should add entries to the top of the list. False to add entries to the bottom. This behavior is overridden iforderedis false.ordered- true if the order of entries matters. If so, up and down buttons are provided so the user may arrange the entries. If not, entries are sorted alphabetically.supportsDotPath- true if the add button should support adding the "." path. If so, the user will be prompted to choose from a file browser, or adding ".".
-
-
Method Details
-
setFileChooserProperties
public void setFileChooserProperties(String title, String preferenceForLastSelectedDir, GhidraFileChooserMode selectionMode, boolean allowMultiSelection, GhidraFileFilter filter) Set properties on the file chooser that is displayed when the "Add" button is pressed.- Parameters:
title- title of the file chooserpreferenceForLastSelectedDir- Preference to use as the current directory in the file chooserselectionMode- mode defined in GhidraFileFilter, e.g., GhidraFileFilter.FILES_ONLYallowMultiSelection- true if multiple files can be selectedfilter- filter to use; may be null if no filtering is required
-
setEditingEnabled
public void setEditingEnabled(boolean enableEdits) Set whether the entries in the table can be edited.- Parameters:
enableEdits- false means to not allow editing; the table is editable by default.
-
setAddToTop
public void setAddToTop(boolean addToTop) Set whether new paths should be added to the top of the table (true) or at the end of the table (false).- Parameters:
addToTop- true means to add to the top of the table
-
setOrdered
public void setOrdered(boolean ordered) Set whether the order of entries in the table matters.WARNING: When this is set to false, the entries are immediately sorted and the up and down buttons removed. Setting it back to true will replace the buttons, but will not restore the order. In general, this should be set once, at the start of the table's life cycle.
- Parameters:
ordered- true means the user can control the order, false means they cannot.
-
getPaths
-
setPaths
-
getTable
-
clear
public void clear()Clear the paths in the table. -
promptConfirmReset
protected int promptConfirmReset()
-