VGUI and Derma Elements List
This is a list of all the VGUI elements that are shipped with Garry's Mod and its default gamemodes. If you're new to working with panels, you can find some information on this tutorial page.
You can type derma_controls
in console to get a visual example of some
of these elements.
Base Panels
Preview | Name | Description |
---|---|---|
DPanel | A Panel that has increased functionality provided through lua. Most (but not all) Derma panels derive from this. | |
DFrame | An EditablePanel framing window that can be drag n dropped around on screen, minimized, maximized, and closed. Most often used as the root panel when making ingame menus. | |
DLabel | A robust version of a Label with easier functions for clicking and customizing. | |
DLabelEditable | A derivative of the DLabel that allows editing when double-clicked. | |
DLabelURL | A URLLabel that when clicked uses gui.OpenURL to open the provided URL | |
DTextEntry | A TextEntry with extended lua functionality. <note>One of this elements parents must be a EditablePanel</note> | |
DButton | A DLabel with additional click behaviors built into it | |
DExpandButton | A small DButton Mainly used by DProperties and DTree_Node to toggle folder expansions | |
DBinder | A DButton That captures the next pressed key after being pressed. | |
DCheckBox | A DButton that returns a true/false boolean with :GetChecked() |
|
DCheckBoxLabel | A DPanel that includes a DCheckBox with an accompanying DLabel | |
ImageCheckBox | A Button that functions similar to DCheckBox except uses the Material panel to indicate state and cannot have a label | |
DComboBox | A field with multiple selectable values | |
DImage | A DPanel that makes working with the Material panel easier. | |
DImageButton | A DButton that uses a DImage for the button instead of the normal look. | |
DModelPanel | A derivative of DButton that projects the provded 3D model on the 2D plane of the VGUI element. By default this model will slowly rotate but this can be disable see example on wiki page. | |
DAdjustableModelPanel | A derivative of DModelPanel That allows you to adjust the model using your mouse and keyboard | |
DBubbleContainer | A speech bubble panel made up of a rounded box and point coming from the bottom. | |
DCategoryList | A parent element which should contain a child DCollapsibleCategory. | |
DCollapsibleCategory | A Specialized Panel that has drop-down functionality to display/hide child elements | |
DForm | A convenience version of DCollapsibleCategory that has easy functions for adding other input focused panels. | |
DSlider | A multidirectional slider than has the ability to be locked to X or y axis. | |
DNumSlider | A Panel that allows the user to click, hold, and drag to select a value between the provided numerical range | |
DNumberScratch | A DImageButton that acts similarly to the DNumSlider but with the additional ability to zoom in for extra precision. | |
DNumberWang | A DTextEntry that only accepts numbers and has additional buttons to increment/decrement the value. | |
DPropertySheet | a specialized Panel that allows tab oriented control toggling which child elements are visible based on selected tab. | |
DTab | A tab for internal use on the DPropertySheet. Derived from the DButton | |
DColumnSheet | Similar to a DPropertySheet except its tabs are on the left | |
DScrollPanel | A DPanel that functionality based around scrolling vertically through child elements. | |
DVScrollBar | A Generic Panel that functions as the vertical scrollbar for DScrollPanel | |
DScrollBarGrip | An Internal component of DVScrollBar that acts as the "grip" allowing for quick scrolling. | |
DIconBrowser | A DScrollPanel that displays all the Silkicons that come with the game. | |
DMenu | A DScrollPanel that has submenu, icon, and cvars support. This is commonly (but not restricted to being) a child element of the DMenuBar | |
DMenuBar | A DPanel that stretches across the top of the parent panel. Also has additional functions for handling DMenus | |
DMenuOption | An Internal DButton that represents an option added to a DMenu | |
DMenuOptionCVar | An Internal derivative of DMenuOption that has support for cvars | |
MatSelect | A Derivative of ContextBase used by the Material and Lamp tools. | |
SpawnIcon | A DButton that displays a image for the given model path. Internally Uses ModelImage. | |
DProgress | A Panel that displays a visual representation of a fraction between 0 - 1 using its :SetFraction() method. |
|
DFileBrowser | A specialized DPanel that acts as an in-game file browser | |
DKillIcon | A Panel that uses the killicon library to persistently draw kill icons | |
DHTML | A super specialized Awesomium panel. For more info check the dedicated wiki page. | |
DHTMLControls | A Panel containing useful buttons for easier navigation around a DHTML panel |
Color Panels
Image | Name | Description |
---|---|---|
DColorButton | A DLabel that allows easy setting/getting of its color | |
DColorPalette | A DIconLayout that presents multiple DColorButtons | |
DColorCombo | A Combination of panels involved with selecting a color value (Does not include an alpha selector) | |
DColorCube | A Specialized DSlider that allows a gradient selection of a given color | |
DColorMixer | Similar to DColorCombo but includes additional (but not limited to) panels like a DAlphaBar and DColorPalette | |
DRGBPicker | A specialized DPanel that creates a vertical rainbow bar allowing the user to select a color. | |
DAlphaBar | A Specialized DPanel that allows easy picking of the alpha level of the specified color |
Utility Panels
Image | Name | Description |
---|---|---|
DPanelOverlay | A utility DPanel that adds curved corners | |
DDragBase | A utility DPanel that enables drag and drop functions for derived elements like DIconLayout, DListLayout, and DTileLayout | |
DSizeToContents | A utility Panel that uses PANEL:SizeToChildren in its PANEL:PerformLayout hook. | |
DShape | A DPanel that is drawn like the provided shape. This is currently only setup to draw rectangles, bug? | |
Material | A Button that renders a VMT material. | |
DSprite | A DPanel that draws a sprite using the provide IMaterial and Color This panel can also do rotations! | |
DTileLayout | Nearly identical to DIconLayout with the biggest difference being panels provided to this element do NOT need to be the same height like they do in DIconLayout | |
DNotify | A simply utility panel that is used to fade child panels in and out once like a notification. | |
DIconLayout | A utility panel that creates a list of panels laid out in a grid, Replaces DPanelList. | |
DListLayout | A vertical list of panels that can allow child panels to be rearranged with drag in drop | |
DGrid | A simple utility Panel that automatically applies grid spacing to all its children elements | |
DHorizontalDivider | Creates an invisible horizontal divider that can be dragged between objects. | |
DVerticalDivider | A DPanel that functions similarly to the DHorizontalDivider except vertically | |
DHorizontalScroller | A utility Panel that enables easy horizontal scrolling of its children panels using the left and right buttons. | |
DTooltip | An Internal DLabel that is used to create the tooltip when hovering over another panel. You should use Panel:SetTooltip instead | |
DDrawer | A Panel that can be moved in and out like a drawer, See wiki page for example | |
ContextBase | A Derived Panel used as a parent for all context based menu panels |
DProperties
Image | Name | Description |
---|---|---|
DProperties | a specialized Panel that creates a interactive grid allowing the user to customize the provided properties. | |
DEntityProperties | An internal DProperties Panel used by the Editable Entities system | |
DProperty_Generic | A Derivative of Panel that provides a base for the other DProperties panels | |
DProperty_Boolean | An Internal Derivative of DProperty_Generic that only accepts booleans | |
DProperty_Float | An Internal Derivative of DProperty_Generic that only accepts float types | |
DProperty_Int | An Internal Derivative of DProperty_Float that only accepts integer values | |
DProperty_Combo | An Internal Derivative of DProperty_Generic that only accepts a DComboBox | |
DProperty_VectorColor | An Internal Derivative of DProperty_Generic that opens a DColorCombo panel when clicked |
DTree
Image | Name | Description |
---|---|---|
DTree | A DScrollPanel that has been extended to function as a tree view using DTree_Nodes | |
DTree_Node | An Internal Component of DTree that signifies every item on the tree. | |
DTree_Node_Button | An Internal Component of DTree_Node used to toggle drop down functionality of sub-trees. |
DListView
Image | Name | Description |
---|---|---|
DListView | A DPanel that can display multiple rows and columns of information. Also has click functionality. | |
DListView_Column | Internal element used to create the headers for DListView | |
DListView_ColumnPlain | Derivative of DListView_Column but with less features. | |
DListView_DraggerBar | An Internal DButton used in DListView | |
DListViewHeaderLabel | An Internal DLabel used in DListView | |
DListViewLabel | An Internal DLabel used in DListView | |
DListViewLine | An Internal Panel used in DListView |
Engine-based panels
Name | Description |
---|---|
AchievementIcon | Shows achievement icon. |
Awesomium | Awesomium! Parent of HTML and DHTML |
AvatarImage | A panel used to view a players avatar |
CheckButton | An engine checkbox |
EditablePanel | Base panel used by DFrame, this panel is needed so that elements such as the TextEntry can obtain focus |
Frame | A window that in which you can place just about every other component and even another frame |
HTML | The basic HTML view, can be used instead of DHTML for operations that do not require user input or complex interaction, such as retrieving image data |
Label | Basic text label |
ModelImage | Panel used to display models, used by SpawnIcon |
Panel | Base Panel for everything |
RadioButton | Currently broken |
RichText | Highly functional rich text element which is used in the default chatbox and console |
TextEntry | Basic text entry field that has not as much added functionality as DTextEntry |
TGAImage | Panel capable of showing a TGA image |
Sandbox-based panels
Name | Description |
---|---|
ContentIcon | The spawn icon used for SWEPs and other SENTs. |
ControlPresets | The preset controller used in tool menus. |
CtrlListBox | A simple drop-down list for use mainly in tool menus. |
PropSelect | PropSelect |
fingerposer | The fingerposer (internal) |
FingerVar | Part of fingerposer (internal) |
Deprecated panels
Name | Description |
---|---|
Button | Basic button, now replaced by DButton |
Slider | A simple, straight-forward and easy-to-use slider |
SlideBar | A slidebar |
PanelList | PanelList |
DPanelSelect | A list of panels, of which only one can be selected |
DPanelList | Deprecated in GM13 in favour of DIconLayout and DLineLayout. |
DNumPad | DNumPad, not used anymore in GMod 13 |
DModelSelectMulti | DModelSelectMulti |
DModelSelect | A panel of selectable SpawnIcons. |
DListBox | DListBox |
DListBoxItem | DListBoxItem |