Garry's Mod Wiki



A host for multiple DCollapsibleCategory panels. As the name suggests, each one of them can be collapsed or expanded on demand by the user.


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


Panel DCategoryList:Add( string categoryName )
Adds a DCollapsibleCategory to the list.
DCategoryList:AddItem( Panel element )
Adds an element to the list.
Calls Panel:UnselectAll on all child elements, if they have it.


Creates a DCategoryList with a category and a DFrame, as seen above.

local frame = vgui.Create( "DFrame" ) frame:SetSize( 500, 500 ) frame:Center() frame:MakePopup() local CatList = vgui.Create( "DCategoryList", frame ) CatList:Dock( FILL ) local Cat = CatList:Add( "Test category with text contents" ) Cat:Add( "Item 1" ) local button = Cat:Add( "Item 2" ) button.DoClick = function() print( "Item 2 was clicked." ) end -- The contents can be any panel, even a DPanelList local Cat2 = CatList:Add( "Test category with panel contents" ) Cat2:SetTall( 100 ) local Contents = vgui.Create( "DButton" ) Contents:SetText( "This is the content of the category" ) Cat2:SetContents( Contents ) CatList:InvalidateLayout( true )