Revision Difference
DCollapsibleCategory#513321
<panel>⤶
<parent>Panel</parent>⤶
<description>⤶
The collapsible category allows you to create numerous sections of controls, and have the ability to contract/expand them.⤶
⤶
Consider using <page>DCategoryList</page> if you plan on using more than 1 of these.⤶
</description>⤶
⤶
</panel>⤶
⤶
⤶
<example>⤶
<description>Creates a DCollapsibleCategory panel.</description>⤶
<code>⤶
local frame = vgui.Create( "DFrame" )⤶
frame:SetSize( 300, 300 )⤶
frame:Center()⤶
frame:MakePopup()⤶
⤶
local DCollapsible = vgui.Create( "DCollapsibleCategory", frame ) // Create a collapsible category⤶
DCollapsible:SetPos( 25, 50 ) // Set position⤶
DCollapsible:SetSize( 250, 100 ) // Set size⤶
DCollapsible:SetExpanded( 0 ) // Is it expanded when you open the panel?⤶
DCollapsible:SetLabel( "Collapsible Category" ) // Set the name ( label )⤶
⤶
local DermaList = vgui.Create( "DPanelList", DermaPanel ) // Make a list of items to add to our category ( collection of controls )⤶
DermaList:SetSpacing( 5 ) // Set the spacing between items⤶
DermaList:EnableHorizontal( false ) // Only vertical items⤶
DermaList:EnableVerticalScrollbar( true ) // Enable the scrollbar if ( the contents are too wide⤶
DCollapsible:SetContents(DermaList) // Add DPanelList to our Collapsible Category⤶
⤶
local CategoryContentOne = vgui.Create( "DCheckBoxLabel" ) // This section creates a checkbox and⤶
CategoryContentOne:SetText( "God mode" ) // sets up its settings⤶
CategoryContentOne:SetConVar( "sbox_godmode" )⤶
CategoryContentOne:SetValue( 0 )⤶
CategoryContentOne:SizeToContents()⤶
DermaList:AddItem( CategoryContentOne ) // Add the checkbox to the category⤶
⤶
local CategoryContentTwo = vgui.Create( "DLabel" ) // Make some more content⤶
CategoryContentTwo:SetText( "Hello" )⤶
DermaList:AddItem( CategoryContentTwo ) // Add it to the categoryDCollapsible:SetContents( DermaList ) // Set the contents of the category to the list⤶
</code>⤶
<output></output>⤶
⤶
</example>⤶
⤶