Revision Difference
ControlPanel:AddControl#525286
<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:
- - 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>