MoveIt.GUI.FrameSettings = {} MoveIt.GUI.FrameSettings.anchors = { TOPLEFT = "Top Left", TOPRIGHT = "Top Right", BOTTOMLEFT = "Bottom Left", BOTTOMRIGHT = "Bottom Right", TOP = "Top", BOTTOM = "Bottom", LEFT = "Left", RIGHT = "Right", CENTER = "Center" } function MoveIt.GUI.FrameSettings:Create(container) self.selectedTab = "Basic" local frameSettingsTabs = { { text = "Basic", value = "Basic" }, { text = "Advanced", value = "Advanced" } } local function OnTabSelected(container, event, group) self.selectedTab = group container:ReleaseChildren() if group == "Basic" then self:CreateBasic(container) else self:CreateAdvanced(container) end self:Update(MoveIt.GUI.Options.selectedFrame) end self.tabgroupFrameSettings = AceGUI:Create("TabGroup") self.tabgroupFrameSettings:SetTabs(frameSettingsTabs) self.tabgroupFrameSettings:SetRelativeWidth(1) self.tabgroupFrameSettings:SetLayout("Flow") self.tabgroupFrameSettings:SetCallback("OnGroupSelected", OnTabSelected) container:AddChild(self.tabgroupFrameSettings) self.labelObjectType = AceGUI:Create("Label") self.labelObjectType:SetRelativeWidth(0.6) container:AddChild(self.labelObjectType) self.buttonRemoveFrame = AceGUI:Create("Button") self.buttonRemoveFrame:SetText("Remove Frame") self.buttonRemoveFrame:SetDisabled(true) self.buttonRemoveFrame:SetRelativeWidth(0.4) self.buttonRemoveFrame:SetCallback("OnClick", function() MoveIt.GUI.Options:OnRemoveFrame() end) container:AddChild(self.buttonRemoveFrame) self.tabgroupFrameSettings:SelectTab("Basic") end function MoveIt.GUI.FrameSettings:CreateBasic(container) MoveIt.GUI.Modules.Reposition:Create(container) MoveIt.GUI:CreateDivider(container) MoveIt.GUI.Modules.Scale:Create(container) MoveIt.GUI:CreateDivider(container) MoveIt.GUI.Modules.Resize:Create(container) MoveIt.GUI:CreateDivider(container) MoveIt.GUI.Modules.Alpha:Create(container) MoveIt.GUI:CreateDivider(container) MoveIt.GUI.Modules.Flags:CreateBasic(container) end function MoveIt.GUI.FrameSettings:CreateAdvanced(container) MoveIt.GUI.Modules.Parent:Create(container) MoveIt.GUI:CreateDivider(container) MoveIt.GUI.Modules.Strata:Create(container) MoveIt.GUI:CreateDivider(container) MoveIt.GUI.Modules.Delay:Create(container) MoveIt.GUI:CreateDivider(container) MoveIt.GUI.Modules.Flags:CreateAdvanced(container) end function MoveIt.GUI.FrameSettings:Update(frameName) local frameSelected = not(frameName == nil) self.buttonRemoveFrame:SetDisabled(not frameSelected) if frameSelected then local objectType = MoveIt:GetFrameType(frameName) if objectType ~= nil then self.labelObjectType:SetText("Type: " .. MoveIt.Utils.ColouredText(objectType, "ffff00")) else self.labelObjectType:SetText("Type: " .. MoveIt.Utils.ColouredText("Unknown", "ff0000")) end if self.selectedTab == "Basic" then MoveIt.GUI.Modules.Reposition:Update(frameName) MoveIt.GUI.Modules.Scale:Update(frameName) MoveIt.GUI.Modules.Resize:Update(frameName) MoveIt.GUI.Modules.Alpha:Update(frameName) MoveIt.GUI.Modules.Flags:UpdateBasic(frameName) elseif self.selectedTab == "Advanced" then MoveIt.GUI.Modules.Parent:Update(frameName) MoveIt.GUI.Modules.Strata:Update(frameName) MoveIt.GUI.Modules.Delay:Update(frameName) MoveIt.GUI.Modules.Flags:UpdateAdvanced(frameName) end else self.labelObjectType:SetText() if self.selectedTab == "Basic" then MoveIt.GUI.Modules.Reposition:Disable() MoveIt.GUI.Modules.Resize:Disable() MoveIt.GUI.Modules.Scale:Disable() MoveIt.GUI.Modules.Alpha:Disable() MoveIt.GUI.Modules.Flags:DisableBasic() elseif self.selectedTab == "Advanced" then MoveIt.GUI.Modules.Parent:Disable() MoveIt.GUI.Modules.Strata:Disable() MoveIt.GUI.Modules.Delay:Disable() MoveIt.GUI.Modules.Flags:DisableAdvanced() end end end