DNumSlider
Description
The DNumSlider allows you to create a slider, allowing the user to slide it to set a value, or changing the value in the box.
Parent
Derives methods, etc not listed on this page from Panel.
Events
DNumSlider:OnValueChanged( number value )
Called when the value of the slider is changed, through code or changing the slider.
Methods
number DNumSlider:GetDefaultValue()
Returns the default value of the slider, if one was set by DNumSlider:SetDefaultValue
number DNumSlider:GetRange()
Returns the range of the slider, basically maximum value - minimum value.
boolean DNumSlider:IsEditing()
Returns true if either the DTextEntry, the DSlider or the DNumberScratch are being edited.
DNumSlider:ResetToDefaultValue()
Resets the slider to the default value, if one was set by DNumSlider:SetDefaultValue.
This function is called by the DNumSlider when user middle mouse clicks on the draggable knob of the slider.
DNumSlider:SetConVar( string cvar )
Sets the console variable to be updated when the value of the slider is changed.
DNumSlider:SetDark( boolean dark )
We advise against using this. It may be changed or removed in a future update.
Calls DLabel:SetDark on the DLabel part of the DNumSlider.
DNumSlider:SetDecimals( number decimals )
Sets the desired amount of numbers after the decimal point.
This doesn't affect values passed to DNumSlider:OnValueChanged.To get right values passed to DNumSlider:OnValueChanged use math.Round.
DNumSlider:SetDefaultValue( number default )
Sets the default value of the slider, to be used by DNumSlider:ResetToDefaultValue or by middle mouse clicking the draggable knob of the slider.
number, number DNumSlider:TranslateSliderValues( number x, number y )
This is used internally - although you're able to use it you probably shouldn't.
DNumSlider:UpdateNotches()
This is used internally - although you're able to use it you probably shouldn't.
DNumSlider:ValueChanged( number value )
This is used internally - although you're able to use it you probably shouldn't.
Called when the value has been changed. This will also be called when the user manually changes the value through the text panel.
This is an internal function. Override DNumSlider:OnValueChanged instead.
Example
Attempts to create a DNumSlider.
local DermaPanel = vgui.Create( "DFrame" ) -- Create a panel to parent it to
DermaPanel:SetSize( 500, 200 ) -- Set the size
DermaPanel:Center() -- Center it
DermaPanel:MakePopup() -- Make it a popup
local DermaNumSlider = vgui.Create( "DNumSlider", DermaPanel )
DermaNumSlider:SetPos( 50, 50 ) -- Set the position
DermaNumSlider:SetSize( 300, 100 ) -- Set the size
DermaNumSlider:SetText( "Maximum props" ) -- Set the text above the slider
DermaNumSlider:SetMin( 0 ) -- Set the minimum number you can slide to
DermaNumSlider:SetMax( 256 ) -- Set the maximum number you can slide to
DermaNumSlider:SetDecimals( 0 ) -- Decimal places - zero for whole number
DermaNumSlider:SetConVar( "sbox_maxprops" ) -- Changes the ConVar when you slide
-- If not using convars, you can use this hook + Panel.SetValue()
DermaNumSlider.OnValueChanged = function( self, value )
-- Called when the slider value changes
end
Output: 
