Garry's Mod Wiki

Revision Difference

TOOL.BuildCPanel#549512

<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 (:)!!! -- Please note that this function is defined with a dot (.), not a colon (:)!!! -- 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>