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

### Nested classes/interfaces inherited from class java.awt.Container

`java.awt.Container.AccessibleAWTContainer`

### Nested classes/interfaces inherited from class java.awt.Component

`java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy`

### Field Summary

Fields
`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

`accessibleContext, 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

`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 and 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

Methods
`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 dockable
`void` `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 file
`void` `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, 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, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, 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`

### 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 default
  `path` - The path to display
  `mode` - The browser mode
  `multipleSelection` - True if multiple selection should be allowed
  `position` - 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 view
  `path` - 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 view
  `path` - 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 interface `DefaultFocusComponent`

#### addNotify

    public void addNotify()

Overrides:
  `addNotify` in class `javax.swing.JComponent`

#### removeNotify

    public void removeNotify()

Overrides:
  `removeNotify` in class `javax.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(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, returns `null`,

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 rename
  `to` - 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 renamed
  `newname` - 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 name
  `directory` - 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 a `BrowserView.ParentDirectoryList` to get the list of currently selected files from there. Otherwise, it returns what `getSelectedFiles()` 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 that `browser.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 interface `DockableWindow`
Parameters:
  `newPosition` - The docking position to which the window is moving.