You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

105 lines
3.2 KiB

MoveIt.GUI.Modules.Flags = {}
function MoveIt.GUI.Modules.Flags:CreateBasic(container)
self.checkboxHide = AceGUI:Create("CheckBox")
self.checkboxHide:SetType("checkbox")
self.checkboxHide:SetLabel("Hide Frame")
self.checkboxHide:SetRelativeWidth(0.3)
self.checkboxHide:SetDisabled(true)
self.checkboxHide:SetCallback("OnValueChanged", function(_, _, value) self:OnToggleHide(value) end)
container:AddChild(self.checkboxHide)
self.checkboxClamp = AceGUI:Create("CheckBox")
self.checkboxClamp:SetLabel("Screen Clamp")
self.checkboxClamp:SetRelativeWidth(0.3)
self.checkboxClamp:SetDisabled(true)
self.checkboxClamp:SetCallback("OnValueChanged", function(_, _, value) self:OnToggleClamp(value) end)
container:AddChild(self.checkboxClamp)
end
function MoveIt.GUI.Modules.Flags:CreateAdvanced(container)
self.checkboxForce = AceGUI:Create("CheckBox")
self.checkboxForce:SetType("checkbox")
self.checkboxForce:SetLabel("Force Changes")
self.checkboxForce:SetDescription("For misbehaving frames only, ignores delay setting")
self.checkboxForce:SetRelativeWidth(1)
self.checkboxForce:SetDisabled(true)
self.checkboxForce:SetCallback("OnValueChanged", function(_, _, value) self:OnToggleForce(value) end)
container:AddChild(self.checkboxForce)
end
function MoveIt.GUI.Modules.Flags:UpdateBasic(frameName)
local modSettings = MoveIt:GetFrameSettings(frameName, "Flags")
self.checkboxHide:SetValue(modSettings.Hide, false)
if MoveIt:IsFrameClampable(frameName) then
self.checkboxClamp:SetValue(modSettings.Clamp, false)
self.checkboxClamp:SetDisabled(false)
else
self.checkboxClamp:SetValue(false, false)
self.checkboxClamp:SetDisabled(true)
end
self.checkboxHide:SetDisabled(false)
end
function MoveIt.GUI.Modules.Flags:UpdateAdvanced(frameName)
local modSettings = MoveIt:GetFrameSettings(frameName, "Flags")
self.checkboxForce:SetValue(modSettings.Force, false)
self.checkboxForce:SetDisabled(false)
end
function MoveIt.GUI.Modules.Flags:DisableBasic()
self.checkboxHide:SetValue(false, false)
self.checkboxClamp:SetValue(false, false)
self.checkboxHide:SetDisabled(true)
self.checkboxClamp:SetDisabled(true)
end
function MoveIt.GUI.Modules.Flags:DisableAdvanced()
self.checkboxForce:SetValue(false, false)
self.checkboxForce:SetDisabled(true)
end
function MoveIt.GUI.Modules.Flags:OnToggleClamp(value)
local modSettings = MoveIt:GetFrameSettings(MoveIt.GUI.Options.selectedFrame, "Flags")
modSettings.Clamp = value
MoveIt.Modules.Flags:Apply(MoveIt.GUI.Options.selectedFrame)
end
function MoveIt.GUI.Modules.Flags:OnToggleHide(value)
local modSettings = MoveIt:GetFrameSettings(MoveIt.GUI.Options.selectedFrame, "Flags")
if value == false then
local handle = MoveIt:GetFrameHandle(MoveIt.GUI.Options.selectedFrame)
handle:Show()
end
modSettings.Hide = value
MoveIt.Modules.Flags:Apply(MoveIt.GUI.Options.selectedFrame)
end
function MoveIt.GUI.Modules.Flags:OnToggleForce(value)
local modSettings = MoveIt:GetFrameSettings(MoveIt.GUI.Options.selectedFrame, "Flags")
modSettings.Force = value
MoveIt:UpdateHooks()
MoveIt.Modules.Flags:Apply(MoveIt.GUI.Options.selectedFrame)
end