Revision Difference
ControlPanel:AddControl#527777
<function name="AddControl" parent="ControlPanel" type="panelfunc">
<ispanel>yes</ispanel>
<description>
<deprecated>It is recommended to use <page>DForm</page>'s members instead.</deprecated>
Adds a control to the control panel.
</description>
<file line="119-L397">gamemodes/sandbox/gamemode/spawnmenu/controlpanel.lua</file>
<realm>Client</realm>
<args>
<arg name="type" type="string">The control type to add. The complete list is:
* header
* textbox
* label
* checkbox/toggle
* slider
* propselect
* matselect
* ropematerial
* button
* numpad
* color
* combobox
* listbox
* materialgallery</arg>
<arg name="controlinfo" type="table">Each control takes their own table structure. You may search "AddControl" on GitHub for examples.
Here is a full list of each type and the table members it requires:
⤶
- header
- - description
⤶
- textbox:
- - label (def: "Untitled")
- - command
⤶
- label:
- - text
⤶
checkbox, toggle (same thing):
- - label (def: "Untitled")
- - command
- - help (boolean, if true assumes label is a language string ("#tool.toolname.stuff") and adds ".help" at the end)
⤶
- slider:⤶
- - type (optional string, if equals "float" then 2 digits after the decimal will be used, otherwise 0)
- - label (def: "Untitled")
- - command
- - min (def: 0)
- - max (def: 100)
⤶
- - help (boolean, see above)
⤶
- propselect:
- - (data goes directly to PropSelect's :ControlValues(data))
⤶
- matselect:
- - (data goes directly to MatSelect's :ControlValues(data))
⤶
- ropematerial:
- - convar (notice: NOT called command this time!)
⤶
- button:
- - label / text (if label is missing will use text. Def: "No Label")
- - command
⤶
- numpad:
- - command
- - command2
- - label
- - label2
⤶
- color:
- - label
- - red (convar)
- - green (convar)
- - blue (convar)
- - alpha (convar)
⤶
- combobox:
- - menubutton (if doesn't equal "1", becomes a listbox)
- - folder
- - options (optional, ha)
- - cvars (optional)
⤶
- listbox:
- - height (if set, becomes <page>DListView</page>, otherwise is <page>CtrlListBox</page>)
- - label (def: "unknown")
- - options (optional)
⤶
- materialgallery:
- - width (def: 32)
- - height (def: 32)
- - rows (def: 4)
- - convar
- - options</arg>
⤶
* header
* description
⤶
* textbox:
* label (def: "Untitled")
* command
⤶
* label:
* text
⤶
* checkbox, toggle (same thing):
* label (def: "Untitled")
* command
* help (boolean, if true assumes label is a language string (`#tool.toolname.stuff`) and adds `.help` at the end)
⤶
* slider: (<page>DForm:NumSlider</page>)⤶
* type (optional string, if equals `float` then 2 digits after the decimal will be used, otherwise 0)
* label (def: `Untitled`)
* command
* min (def: `0`)
* max (def: `100`)
* help (boolean, see above)
⤶
* propselect:
* (data goes directly to PropSelect's :ControlValues(data))
⤶
* matselect:
* (data goes directly to MatSelect's :ControlValues(data))
⤶
* ropematerial:
* convar (notice: NOT called command this time!)
⤶
* button:
* label / text (if label is missing will use text. Def: `No Label`)
* command
⤶
* numpad:
* command
* command2
* label
* label2
⤶
* color:
* label
* red (convar)
* green (convar)
* blue (convar)
* alpha (convar)
⤶
* combobox:
* menubutton (if doesn't equal "1", becomes a listbox)
* folder
* options (optional, ha)
* cvars (optional)
⤶
* listbox:
* height (if set, becomes <page>DListView</page>, otherwise is <page>CtrlListBox</page>)
* label (def: `unknown`)
* options (optional)
⤶
* materialgallery:
* width (def: `32`)
* height (def: `32`)
* rows (def: `4`)
* convar
* options</arg>
</args>
</function>