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 classVFSBrowser.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 intBROWSERStand-alone dockable browser mode.static intBROWSER_DIALOGFile Open Dialog with extra context menu actions like the BROWSER mode.static intCHOOSE_DIRECTORY_DIALOGChoose directory dialog mode.static intM_INSERTstatic intM_OPENstatic intM_OPEN_NEW_PLAIN_VIEWstatic intM_OPEN_NEW_SPLITstatic intM_OPEN_NEW_VIEWstatic java.lang.StringNAMEstatic intOPEN_DIALOGOpen file dialog mode.static intSAVE_DIALOGSave 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 voidaddBrowserListener(BrowserListener l)voidaddNotify()voidaddVFSFileFilter(VFSFileFilter filter)Adds a file filter to the browser.static voidbrowseDirectory(View view, java.lang.String path)Opens the specified directory in a file system browser.static voidbrowseDirectoryInNewWindow(View view, java.lang.String path)Opens the specified directory in a new, floating, file system browser.javax.swing.JComponentcreatePluginsMenu(javax.swing.JComponent pluginMenu, boolean showManagerOptions)voiddelete(VFSFile[] files)Note that all files must be on the same VFS.voiddispose()Disposes the browser, regardless of whether it is a dialog or a dockablevoidfileProperties(VFSFile[] files)Show selected file's properties.voidfilesActivated(int mode, boolean canDoubleClickClose)This method does the "double-click" handling.voidfocusOnDefaultComponent()Sets focus on the default component.static ActionContextgetActionContext()Returns the browser action context.java.lang.StringgetDirectory()HistoryTextFieldgetDirectoryField()static java.lang.StringgetLastVisitedPath()Returns the last path visited by VFSBrowser.intgetMode()static java.lang.StringgetRootDirectory()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.booleangetShowHiddenFiles()VFSFileFiltergetVFSFileFilter()Returns the currently active VFSFileFilter.ViewgetView()voidhandleBufferUpdate(BufferUpdate bmsg)voidhandlePluginUpdate(PluginUpdate pmsg)voidhandlePropertiesChanged(PropertiesChanged msg)voidhandleVFSUpdate(VFSUpdate msg)booleanisHorizontalLayout()booleanisMultipleSelectionEnabled()voidlocateFile(java.lang.String path)Goes to the given file's directory and selects the file in the list.voidmkdir()voidmove(java.lang.String newPosition)Notifies a dockable window before its docking position is changed.voidnewFile()Creates a new file in the current directory.voidnextDirectory()voidpaste(VFSFile file)Paste the file contained in the clipboard.voidpreviousDirectory()voidreloadDirectory()voidremoveBrowserListener(BrowserListener l)voidremoveNotify()voidrename(java.lang.String from)voidrename(java.lang.String from, java.lang.String newname)Rename a filevoidrename(VFSFile from)Rename a file.voidrename(VFSFile from, java.lang.String to)Rename a file.voidrootDirectory()Goes to the local drives directory.voidsearchInDirectory()Opens a directory search in the current directory.voidsearchInDirectory(java.lang.String path, boolean directory)Opens a directory search in the specified directory.voidsetDirectory(java.lang.String path)voidsetFilenameFilter(java.lang.String filter)voidsetShowHiddenFiles(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:DefaultFocusComponentSets focus on the default component.- Specified by:
focusOnDefaultComponentin interfaceDefaultFocusComponent
-
addNotify
public void addNotify()
- Overrides:
addNotifyin classjavax.swing.JComponent
-
removeNotify
public void removeNotify()
- Overrides:
removeNotifyin 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.ParentDirectoryListto 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.IOExceptionjava.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.xmlcan 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:DockableWindowNotifies a dockable window before its docking position is changed.- Specified by:
movein interfaceDockableWindow- Parameters:
newPosition- The docking position to which the window is moving.
-
-