Garry's Mod Wiki

Revision Difference

TOOL.BuildCPanel#548735

<function name="BuildCPanel" parent="TOOL" type="hook">⤶ <ishook>yes</ishook>⤶ <description>Called when the tool's control panel needs to be rebuilt.⤶ ⤶ <warning>Due to historical reasons, this hook does not provide the tool object as `self`! See examples.</warning>⤶ </description>⤶ <realm>Client</realm>⤶ <predicted>No</predicted>⤶ <args>⤶ <arg name="cpanel" type="Panel">The <page>DForm</page> control panel to add settings to.</arg>⤶ </args>⤶ </function>⤶ ⤶ <example>⤶ <description>⤶ Shows how to use this hook properly.⤶ </description>⤶ <code>⤶ -- Build defaults for the preset system.⤶ local ConVarsDefault = TOOL:BuildConVarList()⤶ ⤶ -- Please note that this function is defined with a dot (.), not a semicolon (:)!!!⤶ -- This is important! You will not be able to access "self" in this function.⤶ function TOOL.BuildCPanel( CPanel )⤶ ⤶ CPanel:AddControl( "Header", { Description = "#tool.ballsocket.help" } )⤶ ⤶ CPanel:AddControl( "ComboBox", { MenuButton = 1, Folder = "ballsocket", Options = { [ "#preset.default" ] = ConVarsDefault }, CVars = table.GetKeys( ConVarsDefault ) } )⤶ ⤶ CPanel:AddControl( "Slider", { Label = "#tool.forcelimit", Command = "ballsocket_forcelimit", Type = "Float", Min = 0, Max = 50000, Help = true } )⤶ ⤶ CPanel:AddControl( "CheckBox", { Label = "#tool.nocollide", Command = "ballsocket_nocollide", Help = true } )⤶ ⤶ end⤶ </code>⤶ </example>