Garry's Mod Wiki

Revision Difference

DFileBrowser#518634

<panel> <parent>DPanel</parent> <description> A tree and list-based file browser. It allows filtering by folder (directory) name and file extension, and can display models as <page>SpawnIcon</page>s. </description> </panel> <example> <description>Creates a DFileBrowser and displays the data/persist folder. Any file clicked is printed to the console.</description> <code> 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 </code> <output>&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;<image src="DFileBrowser_example.png"/></output> <output>&lt;br&gt;&lt;br&gt;<image src="DFileBrowser_example.png"/></output> </example> <example> <description> Creates a DFileBrowser that can spawn models from `props_` folders. <note>Uses the same <page>DFrame</page> as above</note> </description> <code> 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 </code> <output>`See Preview`.</output> </example> <example> <description>Same as above, but enables model viewing. The following line is added to the above code.</description> <code>browser:SetModels( true ) -- Use SpawnIcons instead of a list</code> <output><image src="DFileBrowser_models.png"/></output> </example>