Revision Difference
DCollapsibleCategory#553447
<panel>
<parent>Panel</parent>
<realm>Client and Menu</realm>
<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>
<overrides>
<page>Panel:Init</page>
<page>Panel:Paint</page>
<page>Panel:Think</page>
<page>Panel:LoadCookies</page>
<page>Panel:PerformLayout</page>
<page>Panel:OnMousePressed</page>
<page>Panel:GenerateExample</page>
<page>Panel:UnselectAll</page>⤶
</overrides>
</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:SetLabel( "Collapsible Category" ) -- Set the name ( label )
DCollapsible:SetPos( 25, 50 ) -- Set position
DCollapsible:SetSize( 250, 100 ) -- Set size
DCollapsible:SetExpanded( false ) -- Start collapsed
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>
<image src="DCollapsibleCategoryContracted.png" alt="Not_opened"/>
<image src="DCollapsibleCategoryExpanded.png" alt="Opened"/>
</output>
</example>