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