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 intINPUT_MODEThis mode denotes that only existing files will be chosen for the purpose of reading.static intOUTPUT_MODEThis 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 voidadd(java.lang.Object obj, java.awt.dnd.DropTargetDropEvent e, java.awt.datatransfer.DataFlavor f)Add the object to the droppable component.voidaddDocumentListener(javax.swing.event.DocumentListener dl)Adds a document listener to the text field.voiddragUnderFeedback(boolean ok, java.awt.dnd.DropTargetDragEvent e)Set drag feedback according to the ok parameterjava.lang.StringgetCurrentDirectory()java.lang.StringgetFileName()Returns the filename currently in the text field.booleanisDropOk(java.awt.dnd.DropTargetDragEvent e)Return true if is OK to drop the transferable at the location specified the eventvoidsetEnabled(boolean enabled)voidsetFileFilter(GhidraFileFilter filter)Sets the file filter.voidsetFileName(java.lang.String path)Sets the textfield with the given filename.voidsetFileSelectionMode(GhidraFileChooserMode mode)Sets theGhidraFileChooserto allow the user to just select files, just select directories, or select both files and directories.voidsetListener(GhidraFileChooserPanelListener listener)Sets the listener.voidundoDragUnderFeedback()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:
setEnabledin 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:DroppableAdd the object to the droppable component. The DropTargetAdapter calls this method from its drop() method.- Specified by:
addin 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 theGhidraFileChooserto 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- ifmodeis an illegal Dialog mode
-
dragUnderFeedback
public void dragUnderFeedback(boolean ok, java.awt.dnd.DropTargetDragEvent e)Description copied from interface:DroppableSet drag feedback according to the ok parameter- Specified by:
dragUnderFeedbackin 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:DroppableReturn true if is OK to drop the transferable at the location specified the event- Specified by:
isDropOkin 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:DroppableRevert back to normal if any drag feedback was set- Specified by:
undoDragUnderFeedbackin interfaceDroppable- See Also:
Droppable.undoDragUnderFeedback()
-
-