Package org.gjt.sp.jedit.browser
Class VFSBrowser
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- org.gjt.sp.jedit.browser.VFSBrowser
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,javax.accessibility.Accessible
,DefaultFocusComponent
,DockableWindow
public class VFSBrowser extends javax.swing.JPanel implements DefaultFocusComponent, DockableWindow
The main class of the VFS browser. Used as dockable, and also embedded inside the VFSFileChooserDialog.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
VFSBrowser.DirectoriesOnlyFilter
-
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
BROWSER
Stand-alone dockable browser mode.static int
BROWSER_DIALOG
File Open Dialog with extra context menu actions like the BROWSER mode.static int
CHOOSE_DIRECTORY_DIALOG
Choose directory dialog mode.static int
M_INSERT
static int
M_OPEN
static int
M_OPEN_NEW_PLAIN_VIEW
static int
M_OPEN_NEW_SPLIT
static int
M_OPEN_NEW_VIEW
static java.lang.String
NAME
static int
OPEN_DIALOG
Open file dialog mode.static int
SAVE_DIALOG
Save file dialog mode.-
Fields inherited from class javax.swing.JComponent
TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
-
Constructor Summary
Constructors Constructor Description VFSBrowser(View view, java.lang.String position)
Creates a new VFS browser.VFSBrowser(View view, java.lang.String path, int mode, boolean multipleSelection, java.lang.String position)
Creates a new VFS browser.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addBrowserListener(BrowserListener l)
void
addNotify()
void
addVFSFileFilter(VFSFileFilter filter)
Adds a file filter to the browser.static void
browseDirectory(View view, java.lang.String path)
Opens the specified directory in a file system browser.static void
browseDirectoryInNewWindow(View view, java.lang.String path)
Opens the specified directory in a new, floating, file system browser.javax.swing.JComponent
createPluginsMenu(javax.swing.JComponent pluginMenu, boolean showManagerOptions)
void
delete(VFSFile[] files)
Note that all files must be on the same VFS.void
dispose()
Disposes the browser, regardless of whether it is a dialog or a dockablevoid
fileProperties(VFSFile[] files)
Show selected file's properties.void
filesActivated(int mode, boolean canDoubleClickClose)
This method does the "double-click" handling.void
focusOnDefaultComponent()
Sets focus on the default component.static ActionContext
getActionContext()
Returns the browser action context.java.lang.String
getDirectory()
HistoryTextField
getDirectoryField()
static java.lang.String
getLastVisitedPath()
Returns the last path visited by VFSBrowser.int
getMode()
static java.lang.String
getRootDirectory()
VFSFile[]
getSelectedFiles()
Return the selected files in the lower browser tree.VFSFile[]
getSelectedFiles(java.awt.Component source)
Return the selected files from the point of view of the given component.boolean
getShowHiddenFiles()
VFSFileFilter
getVFSFileFilter()
Returns the currently active VFSFileFilter.View
getView()
void
handleBufferUpdate(BufferUpdate bmsg)
void
handlePluginUpdate(PluginUpdate pmsg)
void
handlePropertiesChanged(PropertiesChanged msg)
void
handleVFSUpdate(VFSUpdate msg)
boolean
isHorizontalLayout()
boolean
isMultipleSelectionEnabled()
void
locateFile(java.lang.String path)
Goes to the given file's directory and selects the file in the list.void
mkdir()
void
move(java.lang.String newPosition)
Notifies a dockable window before its docking position is changed.void
newFile()
Creates a new file in the current directory.void
nextDirectory()
void
paste(VFSFile file)
Paste the file contained in the clipboard.void
previousDirectory()
void
reloadDirectory()
void
removeBrowserListener(BrowserListener l)
void
removeNotify()
void
rename(java.lang.String from)
void
rename(java.lang.String from, java.lang.String newname)
Rename a filevoid
rename(VFSFile from)
Rename a file.void
rename(VFSFile from, java.lang.String to)
Rename a file.void
rootDirectory()
Goes to the local drives directory.void
searchInDirectory()
Opens a directory search in the current directory.void
searchInDirectory(java.lang.String path, boolean directory)
Opens a directory search in the specified directory.void
setDirectory(java.lang.String path)
void
setFilenameFilter(java.lang.String filter)
void
setShowHiddenFiles(boolean showHiddenFiles)
-
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
-
Methods inherited from class javax.swing.JComponent
addAncestorListener, 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, 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
-
-
-
-
Field Detail
-
NAME
public static final java.lang.String NAME
- See Also:
- Constant Field Values
-
OPEN_DIALOG
public static final int OPEN_DIALOG
Open file dialog mode. Equals JFileChooser.OPEN_DIALOG for backwards compatibility.- See Also:
- Constant Field Values
-
SAVE_DIALOG
public static final int SAVE_DIALOG
Save file dialog mode. Equals JFileChooser.SAVE_DIALOG for backwards compatibility.- See Also:
- Constant Field Values
-
BROWSER_DIALOG
public static final int BROWSER_DIALOG
File Open Dialog with extra context menu actions like the BROWSER mode.- See Also:
- Constant Field Values
-
CHOOSE_DIRECTORY_DIALOG
public static final int CHOOSE_DIRECTORY_DIALOG
Choose directory dialog mode.- See Also:
- Constant Field Values
-
BROWSER
public static final int BROWSER
Stand-alone dockable browser mode.- See Also:
- Constant Field Values
-
M_OPEN
public static final int M_OPEN
- See Also:
- Constant Field Values
-
M_OPEN_NEW_VIEW
public static final int M_OPEN_NEW_VIEW
- See Also:
- Constant Field Values
-
M_OPEN_NEW_PLAIN_VIEW
public static final int M_OPEN_NEW_PLAIN_VIEW
- See Also:
- Constant Field Values
-
M_OPEN_NEW_SPLIT
public static final int M_OPEN_NEW_SPLIT
- See Also:
- Constant Field Values
-
M_INSERT
public static final int M_INSERT
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
VFSBrowser
public VFSBrowser(View view, java.lang.String position)
Creates a new VFS browser.- Parameters:
view
- The view to open buffers in by default
-
VFSBrowser
public VFSBrowser(View view, java.lang.String path, int mode, boolean multipleSelection, java.lang.String position)
Creates a new VFS browser.- Parameters:
view
- The view to open buffers in by defaultpath
- The path to displaymode
- The browser modemultipleSelection
- True if multiple selection should be allowedposition
- Where the browser is located- Since:
- jEdit 4.2pre1
-
-
Method Detail
-
browseDirectoryInNewWindow
public static void browseDirectoryInNewWindow(View view, java.lang.String path)
Opens the specified directory in a new, floating, file system browser.- Parameters:
view
- The viewpath
- The directory's path- Since:
- jEdit 4.1pre2
-
browseDirectory
public static void browseDirectory(View view, java.lang.String path)
Opens the specified directory in a file system browser.- Parameters:
view
- The viewpath
- The directory's path- Since:
- jEdit 4.0pre3
-
getActionContext
public static ActionContext getActionContext()
Returns the browser action context.- Since:
- jEdit 4.2pre1
-
focusOnDefaultComponent
public void focusOnDefaultComponent()
Description copied from interface:DefaultFocusComponent
Sets focus on the default component.- Specified by:
focusOnDefaultComponent
in interfaceDefaultFocusComponent
-
addNotify
public void addNotify()
- Overrides:
addNotify
in classjavax.swing.JComponent
-
removeNotify
public void removeNotify()
- Overrides:
removeNotify
in classjavax.swing.JComponent
-
handlePropertiesChanged
public void handlePropertiesChanged(PropertiesChanged msg)
-
handleBufferUpdate
public void handleBufferUpdate(BufferUpdate bmsg)
-
handlePluginUpdate
public void handlePluginUpdate(PluginUpdate pmsg)
-
handleVFSUpdate
public void handleVFSUpdate(VFSUpdate msg)
-
getView
public View getView()
-
getMode
public int getMode()
-
isMultipleSelectionEnabled
public boolean isMultipleSelectionEnabled()
-
isHorizontalLayout
public boolean isHorizontalLayout()
-
getShowHiddenFiles
public boolean getShowHiddenFiles()
-
setShowHiddenFiles
public void setShowHiddenFiles(boolean showHiddenFiles)
-
getVFSFileFilter
public VFSFileFilter getVFSFileFilter()
Returns the currently active VFSFileFilter.- Since:
- jEdit 4.3pre7
-
addVFSFileFilter
public void addVFSFileFilter(VFSFileFilter filter)
Adds a file filter to the browser.- Since:
- jEdit 4.3pre7
-
setFilenameFilter
public void setFilenameFilter(@Nullable java.lang.String filter)
-
getDirectoryField
public HistoryTextField getDirectoryField()
-
getDirectory
public java.lang.String getDirectory()
-
previousDirectory
public void previousDirectory()
- Since:
- jedit 4.3pre15
-
nextDirectory
public void nextDirectory()
- Since:
- jEdit 4.3pre15
-
getLastVisitedPath
public static java.lang.String getLastVisitedPath()
Returns the last path visited by VFSBrowser. If no path was ever visited, returnsnull
,- Since:
- 5.1
-
setDirectory
public void setDirectory(java.lang.String path)
-
getRootDirectory
public static java.lang.String getRootDirectory()
-
rootDirectory
public void rootDirectory()
Goes to the local drives directory.- Since:
- jEdit 4.0pre4
-
reloadDirectory
public void reloadDirectory()
-
delete
public void delete(VFSFile[] files)
Note that all files must be on the same VFS.- Since:
- jEdit 4.3pre2
-
rename
public void rename(VFSFile from)
Rename a file. It will prompt for the new name.- Parameters:
from
- the file to rename- Since:
- jEdit 4.5pre1
-
rename
public void rename(VFSFile from, java.lang.String to)
Rename a file. It will prompt for the new name.- Parameters:
from
- the file to renameto
- the target name- Since:
- jEdit 4.5pre1
-
rename
public void rename(java.lang.String from)
-
rename
public void rename(java.lang.String from, java.lang.String newname)
Rename a file- Parameters:
from
- the full path name of the file to be renamednewname
- the new name (only filename, not full path)
-
mkdir
public void mkdir()
-
newFile
public void newFile()
Creates a new file in the current directory.- Since:
- jEdit 4.0pre2
-
fileProperties
public void fileProperties(VFSFile[] files)
Show selected file's properties.
-
searchInDirectory
public void searchInDirectory()
Opens a directory search in the current directory.- Since:
- jEdit 4.0pre2
-
searchInDirectory
public void searchInDirectory(java.lang.String path, boolean directory)
Opens a directory search in the specified directory.- Parameters:
path
- The path namedirectory
- True if the path is a directory, false if it is a file- Since:
- jEdit 4.2pre1
-
getSelectedFiles
public VFSFile[] getSelectedFiles()
Return the selected files in the lower browser tree.- Since:
- jEdit 4.3pre2
-
getSelectedFiles
public VFSFile[] getSelectedFiles(java.awt.Component source)
Return the selected files from the point of view of the given component. This may be the selected directory from the upper tree component of the browser (directory tree) or the selected files in the bottom tree component. This method is to be used by code running inside VFSBrowser such as a DynamicMenuProvider. Use the other method otherwise. The main difference is this function searches the component hierarchy for aBrowserView.ParentDirectoryList
to get the list of currently selected files from there. Otherwise, it returns whatgetSelectedFiles()
would return.- Parameters:
source
- the source component to start from when navigating the component hierarchy- Since:
- jEdit 4.4pre1
-
paste
public void paste(VFSFile file) throws java.io.IOException, java.awt.datatransfer.UnsupportedFlavorException
Paste the file contained in the clipboard. If the clipboard do not contains files, nothing happens.- Parameters:
file
- the target, it can be a file, in that case it will be pasted to the parent directory, or a directory.- Throws:
java.io.IOException
java.awt.datatransfer.UnsupportedFlavorException
-
locateFile
public void locateFile(java.lang.String path)
Goes to the given file's directory and selects the file in the list.- Parameters:
path
- The file- Since:
- jEdit 4.2pre2
-
createPluginsMenu
public javax.swing.JComponent createPluginsMenu(javax.swing.JComponent pluginMenu, boolean showManagerOptions)
-
addBrowserListener
public void addBrowserListener(BrowserListener l)
-
removeBrowserListener
public void removeBrowserListener(BrowserListener l)
-
filesActivated
public void filesActivated(int mode, boolean canDoubleClickClose)
This method does the "double-click" handling. It is public so thatbrowser.actions.xml
can bind to it.- Since:
- jEdit 4.2pre2
-
dispose
public void dispose()
Disposes the browser, regardless of whether it is a dialog or a dockable
-
move
public void move(java.lang.String newPosition)
Description copied from interface:DockableWindow
Notifies a dockable window before its docking position is changed.- Specified by:
move
in interfaceDockableWindow
- Parameters:
newPosition
- The docking position to which the window is moving.
-
-