56 lines
1.7 KiB
Lua
56 lines
1.7 KiB
Lua
PTGuiSlider = PTGuiComponent:Extend("slider")
|
|
local _G = getfenv(0)
|
|
PTGuiSlider:Import(true, "Enable", "Disable", "SetMinMaxValues", "SetOrientation", "SetValue", "SetValueStep")
|
|
PTGuiSlider:Import(false, "GetMinMaxValues", "GetOrientation", "GetValue", "GetValueStep")
|
|
|
|
function PTGuiSlider:New()
|
|
local obj = setmetatable({}, self)
|
|
local frame = CreateFrame("Slider", self:GenerateName(), nil, "OptionsSliderTemplate")
|
|
obj:SetHandle(frame)
|
|
return obj
|
|
end
|
|
|
|
function PTGuiSlider:OnAcquire()
|
|
self.super.OnAcquire(self)
|
|
self:SetMinMaxValues(1, 10)
|
|
self:SetValueStep(1)
|
|
self:SetValue(1)
|
|
end
|
|
|
|
function PTGuiSlider:OnDispose()
|
|
self.super.OnDispose(self)
|
|
self:SetText("")
|
|
self:SetLowText("Low")
|
|
self:SetHighText("High")
|
|
self:SetFontSize(10)
|
|
self:SetOrientation("HORIZONTAL")
|
|
end
|
|
|
|
function PTGuiSlider:SetText(text)
|
|
_G[self:GetName().."Text"]:SetText(text)
|
|
end
|
|
|
|
function PTGuiSlider:SetLowText(text)
|
|
_G[self:GetName().."Low"]:SetText(text)
|
|
end
|
|
|
|
function PTGuiSlider:SetHighText(text)
|
|
_G[self:GetName().."High"]:SetText(text)
|
|
end
|
|
|
|
function PTGuiSlider:SetNumberedText()
|
|
local min, max = self:GetMinMaxValues()
|
|
self:SetLowText(min)
|
|
self:SetHighText(max)
|
|
end
|
|
|
|
function PTGuiSlider:SetFontSize(fontSize)
|
|
local font, _, flags = _G[self:GetName().."Text"]:GetFont()
|
|
_G[self:GetName().."Text"]:SetFont(font, fontSize, flags)
|
|
local font, _, flags = _G[self:GetName().."Low"]:GetFont()
|
|
_G[self:GetName().."Low"]:SetFont(font, fontSize, flags)
|
|
local font, _, flags = _G[self:GetName().."High"]:GetFont()
|
|
_G[self:GetName().."High"]:SetFont(font, fontSize, flags)
|
|
end
|
|
|
|
PTGuiLib.RegisterComponent(PTGuiSlider) |