Garry's Mod Wiki

DFileBrowser

DFileBrowser

Description

A tree and list-based file browser.

It allows filtering by folder (directory) name and file extension, and can display models as SpawnIcons.

Parent

Derives methods, etc not listed on this page from DPanel.

Methods

DFileBrowser:Clear()
Clears the file tree and list, and resets all values.
string DFileBrowser:GetBaseFolder()
Returns the root directory/folder of the file tree.
string DFileBrowser:GetCurrentFolder()
Returns the current directory/folder being displayed.
string DFileBrowser:GetFileTypes()
Returns the current file type filter on the file list.
Panel DFileBrowser:GetFolderNode()
Returns the DTree Node that the file tree stems from. This is a child of the root node of the DTree.
boolean DFileBrowser:GetModels()
Returns whether or not the model viewer mode is enabled. In this mode, files are displayed as SpawnIcons instead of a list.
string DFileBrowser:GetName()
Returns the name being used for the file tree.
boolean DFileBrowser:GetOpen()
Returns whether or not the file tree is open.
string DFileBrowser:GetPath()
Returns the access path of the file tree. This is GAME unless changed with DFileBrowser:SetPath. See file.Read for how paths work.
string DFileBrowser:GetSearch()
Returns the current search filter on the file tree.
DFileBrowser:OnDoubleClick( string filePath, Panel selectedPanel )
Called when a file is double-clicked. Double-clicking a file or icon will trigger both this and DFileBrowser:OnSelect.
DFileBrowser:OnRightClick( string filePath, Panel selectedPanel )
Called when a file is right-clicked. When not in model viewer mode, DFileBrowser:OnSelect will also be called if the file is not already selected.
DFileBrowser:OnSelect( string filePath, Panel selectedPanel )
Called when a file is selected.
DFileBrowser:SetBaseFolder( string baseDir )
Sets the root directory/folder of the file tree. This needs to be set for the file tree to be displayed.
DFileBrowser:SetCurrentFolder( string currentDir )
Sets the directory/folder from which to display the file list.
DFileBrowser:SetFileTypes( string fileTypes = "." )
Sets the file type filter for the file list. This accepts the same file extension wildcards as file.Find.
DFileBrowser:SetModels( boolean showModels = false )
Enables or disables the model viewer mode. In this mode, files are displayed as SpawnIcons instead of a list. This should only be used for .mdl files; the spawn icons will display error models for others. See DFileBrowser:SetFileTypes
DFileBrowser:SetName( string treeName = "baseFolder" )
Sets the name to use for the file tree.
DFileBrowser:SetOpen( boolean open = false, boolean useAnim = false )
Opens or closes the file tree.
DFileBrowser:SetPath( string path )
Sets the access path for the file tree. This is set to GAME by default. See file.Read for how paths work.
DFileBrowser:SetSearch( string filter = "*" )
Sets the search filter for the file tree. This accepts the same wildcards as file.Find.
boolean DFileBrowser:Setup()
This is used internally - although you're able to use it you probably shouldn't. Called to set up the DTree and file viewer when a base path has been set. Calls DFileBrowser:SetupTree and DFileBrowser:SetupFiles.
boolean DFileBrowser:SetupFiles()
This is used internally - although you're able to use it you probably shouldn't. Called to set up the DListView or DIconBrowser by DFileBrowser:Setup. The icon browser is used when in models mode. See DFileBrowser:SetModels.
boolean DFileBrowser:SetupTree()
This is used internally - although you're able to use it you probably shouldn't. Called to set up the DTree by DFileBrowser:Setup.
DFileBrowser:ShowFolder( string currentDir )
This is used internally - although you're able to use it you probably shouldn't. Builds the file or icon list for the current directory. You should use DFileBrowser:SetCurrentFolder to change the directory.
DFileBrowser:SortFiles( boolean descending = false )
Sorts the file list. This is only functional when not using the model viewer. See DFileBrowser:SetModels

Example

Creates a DFileBrowser and displays the data/persist folder. Any file clicked is printed to the console.

local frame = vgui.Create( "DFrame" ) frame:SetSize( 500, 250 ) frame:SetSizable( true ) frame:Center() frame:MakePopup() frame:SetTitle( "DFileBrowser Example" ) local browser = vgui.Create( "DFileBrowser", frame ) browser:Dock( FILL ) browser:SetPath( "GAME" ) -- The access path i.e. GAME, LUA, DATA etc. browser:SetBaseFolder( "data" ) -- The root folder browser:SetOpen( true ) -- Open the tree to show sub-folders browser:SetCurrentFolder( "persist" ) -- Show files from persist function browser:OnSelect( path, pnl ) -- Called when a file is clicked print( path ) end
Output:

Example

Creates a DFileBrowser that can spawn models from props_ folders.

Uses the same DFrame as above
local browser = vgui.Create( "DFileBrowser", frame ) browser:Dock( FILL ) browser:SetPath( "GAME" ) -- The access path i.e. GAME, LUA, DATA etc. browser:SetBaseFolder( "models" ) -- The root folder browser:SetName( "Props_ Models" ) -- Name to display in tree browser:SetSearch( "props_" ) -- Search folders starting with "props_" browser:SetFileTypes( "*.mdl" ) -- File type filter browser:SetOpen( true ) -- Opens the tree (same as double clicking) browser:SetCurrentFolder( "props_badlands" ) -- Set the folder to use function browser:OnSelect( path, pnl ) -- Called when a file is clicked RunConsoleCommand( "gm_spawn", path ) -- Spawn the model we clicked frame:Close() end
Output: See Preview.

Example

Same as above, but enables model viewing. The following line is added to the above code.

browser:SetModels( true ) -- Use SpawnIcons instead of a list
Output:

Special Pages


Wikis

?

Render Time: 27ms

DB GetPage 3
Generate Html 7
SaveChanges (1) 7
Render Body 0
Render Sidebar 7