Package docking.widgets.filechooser
Class GhidraFileChooserPanel
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- docking.widgets.filechooser.GhidraFileChooserPanel
-
- All Implemented Interfaces:
Droppable
,java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,javax.accessibility.Accessible
public class GhidraFileChooserPanel extends javax.swing.JPanel implements Droppable
Panel for entering a file name that includes a title border, a text field for entering a filename, and a button for bringing up a file chooser dialog.- 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 Modifier and Type Field Description static int
INPUT_MODE
This mode denotes that only existing files will be chosen for the purpose of reading.static int
OUTPUT_MODE
This mode denotes that existing files (or new files) will be chosen for the purpose of writing.-
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 GhidraFileChooserPanel(java.lang.String title, java.lang.String propertyName, java.lang.String defaultFileName, boolean createBorder, int mode)
Constructs a new GhidraFileChooserPanel
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(java.lang.Object obj, java.awt.dnd.DropTargetDropEvent e, java.awt.datatransfer.DataFlavor f)
Add the object to the droppable component.void
addDocumentListener(javax.swing.event.DocumentListener dl)
Adds a document listener to the text field.void
dragUnderFeedback(boolean ok, java.awt.dnd.DropTargetDragEvent e)
Set drag feedback according to the ok parameterjava.lang.String
getCurrentDirectory()
java.lang.String
getFileName()
Returns the filename currently in the text field.boolean
isDropOk(java.awt.dnd.DropTargetDragEvent e)
Return true if is OK to drop the transferable at the location specified the eventvoid
setEnabled(boolean enabled)
void
setFileFilter(GhidraFileFilter filter)
Sets the file filter.void
setFileName(java.lang.String path)
Sets the textfield with the given filename.void
setFileSelectionMode(GhidraFileChooserMode mode)
Sets theGhidraFileChooser
to allow the user to just select files, just select directories, or select both files and directories.void
setListener(GhidraFileChooserPanelListener listener)
Sets the listener.void
undoDragUnderFeedback()
Revert back to normal if any drag feedback was set-
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, 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
-
-
-
-
Field Detail
-
INPUT_MODE
public static final int INPUT_MODE
This mode denotes that only existing files will be chosen for the purpose of reading.- See Also:
- Constant Field Values
-
OUTPUT_MODE
public static final int OUTPUT_MODE
This mode denotes that existing files (or new files) will be chosen for the purpose of writing. If an existing file is selected the user will be prompted to confirm overwrite.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
GhidraFileChooserPanel
public GhidraFileChooserPanel(java.lang.String title, java.lang.String propertyName, java.lang.String defaultFileName, boolean createBorder, int mode)
Constructs a new GhidraFileChooserPanel- Parameters:
title
- the title for this panelpropertyName
- the property name to save statedefaultFileName
- the default file name.createBorder
- flag to create the border or not.
-
-
Method Detail
-
setListener
public void setListener(GhidraFileChooserPanelListener listener)
Sets the listener.- Parameters:
listener
- the new listener
-
setFileFilter
public void setFileFilter(GhidraFileFilter filter)
Sets the file filter.- Parameters:
filter
- the new file filter
-
addDocumentListener
public void addDocumentListener(javax.swing.event.DocumentListener dl)
Adds a document listener to the text field.- Parameters:
dl
- the document listener to add.
-
getFileName
public java.lang.String getFileName()
Returns the filename currently in the text field.- Returns:
- the filename currently in the text field
-
getCurrentDirectory
public java.lang.String getCurrentDirectory()
-
setFileName
public void setFileName(java.lang.String path)
Sets the textfield with the given filename.- Parameters:
path
- the name of the file to put in the text field.
-
setEnabled
public void setEnabled(boolean enabled)
- Overrides:
setEnabled
in classjavax.swing.JComponent
- See Also:
Component.setEnabled(boolean)
-
add
public void add(java.lang.Object obj, java.awt.dnd.DropTargetDropEvent e, java.awt.datatransfer.DataFlavor f)
Description copied from interface:Droppable
Add the object to the droppable component. The DropTargetAdapter calls this method from its drop() method.- Specified by:
add
in interfaceDroppable
- Parameters:
obj
- Transferable object that is to be dropped.e
- has current state of drop operationf
- represents the opaque concept of a data format as would appear on a clipboard, during drag and drop.- See Also:
Droppable.add(java.lang.Object, java.awt.dnd.DropTargetDropEvent, java.awt.datatransfer.DataFlavor)
-
setFileSelectionMode
public void setFileSelectionMode(GhidraFileChooserMode mode)
Sets theGhidraFileChooser
to allow the user to just select files, just select directories, or select both files and directories. The default isGhidraFileChooserMode.FILES_ONLY
.- Parameters:
mode
- the type of files to be displayed- Throws:
java.lang.IllegalArgumentException
- ifmode
is an illegal Dialog mode
-
dragUnderFeedback
public void dragUnderFeedback(boolean ok, java.awt.dnd.DropTargetDragEvent e)
Description copied from interface:Droppable
Set drag feedback according to the ok parameter- Specified by:
dragUnderFeedback
in interfaceDroppable
- Parameters:
ok
- true means the drop action is OKe
- event that has current state of drag and drop operation- See Also:
Droppable.dragUnderFeedback(boolean, java.awt.dnd.DropTargetDragEvent)
-
isDropOk
public boolean isDropOk(java.awt.dnd.DropTargetDragEvent e)
Description copied from interface:Droppable
Return true if is OK to drop the transferable at the location specified the event- Specified by:
isDropOk
in interfaceDroppable
- Parameters:
e
- event that has current state of drag and drop operation- Returns:
- true if OK
- See Also:
Droppable.isDropOk(java.awt.dnd.DropTargetDragEvent)
-
undoDragUnderFeedback
public void undoDragUnderFeedback()
Description copied from interface:Droppable
Revert back to normal if any drag feedback was set- Specified by:
undoDragUnderFeedback
in interfaceDroppable
- See Also:
Droppable.undoDragUnderFeedback()
-
-