diff --git a/Titan/LDBToTitan.lua b/Titan/LDBToTitan.lua index a6d98cb..ee7989c 100644 --- a/Titan/LDBToTitan.lua +++ b/Titan/LDBToTitan.lua @@ -83,7 +83,7 @@ local xcategories = { } local LAUNCHER = "launcher" local DATA_SOURCE = "data source" -local SupportedDOTypes = {DATA_SOURCE, LAUNCHER} -- in the 1.1 spec +local SupportedDOTypes = {DATA_SOURCE, LAUNCHER, "macro"} -- in the 1.1 spec -- constants & variables local CALLBACK_PREFIX = "LibDataBroker_AttributeChanged_" @@ -725,12 +725,19 @@ function LDBToTitan:TitanLDBCreateObject(_, name, obj) -- via a check in the menu implementation, later on. local addoncategory, addonversion; local tempname = obj.tocname or name; - if IsAddOnLoaded(tempname) then + + -- This was a sanity check but does not allow for multiple + -- LDB to be within an addon yet act as their own addon. +-- if IsAddOnLoaded(tempname) then addoncategory = GetAddOnMetadata(tempname, "X-Category"); - registry["category"]= addoncategory and xcategories[addoncategory] or nil - addonversion = GetAddOnMetadata(tempname, "Version"); - registry["version"]= addonversion or nil; - end + registry["category"]= (addoncategory and xcategories[addoncategory]) + or (obj.category) + or nil + addonversion = GetAddOnMetadata(tempname, "Version") + or (obj.version) + or "" + registry["version"]= addonversion; +-- end -- Depending on the LDB type set the control and saved Variables appropriately if obj.type == LAUNCHER then @@ -755,11 +762,22 @@ function LDBToTitan:TitanLDBCreateObject(_, name, obj) -- Create the frame for this LDB addon -- - -- Create the Titan Frame as a Combo + -- Create the Titan Frame ... -- Titan _OnLoad will be used to request the plugin be registered by Titan - local newTitanFrame = CreateFrame("Button", - "TitanPanel"..NAME_PREFIX..name.."Button", - UIParent, "TitanPanelComboTemplate") + local newTitanFrame -- a frame + if obj.type == "macro" then -- custom + newTitanFrame = CreateFrame("Button", + "TitanPanel"..NAME_PREFIX..name.."Button", + UIParent, "TitanPanelComboTemplate, InsecureActionButtonTemplate") + newTitanFrame:SetAttribute("type", "macro") + newTitanFrame:SetAttribute("macrotext", obj.commandtext) + + else + newTitanFrame = CreateFrame("Button", + "TitanPanel"..NAME_PREFIX..name.."Button", + UIParent, "TitanPanelComboTemplate") + end + newTitanFrame.registry = registry newTitanFrame:SetFrameStrata("FULLSCREEN"); newTitanFrame:SetToplevel(true); @@ -841,7 +859,7 @@ LDBToTitan:SetScript("OnEvent", function(self, event, ...) -- Ensure all plugins (for LDB) are refreshed. -- Some LDB plugins may have updated text, icon, etc -- before the plugin was registered so be nice and schedule a refresh - TitanMovable_AdjustTimer("LDBRefresh") - end +-- TitanMovable_AdjustTimer("LDBRefresh") end +end ) \ No newline at end of file diff --git a/Titan/Titan.toc b/Titan/Titan.toc index 3b5e258..0e4ae49 100644 --- a/Titan/Titan.toc +++ b/Titan/Titan.toc @@ -1,7 +1,7 @@ -## Interface: 90207 -## Title: Titan Panel [|cffeda55f_Core_|r] |cff00aa005.23.7.90207|r +## Interface: 100002 +## Title: Titan Panel [|cffeda55f_Core_|r] |cff00aa006.00.02.100002|r ## Author: Titan Panel Development Team -## Version: 5.23.7.90207 +## Version: 6.00.02.100002 ## SavedVariables: TitanAll, TitanSettings, TitanSkins, ServerTimeOffsets, ServerHourFormat ## OptionalDeps: Ace3, AceGUI-3.0-SharedMediaWidgets, LibSharedMedia-3.0, LibQTip-1.0, !LibUIDropDownMenu ## Notes: Adds a display bar on the top and/or bottom of the screen. Allows users to show and control information/launcher plugins. diff --git a/Titan/TitanConfig.lua b/Titan/TitanConfig.lua index 9d00b8f..6195c93 100644 --- a/Titan/TitanConfig.lua +++ b/Titan/TitanConfig.lua @@ -18,6 +18,25 @@ local TitanSkinToRemove = "None"; local TitanSkinName, TitanSkinPath = "", ""; local TitanGlobalProfile = "" +TITAN_PANEL_CONFIG = { + topic = { + About = L["TITAN_PANEL"], + top = L["TITAN_PANEL_MENU_TOP_BARS"], + bottom = L["TITAN_PANEL_MENU_BOTTOM_BARS"], + plugins = L["TITAN_PANEL_MENU_PLUGINS"], + profiles = L["TITAN_PANEL_MENU_PROFILES"], + tooltips = L["TITAN_PANEL_MENU_OPTIONS_SHORT"], + scale = L["TITAN_UISCALE_MENU_TEXT_SHORT"], + trans = L["TITAN_TRANS_MENU_TEXT_SHORT"], + skins = L["TITAN_PANEL_MENU_TEXTURE_SETTINGS"], + skinscust = L["TITAN_SKINS_OPTIONS_CUSTOM"], + extras = L["TITAN_PANEL_EXTRAS_SHORT"], + attempts = L["TITAN_PANEL_ATTEMPTS_SHORT"], + advanced = L["TITAN_PANEL_MENU_ADV"], + } + } +-- TITAN_PANEL_CONFIG.topic.trans + -- Titan local helper funcs local function TitanPanel_GetTitle() return GetAddOnMetadata(TITAN_ID, "Title") or L["TITAN_NA"]; @@ -140,7 +159,8 @@ NAME: optionsControl DESC: Local table to hold the 'about' Titan info in the options. --]] local optionsControl = { - name = L["TITAN_PANEL"], + name = TITAN_PANEL_CONFIG.topic.About, + desc = L["TITAN_PANEL"], type = "group", args = { confgendesc = { @@ -220,7 +240,7 @@ This is the starting shell :DESC --]] local optionsTrans = { - name = L["TITAN_TRANS_MENU_TEXT"], + name = TITAN_PANEL_CONFIG.topic.trans, --L["TITAN_TRANS_MENU_TEXT"], type = "group", args = { confdesc = { @@ -339,7 +359,7 @@ NAME: optionsSkins DESC: Local table to hold the Titan skins options. Shows default Titan and any custom skins the user has added. --]] local optionsSkins = { - name = L["TITAN_SKINS_TITLE"], + name = TITAN_PANEL_CONFIG.topic.skins, --L["TITAN_SKINS_TITLE"], type = "group", args = { setskinhdear = { @@ -405,7 +425,7 @@ DESC: Local table to hold the Titan custom skins options that allow a user to ad :DESC --]] local optionsSkinsCustom = { - name = L["TITAN_SKINS_TITLE_CUSTOM"], + name = TITAN_PANEL_CONFIG.topic.skinscust, --L["TITAN_SKINS_TITLE_CUSTOM"], type = "group", args = { confdesc = { @@ -552,7 +572,7 @@ DESC: Local table to hold the Titan options that allow a user to adjust: :DESC --]] local optionsUIScale = { - name = L["TITAN_UISCALE_MENU_TEXT"], + name = TITAN_PANEL_CONFIG.topic.scale, --L["TITAN_UISCALE_MENU_TEXT"], type = "group", args = { confdesc = { @@ -697,7 +717,7 @@ Main (top) controls: :DESC --]] local optionsBars = { - name = L["TITAN_PANEL_MENU_OPTIONS_MAIN_BARS"], + name = TITAN_PANEL_CONFIG.topic.top, --L["TITAN_PANEL_MENU_OPTIONS_MAIN_BARS"], type = "group", args = { confdesc1 = { @@ -770,6 +790,10 @@ local optionsBars = { end, set = function() TitanPanelBarButton_ToggleAlign("Bar2_Align"); end, }, + } +} +-- DF do not need adjust +--[=[ confdesc3 = { order = 300, type = "header", @@ -798,8 +822,7 @@ local optionsBars = { get = function() return TitanPanelGetVar("TicketAdjust"); end, set = function() TitanPanel_TicketReload() end, }, - } -} +--]=] --[[ local NAME: optionsAuxBars @@ -815,7 +838,7 @@ Main (top) controls: :DESC --]] local optionsAuxBars = { - name = L["TITAN_PANEL_MENU_OPTIONS_AUX_BARS"], + name = TITAN_PANEL_CONFIG.topic.bottom, --L["TITAN_PANEL_MENU_OPTIONS_AUX_BARS"], type = "group", args = { confdesc1 = { @@ -885,6 +908,94 @@ local optionsAuxBars = { set = function() TitanPanelBarButton_ToggleAlign("AuxBar2_Align"); end, }, confdesc3 = { + order = 400, + type = "header", + name = "Vertical Adjustment", --L["TITAN_PANEL_MENU_BOTTOM2"], + }, + confmainmenudesc = { + name = "Menu and Bag Buttons", + type = "group", inline = true, + order = 401, + args = { + confbuffdesc = { + order = 110, + type = "description", + name = "Adjust Micro menu and Bag Buttons Vertically", --L["TITAN_PANEL_MENU_ADV_DESC"], + cmdHidden = true + }, + optionadjon = { + name = USE, -- "On.", --["TITAN_PANEL_MENU_CENTER_TEXT"], + desc = "Adjust Menu and Bag Bar", --L["TITAN_PANEL_MENU_CENTER_TEXT"], + order = 115, type = "toggle", width = "full", + get = function() + return TitanPanelGetVar("MenuAndBagVerticalAdjOn") + end, + set = function(_, a) + TitanPanelSetVar("MenuAndBagVerticalAdjOn", a) +-- DF switch to sliding menu & bag bar since 10.0 allows user to adjust most frames + TitanPanel_AdjustFrames(true, "MenuAndBagVerticalAdj") + end, + }, + advbuffadj = { + name = "Menu and Bags", --L["TITAN_PANEL_MENU_ADV_PEW"], + desc = "", -- L["TITAN_PANEL_MENU_ADV_PEW_DESC"], + order = 120, type = "range", width = "full", + min = -100, max = 500, step = 1, + get = function() return TitanPanelGetVar("MenuAndBagVerticalAdj") end, + set = function(_, a) + TitanPanelSetVar("MenuAndBagVerticalAdj", a); + -- Adjust frame positions +-- DF switch to sliding menu & bag bar since 10.0 allows user to adjust most frames + TitanPanel_AdjustFrames(true, "MenuAndBagVerticalAdj") + end, + }, + }, + }, + confxpbardesc = { + name = "Status Bar", + type = "group", inline = true, + order = 410, + args = { + confbuffdesc = { + order = 110, + type = "description", + name = "Adjust XP Bar Vertically", --L["TITAN_PANEL_MENU_ADV_DESC"], + cmdHidden = true + }, + optionadjon = { + name = USE, -- "On.", --["TITAN_PANEL_MENU_CENTER_TEXT"], + desc = "Adjust Status Bar", --L["TITAN_PANEL_MENU_CENTER_TEXT"], + order = 115, type = "toggle", width = "full", + get = function() + return TitanPanelGetVar("XPBarVerticalAdjOn") + end, + set = function(_, a) + TitanPanelSetVar("XPBarVerticalAdjOn", a) +-- DF switch to sliding menu & bag bar since 10.0 allows user to adjust most frames + TitanPanel_AdjustFrames(true, "XPBarVerticalAdj") + end, + }, + advbuffadj = { + name = "XP and Status", --L["TITAN_PANEL_MENU_ADV_PEW"], + desc = "", -- L["TITAN_PANEL_MENU_ADV_PEW_DESC"], + order = 120, type = "range", width = "full", + min = -20, max = 500, step = 1, + get = function() return TitanPanelGetVar("XPBarVerticalAdj") end, + set = function(_, a) + TitanPanelSetVar("XPBarVerticalAdj", a); + -- Adjust frame positions +-- DF switch to sliding menu & bag bar since 10.0 allows user to adjust most frames + TitanPanel_AdjustFrames(true, "XPBarVerticalAdj") + end, + }, + }, + }, + } +} +-- DF do not need adjust + +--[=[ + confdesc3 = { order = 300, type = "header", name = L["TITAN_PANEL_OPTIONS"], @@ -927,8 +1038,7 @@ local optionsAuxBars = { TitanPanel_AdjustFrames(true, "Config: Adjust X (right / left)") end, }, - } -} +--]=] ------------- ------------- @@ -949,7 +1059,7 @@ Actions: :DESC --]] local optionsFrames = { - name = L["TITAN_PANEL_MENU_OPTIONS"], + name = TITAN_PANEL_CONFIG.topic.tooltips, --L["TITAN_PANEL_MENU_OPTIONS"], type = "group", args = { confdesc2 = { @@ -1100,7 +1210,7 @@ NAME: optionsAddonAttempts DESC: This is the table shell. The plugin info will be added by another routine. --]] local optionsAddonAttempts = { - name = L["TITAN_PANEL_ATTEMPTS"], + name = TITAN_PANEL_CONFIG.topic.attempts, --L["TITAN_PANEL_ATTEMPTS"], type = "group", args = {} } @@ -1229,7 +1339,7 @@ NAME: optionsExtras DESC: This is the table shell. The plugin info will be added by another routine. --]] local optionsExtras = { - name = L["TITAN_PANEL_EXTRAS"], + name = TITAN_PANEL_CONFIG.topic.extras, --L["TITAN_PANEL_EXTRAS"], type = "group", args = {} } @@ -1299,7 +1409,7 @@ NAME: optionsChars DESC: This is the table shell. The toon info will be added by another routine. --]] local optionsChars = { - name = "Titan "..L["TITAN_PANEL_MENU_PROFILES"], + name = TITAN_PANEL_CONFIG.topic.profiles, --"Titan "..L["TITAN_PANEL_MENU_PROFILES"], type = "group", args = {} } @@ -1536,7 +1646,7 @@ NAME: optionsAddons DESC: This is the table shell. The plugin controls will be added by another routine. --]] local optionsAddons = { - name = "Titan "..L["TITAN_PANEL_MENU_PLUGINS"], + name = TITAN_PANEL_CONFIG.topic.plugins, --"Titan "..L["TITAN_PANEL_MENU_PLUGINS"], type = "group", args = {} } @@ -1804,10 +1914,7 @@ Controls: - Vehicle timer - some users need Titan to wait longer whenever entering or leaving a vehicle before adjusting frames. :DESC --]] -local optionsAdvanced = { - name = L["TITAN_PANEL_MENU_ADV"], - type = "group", - args = { +--[[ conftimerdesc = { name = "Timers", type = "group", inline = true, @@ -1830,6 +1937,8 @@ local optionsAdvanced = { TitanTimers["EnterWorld"].delay = a end, }, + }, + }, advtimervehicle = { name = L["TITAN_PANEL_MENU_ADV_VEHICLE"], desc = L["TITAN_PANEL_MENU_ADV_VEHICLE_DESC"], @@ -1841,33 +1950,11 @@ local optionsAdvanced = { TitanTimers["Vehicle"].delay = a end, }, - }, - }, - confbuffdesc = { - name = "Buff Icon Vertical Adjustment", - type = "group", inline = true, - order = 2, - args = { - confbuffdesc = { - order = 110, - type = "description", - name = "Adjust Buff icons only as needed. This will override the Titan default adjustment.", --L["TITAN_PANEL_MENU_ADV_DESC"], - cmdHidden = true - }, - advbuffadj = { - name = "Buff", --L["TITAN_PANEL_MENU_ADV_PEW"], - desc = "", -- L["TITAN_PANEL_MENU_ADV_PEW_DESC"], - order = 120, type = "range", width = "full", - min = -100, max = 100, step = 1, - get = function() return TitanPanelGetVar("BuffIconVerticalAdj") end, - set = function(_, a) - TitanPanelSetVar("BuffIconVerticalAdj", a); - -- Adjust frame positions - TitanPanel_AdjustFrames(true, "BuffIconVerticalAdj") - end, - }, - }, - }, +--]] +local optionsAdvanced = { + name = TITAN_PANEL_CONFIG.topic.advanced, --L["TITAN_PANEL_MENU_ADV"], + type = "group", + args = { confoutputdesc = { name = "Output", type = "group", inline = true, @@ -1948,7 +2035,10 @@ end --[[ Register the options tables with Ace then register the options with Blizz so the user can use them. --]] --- Add Blizzard Configuration Panel +-- Add Blizzard Configuration Panels +--[[ The first param needs to used for the 'add to options' +The second param must be the table Ace will use to create the user options +--]] AceConfig:RegisterOptionsTable("Titan Panel Main", optionsControl) AceConfig:RegisterOptionsTable("Titan Panel Bars", optionsBars) AceConfig:RegisterOptionsTable("Titan Panel Aux Bars", optionsAuxBars) @@ -1962,18 +2052,24 @@ AceConfig:RegisterOptionsTable("Titan Panel Addon Attempts", optionsAddonAttempt AceConfig:RegisterOptionsTable("Titan Panel Addon Extras", optionsExtras) AceConfig:RegisterOptionsTable("Titan Panel Addon Chars", optionsChars) AceConfig:RegisterOptionsTable("Titan Panel Addon Advanced", optionsAdvanced) +--]] -- Set the main options pages -AceConfigDialog:AddToBlizOptions("Titan Panel Main", L["TITAN_PANEL"]) -AceConfigDialog:AddToBlizOptions("Titan Panel Bars", L["TITAN_PANEL_MENU_TOP_BARS"], L["TITAN_PANEL"]) -AceConfigDialog:AddToBlizOptions("Titan Panel Aux Bars", L["TITAN_PANEL_MENU_BOTTOM_BARS"], L["TITAN_PANEL"]) -AceConfigDialog:AddToBlizOptions("Titan Panel Addon Control", L["TITAN_PANEL_MENU_PLUGINS"], L["TITAN_PANEL"]) -AceConfigDialog:AddToBlizOptions("Titan Panel Addon Chars", L["TITAN_PANEL_MENU_PROFILES"], L["TITAN_PANEL"]) -AceConfigDialog:AddToBlizOptions("Titan Panel Frames", L["TITAN_PANEL_MENU_OPTIONS_SHORT"], L["TITAN_PANEL"]) -AceConfigDialog:AddToBlizOptions("Titan Panel Panel Control", L["TITAN_UISCALE_MENU_TEXT_SHORT"], L["TITAN_PANEL"]) -AceConfigDialog:AddToBlizOptions("Titan Panel Transparency Control", L["TITAN_TRANS_MENU_TEXT_SHORT"], L["TITAN_PANEL"]) -AceConfigDialog:AddToBlizOptions("Titan Panel Skin Control", L["TITAN_PANEL_MENU_TEXTURE_SETTINGS"], L["TITAN_PANEL"]) -AceConfigDialog:AddToBlizOptions("Titan Panel Skin Custom", L["TITAN_SKINS_OPTIONS_CUSTOM"], L["TITAN_PANEL"]) -AceConfigDialog:AddToBlizOptions("Titan Panel Addon Extras", L["TITAN_PANEL_EXTRAS_SHORT"], L["TITAN_PANEL"]) -AceConfigDialog:AddToBlizOptions("Titan Panel Addon Attempts", L["TITAN_PANEL_ATTEMPTS_SHORT"], L["TITAN_PANEL"]) -AceConfigDialog:AddToBlizOptions("Titan Panel Addon Advanced", L["TITAN_PANEL_MENU_ADV"], L["TITAN_PANEL"]) +--[[ The first param must be the same as the cooresponding 'Ace register' +The second param should be the same as the .name of the cooresponding table that was registered, +if not, any 'open' may fail. +--]] +--AceConfigDialog:AddToBlizOptions("Titan Panel Main", L["TITAN_PANEL"]) +AceConfigDialog:AddToBlizOptions("Titan Panel Main", optionsControl.name) +AceConfigDialog:AddToBlizOptions("Titan Panel Bars", optionsBars.name, optionsControl.name) +AceConfigDialog:AddToBlizOptions("Titan Panel Aux Bars", optionsAuxBars.name, optionsControl.name) +AceConfigDialog:AddToBlizOptions("Titan Panel Addon Control", optionsAddons.name, optionsControl.name) +AceConfigDialog:AddToBlizOptions("Titan Panel Addon Chars", optionsChars.name, optionsControl.name) +AceConfigDialog:AddToBlizOptions("Titan Panel Frames", optionsFrames.name, optionsControl.name) +AceConfigDialog:AddToBlizOptions("Titan Panel Panel Control", optionsUIScale.name, optionsControl.name) +AceConfigDialog:AddToBlizOptions("Titan Panel Transparency Control", optionsTrans.name, optionsControl.name) +AceConfigDialog:AddToBlizOptions("Titan Panel Skin Control", optionsSkins.name, optionsControl.name) +AceConfigDialog:AddToBlizOptions("Titan Panel Skin Custom", optionsSkinsCustom.name, optionsControl.name) +AceConfigDialog:AddToBlizOptions("Titan Panel Addon Extras", optionsExtras.name, optionsControl.name) +AceConfigDialog:AddToBlizOptions("Titan Panel Addon Attempts", optionsAddonAttempts.name, optionsControl.name) +AceConfigDialog:AddToBlizOptions("Titan Panel Addon Advanced", optionsAdvanced.name, optionsControl.name) diff --git a/Titan/TitanMovable.lua b/Titan/TitanMovable.lua index cac8031..de3c20d 100755 --- a/Titan/TitanMovable.lua +++ b/Titan/TitanMovable.lua @@ -91,6 +91,32 @@ hooksecurefunc(FrameRef, "SetPoint", function(self) end) --]] +-- DF with DragonFlight these are no longer needed +--[====[ +--[[ Titan +NAME: TitanMovable_AdjustTimer +DESC: Cancel then add the given timer. The timer must be in TitanTimers. +VAR: ttype - The timer type (string) as defined in TitanTimers +OUT: None +--]] +function TitanMovable_AdjustTimer(ttype) + local timer = TitanTimers[ttype] + if timer then + TitanPanelAce.CancelAllTimers(timer.obj) + TitanPanelAce.ScheduleTimer(timer.obj, timer.callback, timer.delay) + end +end + +--[[ local +NAME: Titan_AdjustUIScale +DESC: Adjust the scale of Titan bars and plugins to the user selected scaling. This is called by the secure post hooks to the 'Video Options Frame'. +VAR: None +OUT: None +--]] +local function Titan_AdjustUIScale() + Titan_AdjustScale() +end + --[[ local NAME: f_list table DESC: Holds the list of frames Titan may adjust with additional data. @@ -220,56 +246,6 @@ function TitanMovable_MenuBar_Enable() end end ---[[ API -NAME: TitanMovable_GetPanelYOffset -DESC: Get the Y axis offset Titan needs (1 or 2 bars) at the given position - top or bottom. -VAR: framePosition - TITAN_PANEL_PLACE_TOP or TITAN_PANEL_PLACE_BOTTOM -OUT: Y axis offset, in pixels -NOTE: -- The preferred method to determine the Y offset needed to use TitanUtils_GetBarAnchors() -which provides anchors (frames) for an addon to use. -:NOTE ---]] -function TitanMovable_GetPanelYOffset(framePosition) -- used by other addons - -- Both top & bottom are figured out but only the - -- requested position is returned - local barnum_top = 0 - local barnum_bot = 0 - -- If user has the top adjust set then determine the - -- top offset - if not TitanPanelGetVar("ScreenAdjust") then - if TitanPanelGetVar("Bar_Show") then - barnum_top = 1 - end - if TitanPanelGetVar("Bar2_Show") then - barnum_top = 2 - end - end - -- If user has the top adjust set then determine the - -- bottom offset - if not TitanPanelGetVar("AuxScreenAdjust") then - if TitanPanelGetVar("AuxBar_Show") then - barnum_bot = 1 - end - if TitanPanelGetVar("AuxBar2_Show") then - barnum_bot = 2 - end - end - local scale = TitanPanelGetVar("Scale") - -- return the requested offset - -- 0 will be returned if the user has no bars showing - -- or the scale is not valid - if scale and framePosition then - if framePosition == TITAN_PANEL_PLACE_TOP and barnum_top > 0 then - return (-TITAN_PANEL_BAR_HEIGHT * scale)*(barnum_top); - elseif framePosition == TITAN_PANEL_PLACE_BOTTOM and barnum_bot > 0 then - return (TITAN_PANEL_BAR_HEIGHT * scale)*(barnum_bot) - -1 -- no idea why -1 is needed... seems anchoring to bottom is off a pixel - end - end - return 0 -end - --[[ local NAME: TitanMovableFrame_GetXOffset DESC: Get the x axis offset Titan needs to adjust the given frame. @@ -316,6 +292,8 @@ Titan does not control the frames as other addons so we honor a user placed fram :NOTE --]] local function SetPosition(frame, ...) + +--[===[ local fname = frame:GetName() local um = false if f_list[fname] and f_list[fname].user_movable then @@ -355,6 +333,16 @@ local function SetPosition(frame, ...) frame:SetMovable(false) -- lock frame from moving end end +--]===] + if type(frame) == 'string' then +-- UIPARENT_MANAGED_FRAME_POSITIONS[frame] = nil + frame = _G[frame] + end + if ... then + frame:ClearAllPoints() + frame:SetPoint(...) + end + end --[[ local @@ -630,7 +618,8 @@ NOTE: - The move function sets info in the frame itself. It so inside the move because some frames, such as the ticket frame, may not be created until needed. :NOTE --]] -local MData = { + +--[[ Frames to find or remove [1] = { frameName = "PlayerFrame", move = function (force) @@ -644,7 +633,7 @@ local MData = { end, addonAdj = false, }, [3] = { - frameName = "PartyMemberFrame1", + frameNameNA = "PartyMemberFrame1", move = function (force) MoveFrame("PartyMemberFrame1", 0, TITAN_PANEL_PLACE_TOP, force) end, @@ -739,21 +728,19 @@ local MData = { end end, addonAdj = false, }, -} - ---[[ Titan -NAME: TitanMovable_AdjustTimer -DESC: Cancel then add the given timer. The timer must be in TitanTimers. -VAR: ttype - The timer type (string) as defined in TitanTimers -OUT: None --]] -function TitanMovable_AdjustTimer(ttype) - local timer = TitanTimers[ttype] - if timer then - TitanPanelAce.CancelAllTimers(timer.obj) - TitanPanelAce.ScheduleTimer(timer.obj, timer.callback, timer.delay) - end -end +local MData = { + [1] = { }, + [2] = { }, + [3] = { }, + [4] = { }, + [5] = { }, + [6] = { }, + [7] = { }, + [8] = { }, + [9] = { }, + [10] = { }, +} --[[ Titan NAME: TitanMovable_AddonAdjust @@ -766,7 +753,7 @@ function TitanMovable_AddonAdjust(frame, bool) for i = 1,#MData,1 do local fData = MData[i] local fName = nil - if fData then + if fData.frameName then fName = fData.frameName; end @@ -775,92 +762,87 @@ function TitanMovable_AddonAdjust(frame, bool) end end end - ---[[ local -NAME: TitanMovableFrame_MoveFrames -DESC: Loop through MData calling each frame's 'move' function for each Titan controlled frame. -Then update the chat and open bag frames. -OUT: None ---]] -local function TitanMovableFrame_MoveFrames(place, force) - local move_count = 0 -- debug - local str = "" -- debug - local force = force or false - --[[ - Setting the MainMenuBar as user placed is needed because in 8.0.0 because Blizzard changed something in the - way they controlled the frame. With Titan Panel and bottom bars enabled the MainMenuBar - would 'bounce'. Figuring out the true root cause was a bust. - This idea of user placed came from a Titan user who is an addon developer. - However setting user placed causes the main menu bar to not act as we desire due to the way Blizzard coded the bar. - For now we will try to minimize the side effects... - - Later Titan checks rely on the user placed flag so it needs to be set early. - --]] - if DoAdjust(TITAN_PANEL_PLACE_BOTTOM, force) then - TitanMovable_MenuBar_Enable() - end - - if not InCombatLockdown() then - for i = 1,#MData,1 do - if MData[i] then - if MData[i].addonAdj then - -- An addon has taken control of the frame so skip - else - local md = MData[i] - if place == f_list[md.frameName].place or place == TITAN_PANEL_PLACE_BOTH then - -- Adjust the frame per MData - md.move(force) - end - end - end +--]====] + +local function Titan_AdjustFrame(frame_str, flag, offset) + local frame = _G[frame_str] + local point, relativeTo, relativePoint, xOfs, yOfs = frame:GetPoint() + if point and relativeTo and relativePoint and xOfs then + -- should be safe... + if TitanPanelGetVar(flag) then + frame:ClearAllPoints() + frame:SetPoint(point, relativeTo:GetName(), relativePoint, xOfs, TitanPanelGetVar(offset)) + op = "move - y "..tostring(y) + else + frame:ClearAllPoints() + frame:SetPoint(point, relativeTo:GetName(), relativePoint, xOfs, frame.original_y) end - - Titan_FCF_UpdateDockPosition(); -- chat - UpdateContainerFrameAnchors(); -- Move bags as needed else - -- nothing to do + op = "skip - :GetPoint invalid" + -- do not proceed end -end - ---[[ local -NAME: Titan_AdjustUIScale -DESC: Adjust the scale of Titan bars and plugins to the user selected scaling. This is called by the secure post hooks to the 'Video Options Frame'. -VAR: None -OUT: None +--[[ +print("T_Movable _AdjustFrame" +.." "..tostring(frame_str) +.." flag "..tostring(TitanPanelGetVar(flag)) +.." x"..tostring(xOfs) +.." y"..tostring(yOfs) +.." "..tostring(TitanPanelGetVar(offset)) +.." "..tostring(frame.original_y) +) --]] -local function Titan_AdjustUIScale() - Titan_AdjustScale() end ---[[ Titan -NAME: TitanPanel_AdjustFrames -DESC: Adjust the frames for the Titan visible bars. -This is a shell for the actual Movable routine used by other Titan routines and secure hooks -VAR: force - Force an adjust such as when the user changes bars shown -VAR: reason - Debug to determine where and why an adjust is requested -OUT: None +--[[ API +NAME: TitanMovable_GetPanelYOffset +DESC: Get the Y axis offset Titan needs (1 or 2 bars) at the given position - top or bottom. +VAR: framePosition - TITAN_PANEL_PLACE_TOP or TITAN_PANEL_PLACE_BOTTOM +OUT: Y axis offset, in pixels NOTE: +- As of DragonFlight this may not be as useful. Leaving to not break any addons. + +- The preferred method to determine the Y offset needed to use TitanUtils_GetBarAnchors() +which provides anchors (frames) for an addon to use. :NOTE --]] -function TitanPanel_AdjustFrames(force, reason) - if TITAN_PANEL_VARS.debug.movable then - TitanDebug ("_AdjustFrames :" - .." f: "..tostring(force) - .." r: '"..tostring(reason).."'" - ) +function TitanMovable_GetPanelYOffset(framePosition) -- used by other addons + -- Both top & bottom are figured out but only the + -- requested position is returned + local barnum_top = 0 + local barnum_bot = 0 + -- If user has the top adjust set then determine the + -- top offset + if not TitanPanelGetVar("ScreenAdjust") then + if TitanPanelGetVar("Bar_Show") then + barnum_top = 1 + end + if TitanPanelGetVar("Bar2_Show") then + barnum_top = 2 + end end - - local f = false -- do not require the parameter - if force == true then -- but force it to be boolean - f = true - else - f = false + -- If user has the top adjust set then determine the + -- bottom offset + if not TitanPanelGetVar("AuxScreenAdjust") then + if TitanPanelGetVar("AuxBar_Show") then + barnum_bot = 1 + end + if TitanPanelGetVar("AuxBar2_Show") then + barnum_bot = 2 + end end - - -- Adjust frame positions top and bottom based on user choices - if hooks_done then - TitanMovableFrame_MoveFrames(TITAN_PANEL_PLACE_BOTH, f) + local scale = TitanPanelGetVar("Scale") + -- return the requested offset + -- 0 will be returned if the user has no bars showing + -- or the scale is not valid + if scale and framePosition then + if framePosition == TITAN_PANEL_PLACE_TOP and barnum_top > 0 then + return (-TITAN_PANEL_BAR_HEIGHT * scale)*(barnum_top); + elseif framePosition == TITAN_PANEL_PLACE_BOTTOM and barnum_bot > 0 then + return (TITAN_PANEL_BAR_HEIGHT * scale)*(barnum_bot) + -1 -- no idea why -1 is needed... seems anchoring to bottom is off a pixel + end end + return 0 end --[[ Titan @@ -906,6 +888,54 @@ These may be called from any Titan Panel code :NOTE --]] +--[====[ + +--[[ local +NAME: TitanMovableFrame_MoveFrames +DESC: Loop through MData calling each frame's 'move' function for each Titan controlled frame. +Then update the chat and open bag frames. +OUT: None +--]] +local function TitanMovableFrame_MoveFrames(place, force) + local move_count = 0 -- debug + local str = "" -- debug + local force = force or false + --[[ + Setting the MainMenuBar as user placed is needed because in 8.0.0 because Blizzard changed something in the + way they controlled the frame. With Titan Panel and bottom bars enabled the MainMenuBar + would 'bounce'. Figuring out the true root cause was a bust. + This idea of user placed came from a Titan user who is an addon developer. + However setting user placed causes the main menu bar to not act as we desire due to the way Blizzard coded the bar. + For now we will try to minimize the side effects... + + Later Titan checks rely on the user placed flag so it needs to be set early. + --]] + if DoAdjust(TITAN_PANEL_PLACE_BOTTOM, force) then + TitanMovable_MenuBar_Enable() + end + + if not InCombatLockdown() then + for i = 1,#MData,1 do + if MData[i].frameName then + if MData[i].addonAdj then + -- An addon has taken control of the frame so skip + else + local md = MData[i] + if place == f_list[md.frameName].place or place == TITAN_PANEL_PLACE_BOTH then + -- Adjust the frame per MData + md.move(force) + end + end + end + end + + Titan_FCF_UpdateDockPosition(); -- chat + UpdateContainerFrameAnchors(); -- Move bags as needed + else + -- nothing to do + end +end + function Titan_Hook_Frames() -- UIParent_ManageFramePositions hook --[[ This is the routine that will be called the most. It is the general purpose routine for WoW frames. @@ -1013,8 +1043,57 @@ end function Titan_Hook_Vehicle() -- in config but not used TitanPanel_AdjustFrames(false, "Hook Vehicle Config timer ") end +--]====] -- ============= +--[[ Titan +NAME: TitanPanel_AdjustFrames +DESC: Adjust the frames for the Titan visible bars. +This is a shell for the actual Movable routine used by other Titan routines and secure hooks +VAR: force - Force an adjust such as when the user changes bars shown +VAR: reason - Debug to determine where and why an adjust is requested +OUT: None +NOTE: +:NOTE +--]] +function TitanPanel_AdjustFrames(force, reason) + if TITAN_PANEL_VARS.debug.movable then + TitanDebug ("_AdjustFrames :" + .." f: "..tostring(force) + .." r: '"..tostring(reason).."'" + ) + end + + local f = false -- do not require the parameter + if force == true then -- but force it to be boolean + f = true + else + f = false + end + +--[[ +print("T_Movable" +.." "..tostring(hooks_done) +.." "..tostring(reason) +.." mb "..tostring(TitanPanelGetVar("MenuAndBagVerticalAdjOn")) +.." "..tostring(TitanPanelGetVar("MenuAndBagVerticalAdj")) +.." xp "..tostring(TitanPanelGetVar("XPBarVerticalAdjOn")) +.." "..tostring(TitanPanelGetVar("XPBarVerticalAdj")) +) +--]] +-- DF no longer react to hooks - now react to PEW and config changes. + -- Adjust frame positions top and bottom based on user choices + if hooks_done then + if reason == "Init: PEW (Player Entering World)" + or reason == "MenuAndBagVerticalAdj" then + Titan_AdjustFrame("MicroButtonAndBagsBar", "MenuAndBagVerticalAdjOn", "MenuAndBagVerticalAdj") + end + if reason == "Init: PEW (Player Entering World)" + or reason == "XPBarVerticalAdj" then + Titan_AdjustFrame("StatusTrackingBarManager", "XPBarVerticalAdjOn", "XPBarVerticalAdj") + end + end +end --[[ Titan NAME: TitanMovable_SecureFrames @@ -1027,9 +1106,14 @@ NOTE: :NOTE --]] function TitanMovable_SecureFrames() + +--[===[ + +--[[ if not TitanPanelAce:IsHooked("FCF_UpdateDockPosition", Titan_FCF_UpdateDockPosition) then TitanPanelAce:SecureHook("FCF_UpdateDockPosition", Titan_FCF_UpdateDockPosition) -- FloatingChatFrame end +--]] if not TitanPanelAce:IsHooked("UIParent_ManageFramePositions", Titan_Hook_Frames) then TitanPanelAce:SecureHook("UIParent_ManageFramePositions", Titan_Hook_Frames) -- UIParent.lua TitanPanel_AdjustFrames(true, "Hook First UIParent_ManageFramePositions") @@ -1038,8 +1122,11 @@ function TitanMovable_SecureFrames() if not TitanPanelAce:IsHooked(TicketStatusFrame, "Show", Titan_Hook_Ticket_Show) then TitanPanelAce:SecureHook(TicketStatusFrame, "Show", Titan_Hook_Ticket_Show) -- HelpFrame.xml TitanPanelAce:SecureHook(TicketStatusFrame, "Hide", Titan_Hook_Ticket_Hide) -- HelpFrame.xml - TitanPanelAce:SecureHook("TargetFrame_Update", Titan_Hook_Target) -- TargetFrame.lua - TitanPanelAce:SecureHook("UpdateContainerFrameAnchors", Titan_ContainerFrames_Relocate) -- ContainerFrame.lua +-- TitanPanelAce:SecureHook("TargetFrame_Update", Titan_Hook_Target) -- TargetFrame.lua + +-- DF no longer exists... +-- TitanPanelAce:SecureHook("UpdateContainerFrameAnchors", Titan_ContainerFrames_Relocate) -- ContainerFrame.lua + TitanPanelAce:SecureHook(WorldMapFrame.BorderFrame.MaximizeMinimizeFrame.MinimizeButton, "Show", Titan_Hook_Map) -- WorldMapFrame.lua -- TitanPanelAce:SecureHook("OrderHall_CheckCommandBar", Titan_Hook_OrderHall) @@ -1053,14 +1140,35 @@ function TitanMovable_SecureFrames() argument in the API call and trigger the CVAR_UPDATE event with an appropriate argument so that other addons can detect this behavior and fire their own functions (where applicable). --]] - TitanPanelAce:SecureHook("VideoOptionsFrameOkay_OnClick", Titan_AdjustUIScale) -- VideoOptionsFrame.lua - TitanPanelAce:SecureHook(VideoOptionsFrame, "Hide", Titan_AdjustUIScale) -- VideoOptionsFrame.xml +-- TitanPanelAce:SecureHook("VideoOptionsFrameOkay_OnClick", Titan_AdjustUIScale) -- VideoOptionsFrame.lua +-- TitanPanelAce:SecureHook(VideoOptionsFrame, "Hide", Titan_AdjustUIScale) -- VideoOptionsFrame.xml end -- Check for other addons that control UI frames. Tell Titan to back off of the frames these addons could control CheckConflicts() - + +--]===] + + -- Save the original Y offest for the few frames the user may want to adjust via Titan + local point, relativeTo, relativePoint, xOfs, yOfs, frame + +---[=[ + frame = _G["MicroButtonAndBagsBar"] + point, relativeTo, relativePoint, xOfs, yOfs = frame:GetPoint() + frame.original_y = yOfs +--]=] + +---[=[ + frame = _G["StatusTrackingBarManager"] + point, relativeTo, relativePoint, xOfs, yOfs = frame:GetPoint() + frame.original_y = yOfs +--]=] + hooks_done = true + + -- On start, adjust according to the user settings + TitanPanel_AdjustFrames(true, "Init: PEW (Player Entering World)") + end --[[ diff --git a/Titan/TitanPanel.lua b/Titan/TitanPanel.lua index 3351b96..416effc 100644 --- a/Titan/TitanPanel.lua +++ b/Titan/TitanPanel.lua @@ -22,6 +22,7 @@ local numOfTexturesHider = 0; local L = LibStub("AceLocale-3.0"):GetLocale(TITAN_ID, true) local AceTimer = LibStub("AceTimer-3.0") local media = LibStub("LibSharedMedia-3.0") +local AceConfigDialog = LibStub("AceConfigDialog-3.0") -- TitanDebug (cmd.." : "..p1.." "..p2.." "..p3.." "..#cmd_list) @@ -300,13 +301,13 @@ end -- Event registration --_G[TITAN_PANEL_CONTROL]:RegisterEvent("ADDON_LOADED"); _G[TITAN_PANEL_CONTROL]:RegisterEvent("PLAYER_ENTERING_WORLD"); -_G[TITAN_PANEL_CONTROL]:RegisterEvent("PLAYER_REGEN_DISABLED"); -_G[TITAN_PANEL_CONTROL]:RegisterEvent("PLAYER_REGEN_ENABLED"); +--_G[TITAN_PANEL_CONTROL]:RegisterEvent("PLAYER_REGEN_DISABLED"); +--_G[TITAN_PANEL_CONTROL]:RegisterEvent("PLAYER_REGEN_ENABLED"); _G[TITAN_PANEL_CONTROL]:RegisterEvent("CVAR_UPDATE"); _G[TITAN_PANEL_CONTROL]:RegisterEvent("PLAYER_LOGOUT"); -_G[TITAN_PANEL_CONTROL]:RegisterEvent("ACTIVE_TALENT_GROUP_CHANGED"); -_G[TITAN_PANEL_CONTROL]:RegisterEvent("UNIT_ENTERED_VEHICLE"); -_G[TITAN_PANEL_CONTROL]:RegisterEvent("UNIT_EXITED_VEHICLE"); +--_G[TITAN_PANEL_CONTROL]:RegisterEvent("ACTIVE_TALENT_GROUP_CHANGED"); +--_G[TITAN_PANEL_CONTROL]:RegisterEvent("UNIT_ENTERED_VEHICLE"); +--_G[TITAN_PANEL_CONTROL]:RegisterEvent("UNIT_EXITED_VEHICLE"); _G[TITAN_PANEL_CONTROL]:SetScript("OnEvent", function(_, event, ...) _G[TITAN_PANEL_CONTROL][event](_G[TITAN_PANEL_CONTROL], ...) end) @@ -431,7 +432,8 @@ function TitanPanel_PlayerEnteringWorld() -- On longer game loads (log in, reload, instances, etc Titan will adjust -- then Blizz will adjust putting the action buttons over / under Titan -- if the user has aux 1/2 shown. - TitanMovable_AdjustTimer("EnterWorld") +-- DF With DragonFlight, no longer needed +-- TitanMovable_AdjustTimer("EnterWorld") end @@ -519,6 +521,7 @@ function TitanPanelBarButton:PLAYER_LOGOUT() Titan__InitializedPEW = nil end +--[====[ function TitanPanelBarButton:PLAYER_REGEN_DISABLED() -- If in combat close all control frames and menus if TITAN_PANEL_VARS.debug.movable @@ -553,7 +556,7 @@ function TitanPanelBarButton:PLAYER_REGEN_ENABLED() TitanPanelBarButton_DisplayBarsWanted("PLAYER_REGEN_ENABLED") end end ---[ + function TitanPanelBarButton:ACTIVE_TALENT_GROUP_CHANGED() TitanMovable_AdjustTimer("DualSpec") end @@ -596,7 +599,7 @@ function TitanPanelBarButton:UNIT_EXITED_VEHICLE(self, ...) TitanPanelBarButton_DisplayBarsWanted("UNIT_EXITED_VEHICLE") end end ---]] +--]====] -- function TitanPanelBarButton:PET_BATTLE_OPENING_START() -- TitanDebug("Pet_battle start: ") @@ -778,15 +781,20 @@ local function handle_giu_cmds(cmd_list) return end +-- DF changed how options are called. The best I get is the Titan 'about', not deeper. + Settings.OpenToCategory(TITAN_PANEL_CONFIG.topic.About, TITAN_PANEL_CONFIG.topic.scale) +-- so the below does not work as expected... +--[[ if p1 == "control" then - InterfaceOptionsFrame_OpenToCategory(L["TITAN_UISCALE_MENU_TEXT_SHORT"]) + Settings.OpenToCategory(TITAN_PANEL_CONFIG.topic.About, TITAN_PANEL_CONFIG.topic.scale) elseif p1 == "trans" then - InterfaceOptionsFrame_OpenToCategory(L["TITAN_TRANS_MENU_TEXT_SHORT"]) + Settings.OpenToCategory(TITAN_PANEL_CONFIG.topic.trans) elseif p1 == "skin" then - InterfaceOptionsFrame_OpenToCategory(L["TITAN_PANEL_MENU_TEXTURE_SETTINGS"]) + Settings.OpenToCategory(TITAN_PANEL_CONFIG.topic.About, TITAN_PANEL_CONFIG.topic.skins) else handle_slash_help("gui") end +--]] end --[[ local @@ -1805,8 +1813,7 @@ local function TitanPanel_MainMenu() info.text = L["TITAN_PANEL_MENU_CONFIGURATION"]; info.value = "Bars"; info.func = function() - InterfaceOptionsFrame_OpenToCategory(L["TITAN_PANEL_MENU_TOP_BARS"]); - InterfaceOptionsFrame_OpenToCategory(L["TITAN_PANEL_MENU_TOP_BARS"]); -- hack for a Blizz bug... + Settings.OpenToCategory(TITAN_PANEL_CONFIG.topic.About) end TitanPanelRightClickMenu_AddButton(info); diff --git a/Titan/TitanPanelTemplate.lua b/Titan/TitanPanelTemplate.lua index b83ecfd..9b8e445 100644 --- a/Titan/TitanPanelTemplate.lua +++ b/Titan/TitanPanelTemplate.lua @@ -804,7 +804,17 @@ local function TitanPanelButton_SetButtonText(id) label1, value1, label2, value2, label3, value3, label4, value4 = pcall(buttonTextFunction, id) - if not call_success then buttonText:SetText("<?>") return end +-- if not call_success then buttonText:SetText("<?>") return end + if call_success then + -- All is good + else + buttonText:SetText("<?>") +--[[ + local msg = tostring(id).." '"..label1.."'" + TitanPrint(msg, "error") +--]] + return + end if label1 and not (label2 or label3 or label4 diff --git a/Titan/TitanUtils.lua b/Titan/TitanUtils.lua index e97bfc6..7fcfd30 100644 --- a/Titan/TitanUtils.lua +++ b/Titan/TitanUtils.lua @@ -50,9 +50,12 @@ NAME: TitanUtils_GetMinimapAdjust DESC: Return the current setting of the Titan MinimapAdjust option. VAR: None OUT: The value of the MinimapAdjust option +NOTE: +- As of DragonFlight Titan Loc no longer adjusts or manipulates the minimap. --]] function TitanUtils_GetMinimapAdjust() -- Used by addons - return not TitanPanelGetVar("MinimapAdjust") +-- return not TitanPanelGetVar("MinimapAdjust") + return false end --[[ API @@ -60,11 +63,13 @@ NAME: TitanUtils_SetMinimapAdjust DESC: Set the current setting of the Titan MinimapAdjust option. VAR: bool - true (off) or false (on) OUT: None +NOTE: +- As of DragonFlight Titan Loc no longer adjusts or manipulates the minimap. --]] function TitanUtils_SetMinimapAdjust(bool) -- Used by addons -- This routine allows an addon to turn on or off -- the Titan minimap adjust. - TitanPanelSetVar("MinimapAdjust", not bool) +-- TitanPanelSetVar("MinimapAdjust", not bool) end --[[ API @@ -74,6 +79,8 @@ VAR: frame - is the name (string) of the frame VAR: bool - true if the addon will adjust the frame or false if Titan will adjust OUT: None Note: +-- As of DragonFlight, this is no longer needed. The Titan user can user place - or not - a couple frames not user placeable, + - Titan will NOT store the adjust value across a log out / exit. - This is a generic way for an addon to tell Titan to not adjust a frame. The addon will take responsibility for adjusting that frame. This is useful for UI style addons so the user can run Titan and a modifed UI. - The list of frames Titan adjusts is specified in TitanMovableData within TitanMovable.lua. @@ -81,7 +88,7 @@ Note: :NOTE --]] function TitanUtils_AddonAdjust(frame, bool) -- Used by addons - TitanMovable_AddonAdjust(frame, bool) +-- TitanMovable_AddonAdjust(frame, bool) end -------------------------------------------------------------- @@ -2114,8 +2121,8 @@ function TitanDumpTimers() .."'"..(TitanAllGetVar("TimerPEW") or "?").."' " .."'"..(TitanAllGetVar("TimerDualSpec") or "?").."' " .."'"..(TitanAllGetVar("TimerLDB") or "?").."' " - .."'"..(TitanAllGetVar("TimerAdjust") or "?").."' " - .."'"..(TitanAllGetVar("TimerVehicle") or "?").."' " +-- .."'"..(TitanAllGetVar("TimerAdjust") or "?").."' " +-- .."'"..(TitanAllGetVar("TimerVehicle") or "?").."' " TitanPrint(str, "plain") end diff --git a/Titan/TitanVariables.lua b/Titan/TitanVariables.lua index d1f1040..cfa3844 100644 --- a/Titan/TitanVariables.lua +++ b/Titan/TitanVariables.lua @@ -277,7 +277,10 @@ TITAN_PANEL_SAVED_VARIABLES = { AuxBar2_Transparency = 0.7, AuxBar2_Align = TITAN_PANEL_BUTTONS_ALIGN_LEFT, MainMenuBarXAdj = 0, - BuffIconVerticalAdj = 10, + MenuAndBagVerticalAdjOn = false, + MenuAndBagVerticalAdj = 24, + XPBarVerticalAdjOn = false, + XPBarVerticalAdj = 24, }; --[[ Titan @@ -535,25 +538,25 @@ OUT: None local function Set_Timers(reset) -- Titan is loaded so set the timers we want to use TitanTimers = { - ["EnterWorld"] = {obj = "PEW", callback = Titan_Hook_PEW, delay = 4,}, - ["DualSpec"] = {obj = "SpecSwitch", callback = Titan_Hook_SpecSwitch, delay = 2,}, +-- ["EnterWorld"] = {obj = "PEW", callback = Titan_Hook_PEW, delay = 4,}, +-- ["DualSpec"] = {obj = "SpecSwitch", callback = Titan_Hook_SpecSwitch, delay = 2,}, ["LDBRefresh"] = {obj = "LDB", callback = TitanLDBRefreshButton, delay = 2,}, - ["Adjust"] = {obj = "MoveAdj", callback = Titan_Hook_MoveAdj, delay = 1,}, - ["Vehicle"] = {obj = "Vehicle", callback = Titan_Hook_Vehicle, delay = 1,}, +-- ["Adjust"] = {obj = "MoveAdj", callback = Titan_Hook_MoveAdj, delay = 1,}, +-- ["Vehicle"] = {obj = "Vehicle", callback = Titan_Hook_Vehicle, delay = 1,}, } if reset then - TitanAllSetVar("TimerPEW", TitanTimers["EnterWorld"].delay) - TitanAllSetVar("TimerDualSpec", TitanTimers["DualSpec"].delay) +-- TitanAllSetVar("TimerPEW", TitanTimers["EnterWorld"].delay) +-- TitanAllSetVar("TimerDualSpec", TitanTimers["DualSpec"].delay) TitanAllSetVar("TimerLDB", TitanTimers["LDBRefresh"].delay) - TitanAllSetVar("TimerAdjust", TitanTimers["Adjust"].delay) - TitanAllSetVar("TimerVehicle", TitanTimers["Vehicle"].delay) +-- TitanAllSetVar("TimerAdjust", TitanTimers["Adjust"].delay) +-- TitanAllSetVar("TimerVehicle", TitanTimers["Vehicle"].delay) else - TitanTimers["EnterWorld"].delay = TitanAllGetVar("TimerPEW") - TitanTimers["DualSpec"].delay = TitanAllGetVar("TimerDualSpec") +-- TitanTimers["EnterWorld"].delay = TitanAllGetVar("TimerPEW") +-- TitanTimers["DualSpec"].delay = TitanAllGetVar("TimerDualSpec") TitanTimers["LDBRefresh"].delay = TitanAllGetVar("TimerLDB") - TitanTimers["Adjust"].delay = TitanAllGetVar("TimerAdjust") - TitanTimers["Vehicle"].delay = TitanAllGetVar("TimerVehicle") +-- TitanTimers["Adjust"].delay = TitanAllGetVar("TimerAdjust") +-- TitanTimers["Vehicle"].delay = TitanAllGetVar("TimerVehicle") end end diff --git a/Titan/libs/AceGUI-3.0/AceGUI-3.0.lua b/Titan/libs/AceGUI-3.0/AceGUI-3.0.lua index 724b151..7d9a2cf 100755 --- a/Titan/libs/AceGUI-3.0/AceGUI-3.0.lua +++ b/Titan/libs/AceGUI-3.0/AceGUI-3.0.lua @@ -24,28 +24,22 @@ -- f:AddChild(btn) -- @class file -- @name AceGUI-3.0 --- @release $Id: AceGUI-3.0.lua 1231 2020-04-14 22:20:36Z nevcairiel $ +-- @release $Id: AceGUI-3.0.lua 1288 2022-09-25 14:19:00Z funkehdude $ local ACEGUI_MAJOR, ACEGUI_MINOR = "AceGUI-3.0", 41 local AceGUI, oldminor = LibStub:NewLibrary(ACEGUI_MAJOR, ACEGUI_MINOR) if not AceGUI then return end -- No upgrade needed -- Lua APIs -local tinsert = table.insert +local tinsert, wipe = table.insert, table.wipe local select, pairs, next, type = select, pairs, next, type local error, assert = error, assert local setmetatable, rawget = setmetatable, rawget -local math_max = math.max +local math_max, math_min, math_ceil = math.max, math.min, math.ceil -- WoW APIs local UIParent = UIParent --- Global vars/functions that we don't upvalue since they might get hooked, or upgraded --- List them here for Mikk's FindGlobals script --- GLOBALS: geterrorhandler, LibStub - ---local con = LibStub("AceConsole-3.0",true) - AceGUI.WidgetRegistry = AceGUI.WidgetRegistry or {} AceGUI.LayoutRegistry = AceGUI.LayoutRegistry or {} AceGUI.WidgetBase = AceGUI.WidgetBase or {} @@ -94,38 +88,38 @@ do AceGUI.objPools = AceGUI.objPools or {} local objPools = AceGUI.objPools --Returns a new instance, if none are available either returns a new table or calls the given contructor - function newWidget(type) - if not WidgetRegistry[type] then + function newWidget(widgetType) + if not WidgetRegistry[widgetType] then error("Attempt to instantiate unknown widget type", 2) end - if not objPools[type] then - objPools[type] = {} + if not objPools[widgetType] then + objPools[widgetType] = {} end - local newObj = next(objPools[type]) + local newObj = next(objPools[widgetType]) if not newObj then - newObj = WidgetRegistry[type]() - newObj.AceGUIWidgetVersion = WidgetVersions[type] + newObj = WidgetRegistry[widgetType]() + newObj.AceGUIWidgetVersion = WidgetVersions[widgetType] else - objPools[type][newObj] = nil + objPools[widgetType][newObj] = nil -- if the widget is older then the latest, don't even try to reuse it -- just forget about it, and grab a new one. - if not newObj.AceGUIWidgetVersion or newObj.AceGUIWidgetVersion < WidgetVersions[type] then - return newWidget(type) + if not newObj.AceGUIWidgetVersion or newObj.AceGUIWidgetVersion < WidgetVersions[widgetType] then + return newWidget(widgetType) end end return newObj end -- Releases an instance to the Pool - function delWidget(obj,type) - if not objPools[type] then - objPools[type] = {} + function delWidget(obj,widgetType) + if not objPools[widgetType] then + objPools[widgetType] = {} end - if objPools[type][obj] then + if objPools[widgetType][obj] then error("Attempt to Release Widget that is already released", 2) end - objPools[type][obj] = true + objPools[widgetType][obj] = true end end @@ -141,9 +135,9 @@ end -- OnAcquire function on it, before returning. -- @param type The type of the widget. -- @return The newly created widget. -function AceGUI:Create(type) - if WidgetRegistry[type] then - local widget = newWidget(type) +function AceGUI:Create(widgetType) + if WidgetRegistry[widgetType] then + local widget = newWidget(widgetType) if rawget(widget, "Acquire") then widget.OnAcquire = widget.Acquire @@ -161,7 +155,7 @@ function AceGUI:Create(type) if widget.OnAcquire then widget:OnAcquire() else - error(("Widget type %s doesn't supply an OnAcquire Function"):format(type)) + error(("Widget type %s doesn't supply an OnAcquire Function"):format(widgetType)) end -- Set the default Layout ("List") safecall(widget.SetLayout, widget, "List") @@ -589,25 +583,25 @@ AceGUI.counts = AceGUI.counts or {} -- This is used by widgets that require a named frame, e.g. when a Blizzard -- Template requires it. -- @param type The widget type -function AceGUI:GetNextWidgetNum(type) - if not self.counts[type] then - self.counts[type] = 0 +function AceGUI:GetNextWidgetNum(widgetType) + if not self.counts[widgetType] then + self.counts[widgetType] = 0 end - self.counts[type] = self.counts[type] + 1 - return self.counts[type] + self.counts[widgetType] = self.counts[widgetType] + 1 + return self.counts[widgetType] end --- Return the number of created widgets for this type. -- In contrast to GetNextWidgetNum, the number is not incremented. --- @param type The widget type -function AceGUI:GetWidgetCount(type) - return self.counts[type] or 0 +-- @param widgetType The widget type +function AceGUI:GetWidgetCount(widgetType) + return self.counts[widgetType] or 0 end --- Return the version of the currently registered widget type. --- @param type The widget type -function AceGUI:GetWidgetVersion(type) - return WidgetVersions[type] +-- @param widgetType The widget type +function AceGUI:GetWidgetVersion(widgetType) + return WidgetVersions[widgetType] end ------------- @@ -770,7 +764,6 @@ AceGUI:RegisterLayout("Flow", usedwidth = 0 rowstart = frame - rowstartoffset = frameoffset if child.DoLayout then child:DoLayout() @@ -813,7 +806,8 @@ local GetCellAlign = function (dir, tableObj, colObj, cellObj, cell, child) or colObj and (colObj["align" .. dir] or colObj.align) or tableObj["align" .. dir] or tableObj.align or "CENTERLEFT" - local child, cell, val = child or 0, cell or 0, nil + local val + child, cell = child or 0, cell or 0 if type(fn) == "string" then fn = fn:lower() @@ -827,7 +821,7 @@ local GetCellAlign = function (dir, tableObj, colObj, cellObj, cell, child) val = fn end - return fn, max(0, min(val, cell)) + return fn, math_max(0, math_min(val, cell)) end -- Get width or height for multiple cells combined @@ -836,7 +830,7 @@ local GetCellDimension = function (dir, laneDim, from, to, space) for cell=from,to do dim = dim + (laneDim[cell] or 0) end - return dim + max(0, to - from) * (space or 0) + return dim + math_max(0, to - from) * (space or 0) end --[[ Options @@ -882,7 +876,7 @@ AceGUI:RegisterLayout("Table", repeat n = n + 1 local col = (n - 1) % #cols + 1 - local row = ceil(n / #cols) + local row = math_ceil(n / #cols) local rowspan = rowspans[col] local cell = rowspan and rowspan.child or child local cellObj = cell:GetUserData("cell") @@ -898,7 +892,7 @@ AceGUI:RegisterLayout("Table", end -- Colspan - local colspan = max(0, min((cellObj and cellObj.colspan or 1) - 1, #cols - col)) + local colspan = math_max(0, math_min((cellObj and cellObj.colspan or 1) - 1, #cols - col)) n = n + colspan -- Place the cell @@ -915,7 +909,7 @@ AceGUI:RegisterLayout("Table", end end - local rows = ceil(n / #cols) + local rows = math_ceil(n / #cols) -- Determine fixed size cols and collect weights local extantH, totalWeight = totalH, 0 @@ -940,16 +934,16 @@ AceGUI:RegisterLayout("Table", f:ClearAllPoints() local childH = f:GetWidth() or 0 - laneH[col] = max(laneH[col], childH - GetCellDimension("H", laneH, colStart[child], col - 1, spaceH)) + laneH[col] = math_max(laneH[col], childH - GetCellDimension("H", laneH, colStart[child], col - 1, spaceH)) end end - laneH[col] = max(colObj.min or colObj[1] or 0, min(laneH[col], colObj.max or colObj[2] or laneH[col])) + laneH[col] = math_max(colObj.min or colObj[1] or 0, math_min(laneH[col], colObj.max or colObj[2] or laneH[col])) else -- Rel./Abs. width laneH[col] = colObj.width < 1 and colObj.width * totalH or colObj.width end - extantH = max(0, extantH - laneH[col]) + extantH = math_max(0, extantH - laneH[col]) end end @@ -988,7 +982,7 @@ AceGUI:RegisterLayout("Table", child:DoLayout() end - rowV = max(rowV, (f:GetHeight() or 0) - GetCellDimension("V", laneV, rowStart[child], row - 1, spaceV)) + rowV = math_max(rowV, (f:GetHeight() or 0) - GetCellDimension("V", laneV, rowStart[child], row - 1, spaceV)) end end diff --git a/Titan/libs/AceGUI-3.0/widgets/AceGUIContainer-BlizOptionsGroup.lua b/Titan/libs/AceGUI-3.0/widgets/AceGUIContainer-BlizOptionsGroup.lua index 200fc71..bf1eae7 100755 --- a/Titan/libs/AceGUI-3.0/widgets/AceGUIContainer-BlizOptionsGroup.lua +++ b/Titan/libs/AceGUI-3.0/widgets/AceGUIContainer-BlizOptionsGroup.lua @@ -2,7 +2,7 @@ BlizOptionsGroup Container Simple container widget for the integration of AceGUI into the Blizzard Interface Options -------------------------------------------------------------------------------]] -local Type, Version = "BlizOptionsGroup", 21 +local Type, Version = "BlizOptionsGroup", 26 local AceGUI = LibStub and LibStub("AceGUI-3.0", true) if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end @@ -99,7 +99,7 @@ local methods = { Constructor -------------------------------------------------------------------------------]] local function Constructor() - local frame = CreateFrame("Frame") + local frame = CreateFrame("Frame", nil, InterfaceOptionsFramePanelContainer) frame:Hide() -- support functions for the Blizzard Interface Options @@ -108,6 +108,11 @@ local function Constructor() frame.default = default frame.refresh = refresh + -- 10.0 support function aliases (cancel has been removed) + frame.OnCommit = okay + frame.OnDefault = default + frame.OnRefresh = refresh + frame:SetScript("OnHide", OnHide) frame:SetScript("OnShow", OnShow) diff --git a/Titan/libs/AceGUI-3.0/widgets/AceGUIContainer-DropDownGroup.lua b/Titan/libs/AceGUI-3.0/widgets/AceGUIContainer-DropDownGroup.lua index c4c6092..2322e3d 100755 --- a/Titan/libs/AceGUI-3.0/widgets/AceGUIContainer-DropDownGroup.lua +++ b/Titan/libs/AceGUI-3.0/widgets/AceGUIContainer-DropDownGroup.lua @@ -125,7 +125,7 @@ local function Constructor() dropdown.frame:Show() dropdown:SetLabel("") - local border = CreateFrame("Frame", nil, frame, BackdropTemplateMixin and "BackdropTemplate" or nil) + local border = CreateFrame("Frame", nil, frame, "BackdropTemplate") border:SetPoint("TOPLEFT", 0, -26) border:SetPoint("BOTTOMRIGHT", 0, 3) border:SetBackdrop(PaneBackdrop) diff --git a/Titan/libs/AceGUI-3.0/widgets/AceGUIContainer-Frame.lua b/Titan/libs/AceGUI-3.0/widgets/AceGUIContainer-Frame.lua index 5fef676..ca90890 100755 --- a/Titan/libs/AceGUI-3.0/widgets/AceGUIContainer-Frame.lua +++ b/Titan/libs/AceGUI-3.0/widgets/AceGUIContainer-Frame.lua @@ -1,7 +1,7 @@ --[[----------------------------------------------------------------------------- Frame Container -------------------------------------------------------------------------------]] -local Type, Version = "Frame", 27 +local Type, Version = "Frame", 30 local AceGUI = LibStub and LibStub("AceGUI-3.0", true) if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end @@ -13,10 +13,6 @@ local wipe = table.wipe local PlaySound = PlaySound local CreateFrame, UIParent = CreateFrame, UIParent --- Global vars/functions that we don't upvalue since they might get hooked, or upgraded --- List them here for Mikk's FindGlobals script --- GLOBALS: CLOSE - --[[----------------------------------------------------------------------------- Scripts -------------------------------------------------------------------------------]] @@ -83,6 +79,7 @@ local methods = { ["OnAcquire"] = function(self) self.frame:SetParent(UIParent) self.frame:SetFrameStrata("FULLSCREEN_DIALOG") + self.frame:SetFrameLevel(100) -- Lots of room to draw under it self:SetTitle() self:SetStatusText() self:ApplyStatus() @@ -179,16 +176,21 @@ local PaneBackdrop = { } local function Constructor() - local frame = CreateFrame("Frame", nil, UIParent, BackdropTemplateMixin and "BackdropTemplate" or nil) + local frame = CreateFrame("Frame", nil, UIParent, "BackdropTemplate") frame:Hide() frame:EnableMouse(true) frame:SetMovable(true) frame:SetResizable(true) frame:SetFrameStrata("FULLSCREEN_DIALOG") + frame:SetFrameLevel(100) -- Lots of room to draw under it frame:SetBackdrop(FrameBackdrop) frame:SetBackdropColor(0, 0, 0, 1) - frame:SetMinResize(400, 200) + if frame.SetResizeBounds then -- WoW 10.0 + frame:SetResizeBounds(400, 200) + else + frame:SetMinResize(400, 200) + end frame:SetToplevel(true) frame:SetScript("OnShow", Frame_OnShow) frame:SetScript("OnHide", Frame_OnClose) @@ -201,7 +203,7 @@ local function Constructor() closebutton:SetWidth(100) closebutton:SetText(CLOSE) - local statusbg = CreateFrame("Button", nil, frame, BackdropTemplateMixin and "BackdropTemplate" or nil) + local statusbg = CreateFrame("Button", nil, frame, "BackdropTemplate") statusbg:SetPoint("BOTTOMLEFT", 15, 15) statusbg:SetPoint("BOTTOMRIGHT", -132, 15) statusbg:SetHeight(24) @@ -269,7 +271,7 @@ local function Constructor() line2:SetHeight(8) line2:SetPoint("BOTTOMRIGHT", -8, 8) line2:SetTexture(137057) -- Interface\\Tooltips\\UI-Tooltip-Border - local x = 0.1 * 8/17 + x = 0.1 * 8/17 line2:SetTexCoord(0.05 - x, 0.5, 0.05, 0.5 + x, 0.05, 0.5 - x, 0.5 + x, 0.5) local sizer_s = CreateFrame("Frame", nil, frame) diff --git a/Titan/libs/AceGUI-3.0/widgets/AceGUIContainer-InlineGroup.lua b/Titan/libs/AceGUI-3.0/widgets/AceGUIContainer-InlineGroup.lua index 26db900..04b4d5d 100755 --- a/Titan/libs/AceGUI-3.0/widgets/AceGUIContainer-InlineGroup.lua +++ b/Titan/libs/AceGUI-3.0/widgets/AceGUIContainer-InlineGroup.lua @@ -75,7 +75,7 @@ local function Constructor() titletext:SetJustifyH("LEFT") titletext:SetHeight(18) - local border = CreateFrame("Frame", nil, frame, BackdropTemplateMixin and "BackdropTemplate" or nil) + local border = CreateFrame("Frame", nil, frame, "BackdropTemplate") border:SetPoint("TOPLEFT", 0, -17) border:SetPoint("BOTTOMRIGHT", -1, 3) border:SetBackdrop(PaneBackdrop) diff --git a/Titan/libs/AceGUI-3.0/widgets/AceGUIContainer-TabGroup.lua b/Titan/libs/AceGUI-3.0/widgets/AceGUIContainer-TabGroup.lua index 306c719..8a5756f 100755 --- a/Titan/libs/AceGUI-3.0/widgets/AceGUIContainer-TabGroup.lua +++ b/Titan/libs/AceGUI-3.0/widgets/AceGUIContainer-TabGroup.lua @@ -2,22 +2,18 @@ TabGroup Container Container that uses tabs on top to switch between groups. -------------------------------------------------------------------------------]] -local Type, Version = "TabGroup", 37 +local Type, Version = "TabGroup", 38 local AceGUI = LibStub and LibStub("AceGUI-3.0", true) if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end -- Lua APIs -local pairs, ipairs, assert, type, wipe = pairs, ipairs, assert, type, wipe +local pairs, ipairs, assert, type, wipe = pairs, ipairs, assert, type, table.wipe -- WoW APIs local PlaySound = PlaySound local CreateFrame, UIParent = CreateFrame, UIParent local _G = _G --- Global vars/functions that we don't upvalue since they might get hooked, or upgraded --- List them here for Mikk's FindGlobals script --- GLOBALS: PanelTemplates_TabResize, PanelTemplates_SetDisabledTabState, PanelTemplates_SelectTab, PanelTemplates_DeselectTab - -- local upvalue storage used by BuildTabs local widths = {} local rowwidths = {} @@ -26,6 +22,143 @@ local rowends = {} --[[----------------------------------------------------------------------------- Support functions -------------------------------------------------------------------------------]] + +local function PanelTemplates_TabResize(tab, padding, absoluteSize, minWidth, maxWidth, absoluteTextSize) + local tabName = tab:GetName(); + + local buttonMiddle = tab.Middle or tab.middleTexture or _G[tabName.."Middle"]; + local buttonMiddleDisabled = tab.MiddleDisabled or (tabName and _G[tabName.."MiddleDisabled"]); + local left = tab.Left or tab.leftTexture or _G[tabName.."Left"]; + local sideWidths = 2 * left:GetWidth(); + local tabText = tab.Text or _G[tab:GetName().."Text"]; + local highlightTexture = tab.HighlightTexture or (tabName and _G[tabName.."HighlightTexture"]); + + local width, tabWidth; + local textWidth; + if ( absoluteTextSize ) then + textWidth = absoluteTextSize; + else + tabText:SetWidth(0); + textWidth = tabText:GetWidth(); + end + -- If there's an absolute size specified then use it + if ( absoluteSize ) then + if ( absoluteSize < sideWidths) then + width = 1; + tabWidth = sideWidths + else + width = absoluteSize - sideWidths; + tabWidth = absoluteSize + end + tabText:SetWidth(width); + else + -- Otherwise try to use padding + if ( padding ) then + width = textWidth + padding; + else + width = textWidth + 24; + end + -- If greater than the maxWidth then cap it + if ( maxWidth and width > maxWidth ) then + if ( padding ) then + width = maxWidth + padding; + else + width = maxWidth + 24; + end + tabText:SetWidth(width); + else + tabText:SetWidth(0); + end + if (minWidth and width < minWidth) then + width = minWidth; + end + tabWidth = width + sideWidths; + end + + if ( buttonMiddle ) then + buttonMiddle:SetWidth(width); + end + if ( buttonMiddleDisabled ) then + buttonMiddleDisabled:SetWidth(width); + end + + tab:SetWidth(tabWidth); + + if ( highlightTexture ) then + highlightTexture:SetWidth(tabWidth); + end +end + +local function PanelTemplates_DeselectTab(tab) + local name = tab:GetName(); + + local left = tab.Left or _G[name.."Left"]; + local middle = tab.Middle or _G[name.."Middle"]; + local right = tab.Right or _G[name.."Right"]; + left:Show(); + middle:Show(); + right:Show(); + --tab:UnlockHighlight(); + tab:Enable(); + local text = tab.Text or _G[name.."Text"]; + text:SetPoint("CENTER", tab, "CENTER", (tab.deselectedTextX or 0), (tab.deselectedTextY or 2)); + + local leftDisabled = tab.LeftDisabled or _G[name.."LeftDisabled"]; + local middleDisabled = tab.MiddleDisabled or _G[name.."MiddleDisabled"]; + local rightDisabled = tab.RightDisabled or _G[name.."RightDisabled"]; + leftDisabled:Hide(); + middleDisabled:Hide(); + rightDisabled:Hide(); +end + +local function PanelTemplates_SelectTab(tab) + local name = tab:GetName(); + + local left = tab.Left or _G[name.."Left"]; + local middle = tab.Middle or _G[name.."Middle"]; + local right = tab.Right or _G[name.."Right"]; + left:Hide(); + middle:Hide(); + right:Hide(); + --tab:LockHighlight(); + tab:Disable(); + tab:SetDisabledFontObject(GameFontHighlightSmall); + local text = tab.Text or _G[name.."Text"]; + text:SetPoint("CENTER", tab, "CENTER", (tab.selectedTextX or 0), (tab.selectedTextY or -3)); + + local leftDisabled = tab.LeftDisabled or _G[name.."LeftDisabled"]; + local middleDisabled = tab.MiddleDisabled or _G[name.."MiddleDisabled"]; + local rightDisabled = tab.RightDisabled or _G[name.."RightDisabled"]; + leftDisabled:Show(); + middleDisabled:Show(); + rightDisabled:Show(); + + if GameTooltip:IsOwned(tab) then + GameTooltip:Hide(); + end +end + +local function PanelTemplates_SetDisabledTabState(tab) + local name = tab:GetName(); + local left = tab.Left or _G[name.."Left"]; + local middle = tab.Middle or _G[name.."Middle"]; + local right = tab.Right or _G[name.."Right"]; + left:Show(); + middle:Show(); + right:Show(); + --tab:UnlockHighlight(); + tab:Disable(); + tab.text = tab:GetText(); + -- Gray out text + tab:SetDisabledFontObject(GameFontDisableSmall); + local leftDisabled = tab.LeftDisabled or _G[name.."LeftDisabled"]; + local middleDisabled = tab.MiddleDisabled or _G[name.."MiddleDisabled"]; + local rightDisabled = tab.RightDisabled or _G[name.."RightDisabled"]; + leftDisabled:Hide(); + middleDisabled:Hide(); + rightDisabled:Hide(); +end + local function UpdateTabLook(frame) if frame.disabled then PanelTemplates_SetDisabledTabState(frame) @@ -103,11 +236,64 @@ local methods = { ["CreateTab"] = function(self, id) local tabname = ("AceGUITabGroup%dTab%d"):format(self.num, id) - local tab = CreateFrame("Button", tabname, self.border, "OptionsFrameTabButtonTemplate") + local tab = CreateFrame("Button", tabname, self.border) + tab:SetSize(115, 24) + tab.deselectedTextY = -3 + tab.selectedTextY = -2 + + tab.LeftDisabled = tab:CreateTexture(tabname .. "LeftDisabled", "BORDER") + tab.LeftDisabled:SetTexture("Interface\\OptionsFrame\\UI-OptionsFrame-ActiveTab") + tab.LeftDisabled:SetSize(20, 24) + tab.LeftDisabled:SetPoint("BOTTOMLEFT", 0, -3) + tab.LeftDisabled:SetTexCoord(0, 0.15625, 0, 1.0) + + tab.MiddleDisabled = tab:CreateTexture(tabname .. "MiddleDisabled", "BORDER") + tab.MiddleDisabled:SetTexture("Interface\\OptionsFrame\\UI-OptionsFrame-ActiveTab") + tab.MiddleDisabled:SetSize(88, 24) + tab.MiddleDisabled:SetPoint("LEFT", tab.LeftDisabled, "RIGHT") + tab.MiddleDisabled:SetTexCoord(0.15625, 0.84375, 0, 1.0) + + tab.RightDisabled = tab:CreateTexture(tabname .. "RightDisabled", "BORDER") + tab.RightDisabled:SetTexture("Interface\\OptionsFrame\\UI-OptionsFrame-ActiveTab") + tab.RightDisabled:SetSize(20, 24) + tab.RightDisabled:SetPoint("LEFT", tab.MiddleDisabled, "RIGHT") + tab.RightDisabled:SetTexCoord(0.84375, 1.0, 0, 1.0) + + tab.Left = tab:CreateTexture(tabname .. "Left", "BORDER") + tab.Left:SetTexture("Interface\\OptionsFrame\\UI-OptionsFrame-InActiveTab") + tab.Left:SetSize(20, 24) + tab.Left:SetPoint("TOPLEFT") + tab.Left:SetTexCoord(0, 0.15625, 0, 1.0) + + tab.Middle = tab:CreateTexture(tabname .. "Middle", "BORDER") + tab.Middle:SetTexture("Interface\\OptionsFrame\\UI-OptionsFrame-InActiveTab") + tab.Middle:SetSize(88, 24) + tab.Middle:SetPoint("LEFT", tab.Left, "RIGHT") + tab.Middle:SetTexCoord(0.15625, 0.84375, 0, 1.0) + + tab.Right = tab:CreateTexture(tabname .. "Right", "BORDER") + tab.Right:SetTexture("Interface\\OptionsFrame\\UI-OptionsFrame-InActiveTab") + tab.Right:SetSize(20, 24) + tab.Right:SetPoint("LEFT", tab.Middle, "RIGHT") + tab.Right:SetTexCoord(0.84375, 1.0, 0, 1.0) + + tab.Text = tab:CreateFontString(tabname .. "Text") + tab:SetFontString(tab.Text) + + tab:SetNormalFontObject(GameFontNormalSmall) + tab:SetHighlightFontObject(GameFontHighlightSmall) + tab:SetDisabledFontObject(GameFontHighlightSmall) + tab:SetHighlightTexture("Interface\\PaperDollInfoFrame\\UI-Character-Tab-Highlight", "ADD") + tab.HighlightTexture = tab:GetHighlightTexture() + tab.HighlightTexture:ClearAllPoints() + tab.HighlightTexture:SetPoint("LEFT", tab, "LEFT", 10, -4) + tab.HighlightTexture:SetPoint("RIGHT", tab, "RIGHT", -10, -4) + _G[tabname .. "HighlightTexture"] = tab.HighlightTexture + tab.obj = self tab.id = id - tab.text = _G[tabname .. "Text"] + tab.text = tab.Text -- compat tab.text:ClearAllPoints() tab.text:SetPoint("LEFT", 14, -3) tab.text:SetPoint("RIGHT", -12, -3) @@ -316,7 +502,7 @@ local function Constructor() titletext:SetHeight(18) titletext:SetText("") - local border = CreateFrame("Frame", nil, frame, BackdropTemplateMixin and "BackdropTemplate" or nil) + local border = CreateFrame("Frame", nil, frame, "BackdropTemplate") border:SetPoint("TOPLEFT", 1, -27) border:SetPoint("BOTTOMRIGHT", -1, 3) border:SetBackdrop(PaneBackdrop) diff --git a/Titan/libs/AceGUI-3.0/widgets/AceGUIContainer-TreeGroup.lua b/Titan/libs/AceGUI-3.0/widgets/AceGUIContainer-TreeGroup.lua index c09c5ec..ca9b2df 100755 --- a/Titan/libs/AceGUI-3.0/widgets/AceGUIContainer-TreeGroup.lua +++ b/Titan/libs/AceGUI-3.0/widgets/AceGUIContainer-TreeGroup.lua @@ -2,22 +2,18 @@ TreeGroup Container Container that uses a tree control to switch between groups. -------------------------------------------------------------------------------]] -local Type, Version = "TreeGroup", 45 +local Type, Version = "TreeGroup", 47 local AceGUI = LibStub and LibStub("AceGUI-3.0", true) if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end -- Lua APIs local next, pairs, ipairs, assert, type = next, pairs, ipairs, assert, type -local math_min, math_max, floor = math.min, math.max, floor +local math_min, math_max, floor = math.min, math.max, math.floor local select, tremove, unpack, tconcat = select, table.remove, unpack, table.concat -- WoW APIs local CreateFrame, UIParent = CreateFrame, UIParent --- Global vars/functions that we don't upvalue since they might get hooked, or upgraded --- List them here for Mikk's FindGlobals script --- GLOBALS: FONT_COLOR_CODE_CLOSE - -- Recycling functions local new, del do @@ -567,7 +563,11 @@ local methods = { if maxtreewidth > 100 and status.treewidth > maxtreewidth then self:SetTreeWidth(maxtreewidth, status.treesizable) end - treeframe:SetMaxResize(maxtreewidth, 1600) + if treeframe.SetResizeBounds then + treeframe:SetResizeBounds(100, 1, maxtreewidth, 1600) + else + treeframe:SetMaxResize(maxtreewidth, 1600) + end end, ["OnHeightSet"] = function(self, height) @@ -637,7 +637,7 @@ local function Constructor() local num = AceGUI:GetNextWidgetNum(Type) local frame = CreateFrame("Frame", nil, UIParent) - local treeframe = CreateFrame("Frame", nil, frame, BackdropTemplateMixin and "BackdropTemplate" or nil) + local treeframe = CreateFrame("Frame", nil, frame, "BackdropTemplate") treeframe:SetPoint("TOPLEFT") treeframe:SetPoint("BOTTOMLEFT") treeframe:SetWidth(DEFAULT_TREE_WIDTH) @@ -646,13 +646,17 @@ local function Constructor() treeframe:SetBackdropColor(0.1, 0.1, 0.1, 0.5) treeframe:SetBackdropBorderColor(0.4, 0.4, 0.4) treeframe:SetResizable(true) - treeframe:SetMinResize(100, 1) - treeframe:SetMaxResize(400, 1600) + if treeframe.SetResizeBounds then -- WoW 10.0 + treeframe:SetResizeBounds(100, 1, 400, 1600) + else + treeframe:SetMinResize(100, 1) + treeframe:SetMaxResize(400, 1600) + end treeframe:SetScript("OnUpdate", FirstFrameUpdate) treeframe:SetScript("OnSizeChanged", Tree_OnSizeChanged) treeframe:SetScript("OnMouseWheel", Tree_OnMouseWheel) - local dragger = CreateFrame("Frame", nil, treeframe, BackdropTemplateMixin and "BackdropTemplate" or nil) + local dragger = CreateFrame("Frame", nil, treeframe, "BackdropTemplate") dragger:SetWidth(8) dragger:SetPoint("TOP", treeframe, "TOPRIGHT") dragger:SetPoint("BOTTOM", treeframe, "BOTTOMRIGHT") @@ -677,7 +681,7 @@ local function Constructor() scrollbg:SetAllPoints(scrollbar) scrollbg:SetColorTexture(0,0,0,0.4) - local border = CreateFrame("Frame", nil, frame, BackdropTemplateMixin and "BackdropTemplate" or nil) + local border = CreateFrame("Frame", nil, frame, "BackdropTemplate") border:SetPoint("TOPLEFT", treeframe, "TOPRIGHT") border:SetPoint("BOTTOMRIGHT") border:SetBackdrop(PaneBackdrop) diff --git a/Titan/libs/AceGUI-3.0/widgets/AceGUIContainer-Window.lua b/Titan/libs/AceGUI-3.0/widgets/AceGUIContainer-Window.lua index a9192b3..5729bfd 100755 --- a/Titan/libs/AceGUI-3.0/widgets/AceGUIContainer-Window.lua +++ b/Titan/libs/AceGUI-3.0/widgets/AceGUIContainer-Window.lua @@ -7,10 +7,6 @@ local pairs, assert, type = pairs, assert, type local PlaySound = PlaySound local CreateFrame, UIParent = CreateFrame, UIParent --- Global vars/functions that we don't upvalue since they might get hooked, or upgraded --- List them here for Mikk's FindGlobals script --- GLOBALS: GameFontNormal - ---------------- -- Main Frame -- ---------------- @@ -21,7 +17,7 @@ local CreateFrame, UIParent = CreateFrame, UIParent ]] do local Type = "Window" - local Version = 6 + local Version = 8 local function frameOnShow(this) this.obj:Fire("OnShow") @@ -186,7 +182,11 @@ do frame:SetScript("OnShow",frameOnShow) frame:SetScript("OnHide",frameOnClose) - frame:SetMinResize(240,240) + if frame.SetResizeBounds then -- WoW 10.0 + frame:SetResizeBounds(240,240) + else + frame:SetMinResize(240,240) + end frame:SetToplevel(true) local titlebg = frame:CreateTexture(nil, "BACKGROUND") @@ -300,7 +300,7 @@ do line2:SetHeight(8) line2:SetPoint("BOTTOMRIGHT", -8, 8) line2:SetTexture(137057) -- Interface\\Tooltips\\UI-Tooltip-Border - local x = 0.1 * 8/17 + x = 0.1 * 8/17 line2:SetTexCoord(0.05 - x, 0.5, 0.05, 0.5 + x, 0.05, 0.5 - x, 0.5 + x, 0.5) local sizer_s = CreateFrame("Frame",nil,frame) diff --git a/Titan/libs/AceGUI-3.0/widgets/AceGUIWidget-CheckBox.lua b/Titan/libs/AceGUI-3.0/widgets/AceGUIWidget-CheckBox.lua index d2adb88..6e64292 100755 --- a/Titan/libs/AceGUI-3.0/widgets/AceGUIWidget-CheckBox.lua +++ b/Titan/libs/AceGUI-3.0/widgets/AceGUIWidget-CheckBox.lua @@ -12,10 +12,6 @@ local select, pairs = select, pairs local PlaySound = PlaySound local CreateFrame, UIParent = CreateFrame, UIParent --- Global vars/functions that we don't upvalue since they might get hooked, or upgraded --- List them here for Mikk's FindGlobals script --- GLOBALS: SetDesaturation, GameFontHighlight - --[[----------------------------------------------------------------------------- Support functions -------------------------------------------------------------------------------]] @@ -199,14 +195,14 @@ local methods = { ["SetDescription"] = function(self, desc) if desc then if not self.desc then - local desc = self.frame:CreateFontString(nil, "OVERLAY", "GameFontHighlightSmall") - desc:ClearAllPoints() - desc:SetPoint("TOPLEFT", self.checkbg, "TOPRIGHT", 5, -21) - desc:SetWidth(self.frame.width - 30) - desc:SetPoint("RIGHT", self.frame, "RIGHT", -30, 0) - desc:SetJustifyH("LEFT") - desc:SetJustifyV("TOP") - self.desc = desc + local f = self.frame:CreateFontString(nil, "OVERLAY", "GameFontHighlightSmall") + f:ClearAllPoints() + f:SetPoint("TOPLEFT", self.checkbg, "TOPRIGHT", 5, -21) + f:SetWidth(self.frame.width - 30) + f:SetPoint("RIGHT", self.frame, "RIGHT", -30, 0) + f:SetJustifyH("LEFT") + f:SetJustifyV("TOP") + self.desc = f end self.desc:Show() --self.text:SetFontObject(GameFontNormal) diff --git a/Titan/libs/AceGUI-3.0/widgets/AceGUIWidget-ColorPicker.lua b/Titan/libs/AceGUI-3.0/widgets/AceGUIWidget-ColorPicker.lua index f4cab66..699d583 100755 --- a/Titan/libs/AceGUI-3.0/widgets/AceGUIWidget-ColorPicker.lua +++ b/Titan/libs/AceGUI-3.0/widgets/AceGUIWidget-ColorPicker.lua @@ -11,10 +11,6 @@ local pairs = pairs -- WoW APIs local CreateFrame, UIParent = CreateFrame, UIParent --- Global vars/functions that we don't upvalue since they might get hooked, or upgraded --- List them here for Mikk's FindGlobals script --- GLOBALS: ColorPickerFrame, OpacitySliderFrame - --[[----------------------------------------------------------------------------- Support functions -------------------------------------------------------------------------------]] diff --git a/Titan/libs/AceGUI-3.0/widgets/AceGUIWidget-DropDown-Items.lua b/Titan/libs/AceGUI-3.0/widgets/AceGUIWidget-DropDown-Items.lua index 9dd4b60..0ad94f8 100755 --- a/Titan/libs/AceGUI-3.0/widgets/AceGUIWidget-DropDown-Items.lua +++ b/Titan/libs/AceGUI-3.0/widgets/AceGUIWidget-DropDown-Items.lua @@ -1,4 +1,4 @@ ---[[ $Id: AceGUIWidget-DropDown-Items.lua 1202 2019-05-15 23:11:22Z nevcairiel $ ]]-- +--[[ $Id: AceGUIWidget-DropDown-Items.lua 1272 2022-08-29 15:56:35Z nevcairiel $ ]]-- local AceGUI = LibStub("AceGUI-3.0") @@ -41,7 +41,7 @@ local ItemBase = { -- NOTE: The ItemBase version is added to each item's version number -- to ensure proper updates on ItemBase changes. -- Use at least 1000er steps. - version = 1000, + version = 2000, counter = 0, } @@ -178,7 +178,7 @@ function ItemBase.Create(type) highlight:Hide() self.highlight = highlight - local check = frame:CreateTexture("OVERLAY") + local check = frame:CreateTexture(nil, "OVERLAY") check:SetWidth(16) check:SetHeight(16) check:SetPoint("LEFT",frame,"LEFT",3,-1) @@ -186,7 +186,7 @@ function ItemBase.Create(type) check:Hide() self.check = check - local sub = frame:CreateTexture("OVERLAY") + local sub = frame:CreateTexture(nil, "OVERLAY") sub:SetWidth(16) sub:SetHeight(16) sub:SetPoint("RIGHT",frame,"RIGHT",-3,-1) diff --git a/Titan/libs/AceGUI-3.0/widgets/AceGUIWidget-DropDown.lua b/Titan/libs/AceGUI-3.0/widgets/AceGUIWidget-DropDown.lua index 94c5ded..3d8dd11 100755 --- a/Titan/libs/AceGUI-3.0/widgets/AceGUIWidget-DropDown.lua +++ b/Titan/libs/AceGUI-3.0/widgets/AceGUIWidget-DropDown.lua @@ -1,4 +1,4 @@ ---[[ $Id: AceGUIWidget-DropDown.lua 1239 2020-09-20 10:22:02Z nevcairiel $ ]]-- +--[[ $Id: AceGUIWidget-DropDown.lua 1284 2022-09-25 09:15:30Z nevcairiel $ ]]-- local AceGUI = LibStub("AceGUI-3.0") -- Lua APIs @@ -11,10 +11,6 @@ local PlaySound = PlaySound local UIParent, CreateFrame = UIParent, CreateFrame local _G = _G --- Global vars/functions that we don't upvalue since they might get hooked, or upgraded --- List them here for Mikk's FindGlobals script --- GLOBALS: CLOSE - local function fixlevels(parent,...) local i = 1 local child = select(i, ...) @@ -253,7 +249,7 @@ do local function Constructor() local count = AceGUI:GetNextWidgetNum(widgetType) - local frame = CreateFrame("Frame", "AceGUI30Pullout"..count, UIParent, BackdropTemplateMixin and "BackdropTemplate" or nil) + local frame = CreateFrame("Frame", "AceGUI30Pullout"..count, UIParent, "BackdropTemplate") local self = {} self.count = count self.type = widgetType @@ -304,7 +300,7 @@ do scrollFrame.obj = self itemFrame.obj = self - local slider = CreateFrame("Slider", "AceGUI30PulloutScrollbar"..count, scrollFrame, BackdropTemplateMixin and "BackdropTemplate" or nil) + local slider = CreateFrame("Slider", "AceGUI30PulloutScrollbar"..count, scrollFrame, "BackdropTemplate") slider:SetOrientation("VERTICAL") slider:SetHitRectInsets(0, 0, -10, 0) slider:SetBackdrop(sliderBackdrop) @@ -351,7 +347,7 @@ end do local widgetType = "Dropdown" - local widgetVersion = 35 + local widgetVersion = 36 --[[ Static data ]]-- @@ -376,7 +372,6 @@ do local function Dropdown_TogglePullout(this) local self = this.obj - PlaySound(856) -- SOUNDKIT.IG_MAINMENU_OPTION_CHECKBOX_ON if self.open then self.open = nil self.pullout:Close() diff --git a/Titan/libs/AceGUI-3.0/widgets/AceGUIWidget-EditBox.lua b/Titan/libs/AceGUI-3.0/widgets/AceGUIWidget-EditBox.lua index cc1b6a3..85a32a0 100755 --- a/Titan/libs/AceGUI-3.0/widgets/AceGUIWidget-EditBox.lua +++ b/Titan/libs/AceGUI-3.0/widgets/AceGUIWidget-EditBox.lua @@ -14,10 +14,6 @@ local GetCursorInfo, ClearCursor, GetSpellInfo = GetCursorInfo, ClearCursor, Get local CreateFrame, UIParent = CreateFrame, UIParent local _G = _G --- Global vars/functions that we don't upvalue since they might get hooked, or upgraded --- List them here for Mikk's FindGlobals script --- GLOBALS: AceGUIEditBoxInsertLink, ChatFontNormal, OKAY - --[[----------------------------------------------------------------------------- Support functions -------------------------------------------------------------------------------]] diff --git a/Titan/libs/AceGUI-3.0/widgets/AceGUIWidget-Keybinding.lua b/Titan/libs/AceGUI-3.0/widgets/AceGUIWidget-Keybinding.lua index b195e0c..96f7e5b 100755 --- a/Titan/libs/AceGUI-3.0/widgets/AceGUIWidget-Keybinding.lua +++ b/Titan/libs/AceGUI-3.0/widgets/AceGUIWidget-Keybinding.lua @@ -13,10 +13,6 @@ local pairs = pairs local IsShiftKeyDown, IsControlKeyDown, IsAltKeyDown = IsShiftKeyDown, IsControlKeyDown, IsAltKeyDown local CreateFrame, UIParent = CreateFrame, UIParent --- Global vars/functions that we don't upvalue since they might get hooked, or upgraded --- List them here for Mikk's FindGlobals script --- GLOBALS: NOT_BOUND - --[[----------------------------------------------------------------------------- Scripts -------------------------------------------------------------------------------]] @@ -214,7 +210,7 @@ local function Constructor() label:SetJustifyH("CENTER") label:SetHeight(18) - local msgframe = CreateFrame("Frame", nil, UIParent, BackdropTemplateMixin and "BackdropTemplate" or nil) + local msgframe = CreateFrame("Frame", nil, UIParent, "BackdropTemplate") msgframe:SetHeight(30) msgframe:SetBackdrop(ControlBackdrop) msgframe:SetBackdropColor(0,0,0) diff --git a/Titan/libs/AceGUI-3.0/widgets/AceGUIWidget-Label.lua b/Titan/libs/AceGUI-3.0/widgets/AceGUIWidget-Label.lua index 2cce725..6bbcf3b 100755 --- a/Titan/libs/AceGUI-3.0/widgets/AceGUIWidget-Label.lua +++ b/Titan/libs/AceGUI-3.0/widgets/AceGUIWidget-Label.lua @@ -2,7 +2,7 @@ Label Widget Displays text and optionally an icon. -------------------------------------------------------------------------------]] -local Type, Version = "Label", 27 +local Type, Version = "Label", 28 local AceGUI = LibStub and LibStub("AceGUI-3.0", true) if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end @@ -12,10 +12,6 @@ local max, select, pairs = math.max, select, pairs -- WoW APIs local CreateFrame, UIParent = CreateFrame, UIParent --- Global vars/functions that we don't upvalue since they might get hooked, or upgraded --- List them here for Mikk's FindGlobals script --- GLOBALS: GameFontHighlightSmall - --[[----------------------------------------------------------------------------- Support functions -------------------------------------------------------------------------------]] @@ -129,12 +125,16 @@ local methods = { end, ["SetFont"] = function(self, font, height, flags) - self.label:SetFont(font, height, flags) - UpdateImageAnchor(self) + if not self.fontObject then + self.fontObject = CreateFont("AceGUI30LabelFont" .. AceGUI:GetNextWidgetNum(Type)) + end + self.fontObject:SetFont(font, height, flags) + self:SetFontObject(self.fontObject) end, ["SetFontObject"] = function(self, font) - self:SetFont((font or GameFontHighlightSmall):GetFont()) + self.label:SetFontObject(font or GameFontHighlightSmall) + UpdateImageAnchor(self) end, ["SetImageSize"] = function(self, width, height) diff --git a/Titan/libs/AceGUI-3.0/widgets/AceGUIWidget-MultiLineEditBox.lua b/Titan/libs/AceGUI-3.0/widgets/AceGUIWidget-MultiLineEditBox.lua index cfcb500..c33a986 100755 --- a/Titan/libs/AceGUI-3.0/widgets/AceGUIWidget-MultiLineEditBox.lua +++ b/Titan/libs/AceGUI-3.0/widgets/AceGUIWidget-MultiLineEditBox.lua @@ -1,4 +1,4 @@ -local Type, Version = "MultiLineEditBox", 29 +local Type, Version = "MultiLineEditBox", 32 local AceGUI = LibStub and LibStub("AceGUI-3.0", true) if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end @@ -10,10 +10,6 @@ local GetCursorInfo, GetSpellInfo, ClearCursor = GetCursorInfo, GetSpellInfo, Cl local CreateFrame, UIParent = CreateFrame, UIParent local _G = _G --- Global vars/functions that we don't upvalue since they might get hooked, or upgraded --- List them here for Mikk's FindGlobals script --- GLOBALS: ACCEPT, ChatFontNormal - --[[----------------------------------------------------------------------------- Support functions -------------------------------------------------------------------------------]] @@ -145,6 +141,14 @@ local function OnVerticalScroll(self, offset) editBox:SetHitRectInsets(0, 0, offset, editBox:GetHeight() - offset - self:GetHeight()) end +local function OnScrollRangeChanged(self, xrange, yrange) + if yrange == 0 then + self.obj.editBox:SetHitRectInsets(0, 0, 0, 0) + else + OnVerticalScroll(self, self:GetVerticalScroll()) + end +end + local function OnShowFocus(frame) frame.obj.editBox:SetFocus() frame:SetScript("OnShow", nil) @@ -257,8 +261,6 @@ local methods = { ["SetCursorPosition"] = function(self, ...) return self.editBox:SetCursorPosition(...) end, - - } --[[----------------------------------------------------------------------------- @@ -297,7 +299,7 @@ local function Constructor() text:SetPoint("BOTTOMRIGHT", button, "BOTTOMRIGHT", -5, 1) text:SetJustifyV("MIDDLE") - local scrollBG = CreateFrame("Frame", nil, frame, BackdropTemplateMixin and "BackdropTemplate" or nil) + local scrollBG = CreateFrame("Frame", nil, frame, "BackdropTemplate") scrollBG:SetBackdrop(backdrop) scrollBG:SetBackdropColor(0, 0, 0) scrollBG:SetBackdropBorderColor(0.4, 0.4, 0.4) @@ -321,6 +323,7 @@ local function Constructor() scrollFrame:SetScript("OnReceiveDrag", OnReceiveDrag) scrollFrame:SetScript("OnSizeChanged", OnSizeChanged) scrollFrame:HookScript("OnVerticalScroll", OnVerticalScroll) + scrollFrame:HookScript("OnScrollRangeChanged", OnScrollRangeChanged) local editBox = CreateFrame("EditBox", ("%s%dEdit"):format(Type, widgetNum), scrollFrame) editBox:SetAllPoints() diff --git a/Titan/libs/AceGUI-3.0/widgets/AceGUIWidget-Slider.lua b/Titan/libs/AceGUI-3.0/widgets/AceGUIWidget-Slider.lua index ea655b6..8989608 100755 --- a/Titan/libs/AceGUI-3.0/widgets/AceGUIWidget-Slider.lua +++ b/Titan/libs/AceGUI-3.0/widgets/AceGUIWidget-Slider.lua @@ -14,10 +14,6 @@ local tonumber, pairs = tonumber, pairs local PlaySound = PlaySound local CreateFrame, UIParent = CreateFrame, UIParent --- Global vars/functions that we don't upvalue since they might get hooked, or upgraded --- List them here for Mikk's FindGlobals script --- GLOBALS: GameFontHighlightSmall - --[[----------------------------------------------------------------------------- Support functions -------------------------------------------------------------------------------]] @@ -31,13 +27,13 @@ local function UpdateText(self) end local function UpdateLabels(self) - local min, max = (self.min or 0), (self.max or 100) + local min_value, max_value = (self.min or 0), (self.max or 100) if self.ispercent then - self.lowtext:SetFormattedText("%s%%", (min * 100)) - self.hightext:SetFormattedText("%s%%", (max * 100)) + self.lowtext:SetFormattedText("%s%%", (min_value * 100)) + self.hightext:SetFormattedText("%s%%", (max_value * 100)) else - self.lowtext:SetText(min) - self.hightext:SetText(max) + self.lowtext:SetText(min_value) + self.hightext:SetText(max_value) end end @@ -175,13 +171,13 @@ local methods = { self.label:SetText(text) end, - ["SetSliderValues"] = function(self, min, max, step) + ["SetSliderValues"] = function(self, min_value, max_value, step) local frame = self.slider frame.setup = true - self.min = min - self.max = max + self.min = min_value + self.max = max_value self.step = step - frame:SetMinMaxValues(min or 0,max or 100) + frame:SetMinMaxValues(min_value or 0,max_value or 100) UpdateLabels(self) frame:SetValueStep(step or 1) if self.value then @@ -225,7 +221,7 @@ local function Constructor() label:SetJustifyH("CENTER") label:SetHeight(15) - local slider = CreateFrame("Slider", nil, frame, BackdropTemplateMixin and "BackdropTemplate" or nil) + local slider = CreateFrame("Slider", nil, frame, "BackdropTemplate") slider:SetOrientation("HORIZONTAL") slider:SetHeight(15) slider:SetHitRectInsets(0, 0, -10, 0) @@ -247,7 +243,7 @@ local function Constructor() local hightext = slider:CreateFontString(nil, "ARTWORK", "GameFontHighlightSmall") hightext:SetPoint("TOPRIGHT", slider, "BOTTOMRIGHT", -2, 3) - local editbox = CreateFrame("EditBox", nil, frame, BackdropTemplateMixin and "BackdropTemplate" or nil) + local editbox = CreateFrame("EditBox", nil, frame, "BackdropTemplate") editbox:SetAutoFocus(false) editbox:SetFontObject(GameFontHighlightSmall) editbox:SetPoint("TOP", slider, "BOTTOM") diff --git a/TitanBag/TitanBag.lua b/TitanBag/TitanBag.lua index 0bcfa8f..3846d38 100644 --- a/TitanBag/TitanBag.lua +++ b/TitanBag/TitanBag.lua @@ -230,19 +230,39 @@ local function GetButtonText(id) local availableProfBagSlots = {0,0,0,0,0}; local bagRichTextProf = {"","","","",""}; + -- DF difference between betga and ptr?? + local get_bag = nil + if C_Container.GetBagName then + get_bag = C_Container.GetBagName + elseif GetBagName then + get_bag = GetBagName + end + local get_slots = nil + if C_Container.GetContainerNumSlots then + get_slots = C_Container.GetContainerNumSlots + elseif GetContainerNumSlots then + get_slots = GetContainerNumSlots + end + local get_info = nil + if C_Container.GetContainerItemInfo then + get_info = C_Container.GetContainerItemInfo + elseif GetContainerItemInfo then + get_info = GetContainerItemInfo + end + --[[ TitanDebug("GetButtonText: >>>") --]] totalBagSlots = 0; usedBagSlots = 0; for bag = 0, 4 do -- assuming 0 (Backpack) will not be a profession bag - local is_bag, bag_type, color = isBag(GetBagName(bag), bag) + local is_bag, bag_type, color = isBag(get_bag(bag), bag) if is_bag then if bag_type == "profession" then -- found a profession bag -- when user wants profession bags counted, they are listed separately in the plugin if TitanGetVar(TITAN_BAG_ID, "CountProfBagSlots") then - local size = GetContainerNumSlots(bag); + local size = get_slots(bag); if (size and size > 0) then totalProfBagSlots[bag] = size; for slot = 1, size do @@ -265,11 +285,11 @@ TitanDebug("GetButtonText: >>>") end end elseif bag_type == "normal" then -- not a profession bag so get used & available counts - local size = GetContainerNumSlots(bag); + local size = get_slots(bag); if (size and size > 0) then totalBagSlots = totalBagSlots + size; for slot = 1, size do - if (GetContainerItemInfo(bag, slot)) then + if (get_info(bag, slot)) then usedBagSlots = usedBagSlots + 1; end end @@ -324,6 +344,26 @@ function TitanPanelBagButton_GetTooltipText() local totalSlots, usedSlots, availableSlots; local returnstring = ""; + -- DF difference between betga and ptr?? + local get_slots = nil + if C_Container.GetContainerNumSlots then + get_slots = C_Container.GetContainerNumSlots + elseif GetContainerNumSlots then + get_slots = GetContainerNumSlots + end + local get_free = nil + if C_Container.GetContainerNumFreeSlots then + get_free = C_Container.GetContainerNumFreeSlots + elseif GetContainerNumFreeSlots then + get_free = GetContainerNumFreeSlots + end + local get_id = nil + if C_Container.ContainerIDToInventoryID then + get_id = C_Container.ContainerIDToInventoryID + elseif ContainerIDToInventoryID then + get_id = ContainerIDToInventoryID + end + if TitanGetVar(TITAN_BAG_ID, "ShowDetailedInfo") then returnstring = "\n"; if TitanGetVar(TITAN_BAG_ID, "ShowUsedSlots") then @@ -335,10 +375,10 @@ function TitanPanelBagButton_GetTooltipText() end for bag = 0, 4 do - totalSlots = GetContainerNumSlots(bag) or 0; - availableSlots = GetContainerNumFreeSlots(bag) or 0; + totalSlots = get_slots(bag) or 0; + availableSlots = get_free(bag) or 0; usedSlots = totalSlots - availableSlots; - local itemlink = bag > 0 and GetInventoryItemLink("player", ContainerIDToInventoryID(bag)) + local itemlink = bag > 0 and GetInventoryItemLink("player", get_id(bag)) or TitanUtils_GetHighlightText(L["TITAN_BAG_BACKPACK"]).. FONT_COLOR_CODE_CLOSE; if itemlink then @@ -346,7 +386,7 @@ function TitanPanelBagButton_GetTooltipText() itemlink = string.gsub( itemlink, "%]", "" ); end - if bag > 0 and not GetInventoryItemLink("player", ContainerIDToInventoryID(bag)) then + if bag > 0 and not GetInventoryItemLink("player", get_id(bag)) then itemlink = nil; end diff --git a/TitanBag/TitanBag.toc b/TitanBag/TitanBag.toc index b6fd6e4..8714300 100644 --- a/TitanBag/TitanBag.toc +++ b/TitanBag/TitanBag.toc @@ -1,10 +1,10 @@ -## Interface: 90207 -## Title: Titan Panel [|cffeda55fBag|r] |cff00aa005.23.7.90207|r +## Interface: 100002 +## Title: Titan Panel [|cffeda55fBag|r] |cff00aa006.00.02.100002|r ## Notes: Adds bag and free slot information to Titan Panel ## Author: Titan Panel Development Team (http://www.titanpanel.org) ## SavedVariables: ## OptionalDeps: ## Dependencies: Titan -## Version: 5.23.7.90207 +## Version: 6.00.02.100002 ## X-Child-Of: Titan TitanBag.xml diff --git a/TitanClock/TitanClock.toc b/TitanClock/TitanClock.toc index e967c70..ba7058a 100644 --- a/TitanClock/TitanClock.toc +++ b/TitanClock/TitanClock.toc @@ -1,10 +1,10 @@ -## Interface: 90207 -## Title: Titan Panel [|cffeda55fClock|r] |cff00aa005.23.7.90207|r +## Interface: 100002 +## Title: Titan Panel [|cffeda55fClock|r] |cff00aa006.00.02.100002|r ## Notes: Adds a clock to Titan Panel ## Author: Titan Panel Development Team (http://www.titanpanel.org) ## SavedVariables: ## OptionalDeps: ## Dependencies: Titan -## Version: 5.23.7.90207 +## Version: 6.00.02.100002 ## X-Child-Of: Titan TitanClock.xml diff --git a/TitanClock/TitanClock.xml b/TitanClock/TitanClock.xml index 33b0247..d3374ed 100644 --- a/TitanClock/TitanClock.xml +++ b/TitanClock/TitanClock.xml @@ -62,7 +62,9 @@ and set the values in the code. </OnLeave> </Scripts> </Slider> - <CheckButton name="TitanPanelClockControlCheckButton" inherits="OptionsCheckButtonTemplate"> +<!-- DF made a change to the options templates +OptionsCheckButtonTemplate --> + <CheckButton name="TitanPanelClockControlCheckButton" inherits="InterfaceOptionsBaseCheckButtonTemplate"> <Size> <AbsDimension x="24" y="24"/> </Size> diff --git a/TitanGold/TitanGold.toc b/TitanGold/TitanGold.toc index e64fe97..a655e71 100644 --- a/TitanGold/TitanGold.toc +++ b/TitanGold/TitanGold.toc @@ -1,10 +1,10 @@ -## Interface: 90207 -## Title: Titan Panel [|cffeda55fGold|r] |cff00aa005.23.7.90207|r +## Interface: 100002 +## Title: Titan Panel [|cffeda55fGold|r] |cff00aa006.00.02.100002|r ## Notes: Keeps track of all gold held by a player's toons on a per server/faction basis. ## Author: Titan Panel Development Team (http://www.titanpanel.org) ## SavedVariables: GoldSave ## OptionalDeps: ## Dependencies: Titan -## Version: 5.23.7.90207 +## Version: 6.00.02.100002 ## X-Child-Of: Titan TitanGold.xml diff --git a/TitanLocation/TitanLocation.lua b/TitanLocation/TitanLocation.lua index 057f0ad..cde8264 100755 --- a/TitanLocation/TitanLocation.lua +++ b/TitanLocation/TitanLocation.lua @@ -122,7 +122,9 @@ function TitanPanelLocationButton_GetButtonText(id) if (TitanUtils_ToString(button.subZoneText) == '') then if (button.zoneText == '') then local _ - _, _, button.zoneText = C_Map.GetMapInfo(C_Map.GetBestMapUnit("player")); +-- DF change of API +-- _, _, button.zoneText = C_Map.GetMapInfo(C_Map.GetBestMapUnit("player")); + _, _, button.zoneText = C_Map.GetMapInfo(C_Map.GetBestMapForUnit("player")); end locationText = TitanUtils_ToString(button.zoneText)..' '..locationText; else @@ -198,19 +200,23 @@ end -- ************************************************************************** --]] function TitanPanelLocationButton_OnEvent(self, event, ...) +-- DF TODO See if we can turn off zone on minimap +--[=[ if event == "PLAYER_ENTERING_WORLD" then if not TitanGetVar(TITAN_LOCATION_ID, "ShowLocOnMiniMap") and MinimapBorderTop and MinimapBorderTop:IsShown() then TitanPanelLocationButton_LocOnMiniMap() end end - +--]=] TitanPanelLocationButton_UpdateZoneInfo(self); TitanPanelPluginHandle_OnUpdate(updateTable); TitanPanelLocation_HandleUpdater(); +--[[ if TitanGetVar(TITAN_LOCATION_ID, "ShowLocOnMiniMap") and MinimapBorderTop:IsShown() then if not MinimapZoneTextButton:IsShown() then MinimapZoneTextButton:Show() end if not MiniMapWorldMapButton:IsShown() then MiniMapWorldMapButton:Show() end end +--]] end --[[ @@ -301,7 +307,7 @@ function TitanPanelRightClickMenu_PrepareLocationMenu() end info.checked = TitanGetVar(TITAN_LOCATION_ID, "ShowCoordsText"); TitanPanelRightClickMenu_AddButton(info, TitanPanelRightClickMenu_GetDropdownLevel()); - +--[=[ info = {}; info.text = L["TITAN_LOCATION_MENU_SHOW_COORDS_ON_MAP_TEXT"]; info.func = TitanPanelLocationButton_ToggleLocationOnMap; @@ -317,7 +323,7 @@ function TitanPanelRightClickMenu_PrepareLocationMenu() info.checked = TitanGetVar(TITAN_LOCATION_ID, "ShowLocOnMiniMap"); info.disabled = InCombatLockdown() TitanPanelRightClickMenu_AddButton(info, TitanPanelRightClickMenu_GetDropdownLevel()); - +--]=] info = {}; info.text = L["TITAN_LOCATION_MENU_UPDATE_WORLD_MAP"]; info.func = function() @@ -484,6 +490,12 @@ function TitanMapFrame_OnUpdate(self, elapsed) TitanMapPlayerLocation:SetText(""); TitanMapCursorLocation:SetText(""); end +--[==[ +print("TLoc" +.." c "..tostring(cursorLocationText).." " +.." p "..tostring(playerLocationText).." " +) +--]==] end --[[ @@ -526,6 +538,7 @@ function TitanPanelLocation_CreateMapFrames() -- create the frame to hold the font strings, and simulate an "OnUpdate" script handler using C_Timer for efficiency local frame = CreateFrame("FRAME", "TitanMapFrame", WorldMapFrame.BorderFrame) + frame:SetFrameStrata("DIALOG") -- DF need to raise the strata to be seen local function updateFunc() TitanMapFrame_OnUpdate(frame, 0.07); -- simulating an OnUpdate call end @@ -547,13 +560,41 @@ function TitanPanelLocation_CreateMapFrames() cursortext:ClearAllPoints(); playertext:SetPoint("TOPRIGHT", WorldMapFrame, "TOPRIGHT", -10, -28) cursortext:SetPoint("TOPRIGHT", WorldMapFrame, "TOPRIGHT", -10, -43) +--[==[ +print("TLoc max" +.." p "..tostring(playertext and true or false).." " +.." c "..tostring(cursortext and true or false).." " +) +--]==] end); hooksecurefunc(WorldMapFrame.BorderFrame.MaximizeMinimizeFrame, "Minimize", function() playertext:ClearAllPoints(); cursortext:ClearAllPoints(); playertext:SetPoint("TOPRIGHT", WorldMapFrame, "TOPRIGHT", -50, -5) +-- playertext:SetPoint("TOPRIGHT", WorldMapFrame, "TOPRIGHT", -50, 15) cursortext:SetPoint("TOPLEFT", WorldMapFrame, "TOPLEFT", 95, -5) +-- cursortext:SetPoint("TOPLEFT", WorldMapFrame, "TOPLEFT", 95, 5) +--[==[ +print("TLoc min" +.." p "..tostring(playertext and true or false).." " +.." "..tostring(playertext:GetText()).." " +.." "..tostring(frame:GetFrameStrata()).." " +.." "..tostring(frame:GetFrameLevel()).." " +.." c "..tostring(cursortext and true or false).." " +.." "..tostring(cursortext:GetText()).." " +.." "..tostring(WorldMapFrame:GetFrameStrata()).." " +.." "..tostring(WorldMapFrame:GetFrameLevel()).." " +) +--]==] end); +--[==[ +print("TLoc" +.." f "..tostring(frame and true or false).." " +.." ut "..tostring(frame.updateTicker and true or false).." " +.." p "..tostring(playertext and true or false).." " +.." c "..tostring(cursortext and true or false).." " +) +--]==] end end diff --git a/TitanLocation/TitanLocation.toc b/TitanLocation/TitanLocation.toc index ce8171e..73edf9c 100644 --- a/TitanLocation/TitanLocation.toc +++ b/TitanLocation/TitanLocation.toc @@ -1,10 +1,10 @@ -## Interface: 90207 -## Title: Titan Panel [|cffeda55fLocation|r] |cff00aa005.23.7.90207|r +## Interface: 100002 +## Title: Titan Panel [|cffeda55fLocation|r] |cff00aa006.00.02.100002|r ## Notes: Adds coordinates and location information to Titan Panel ## Author: Titan Panel Development Team (http://www.titanpanel.org) ## SavedVariables: ## OptionalDeps: ## Dependencies: Titan -## Version: 5.23.7.90207 +## Version: 6.00.02.100002 ## X-Child-Of: Titan TitanLocation.xml diff --git a/TitanLootType/TitanLootType.toc b/TitanLootType/TitanLootType.toc index cbb394d..9228516 100644 --- a/TitanLootType/TitanLootType.toc +++ b/TitanLootType/TitanLootType.toc @@ -1,10 +1,10 @@ -## Interface: 90207 -## Title: Titan Panel [|cffeda55fLootType|r] |cff00aa005.23.7.90207|r +## Interface: 100002 +## Title: Titan Panel [|cffeda55fLootType|r] |cff00aa006.00.02.100002|r ## Notes: Adds group loot and instance difficulty information to Titan Panel ## Author: Titan Panel Development Team (http://www.titanpanel.org) ## SavedVariables: ## OptionalDeps: ## Dependencies: Titan -## Version: 5.23.7.90207 +## Version: 6.00.02.100002 ## X-Child-Of: Titan TitanLootType.xml diff --git a/TitanPerformance/TitanPerformance.toc b/TitanPerformance/TitanPerformance.toc index ac91d34..460ccf7 100644 --- a/TitanPerformance/TitanPerformance.toc +++ b/TitanPerformance/TitanPerformance.toc @@ -1,10 +1,10 @@ -## Interface: 90207 -## Title: Titan Panel [|cffeda55fPerformance|r] |cff00aa005.23.7.90207|r +## Interface: 100002 +## Title: Titan Panel [|cffeda55fPerformance|r] |cff00aa006.00.02.100002|r ## Notes: Adds FPS and Garbage collection information to Titan Panel ## Author: Titan Panel Development Team (http://www.titanpanel.org) ## SavedVariables: ## OptionalDeps: ## Dependencies: Titan -## Version: 5.23.7.90207 +## Version: 6.00.02.100002 ## X-Child-Of: Titan TitanPerformance.xml diff --git a/TitanRepair/TitanRepair.lua b/TitanRepair/TitanRepair.lua index 7d75928..55b10d9 100644 --- a/TitanRepair/TitanRepair.lua +++ b/TitanRepair/TitanRepair.lua @@ -472,7 +472,10 @@ function TitanRepair_GetInventoryInformation(bag) TPR.INVENTORY_STATUS[bag].values.val = 0 TPR.INVENTORY_STATUS[bag].values.max = 0 TPR.INVENTORY_STATUS[bag].values.cost = 0 - for slot = 1, GetContainerNumSlots(bag) do + +-- DF +-- for slot = 1, GetContainerNumSlots(bag) do + for slot = 1, ContainerFrame_GetContainerNumSlotsWithBase(bag) do -- retrieve item repair status of this slot in the bag local act_status, act_val, act_max, act_cost = TitanRepair_GetStatus(slot, bag); if act_max ~= 0 then @@ -606,9 +609,18 @@ function TitanRepair_GetStatus(index, bag) --tit_debug_bis("_GetStatus index="..(index or "NIL").." bag="..(bag or "NIL")) TitanRepairTooltip:ClearLines() + -- DF difference in Beta versus PTR?? + local get_dur = nil + if C_Container.GetContainerItemDurability then + get_dur = C_Container.GetContainerItemDurability + elseif GetContainerItemDurability then + get_dur = GetContainerItemDurability + end + if (bag) then _, repairCost = TitanRepairTooltip:SetBagItem(bag, index) - curDurability, maxDurability = GetContainerItemDurability(bag, index) +-- curDurability, maxDurability = C_Container.GetContainerItemDurability(bag, index) + curDurability, maxDurability = get_dur(bag, index) else local slotName = TPR.ITEM_STATUS[index].slot.."Slot" --tit_debug_bis("_GetStatus index="..index..", slotName="..(slotName or "NIL")) @@ -1525,7 +1537,9 @@ function TitanRepair_GetRepairInvCost() TitanRepairTooltip:SetOwner(UIParent, "ANCHOR_NONE"); for bag = 0, 4 do - for slot = 1, GetContainerNumSlots(bag) do + +-- for slot = 1, GetContainerNumSlots(bag) do + for slot = 1, ContainerFrame_GetContainerNumSlotsWithBase(bag) do local _, repairCost = TitanRepairTooltip:SetBagItem(bag, slot); if (repairCost and (repairCost > 0)) then result = result + repairCost; diff --git a/TitanRepair/TitanRepair.toc b/TitanRepair/TitanRepair.toc index 56ef3bb..17a9598 100644 --- a/TitanRepair/TitanRepair.toc +++ b/TitanRepair/TitanRepair.toc @@ -1,10 +1,10 @@ -## Interface: 90207 -## Title: Titan Panel [|cffeda55fRepair|r] |cff00aa005.23.7.90207|r +## Interface: 100002 +## Title: Titan Panel [|cffeda55fRepair|r] |cff00aa006.00.02.100002|r ## Notes: Provides a configurable durability display. Also adds the ability to auto repair items and inventory at vendors ## Author: Titan Panel Development Team (http://www.titanpanel.org) ## SavedVariables: ## OptionalDeps: ## Dependencies: Titan -## Version: 5.23.7.90207 +## Version: 6.00.02.100002 ## X-Child-Of: Titan TitanRepair.xml diff --git a/TitanVolume/TitanVolume.lua b/TitanVolume/TitanVolume.lua index 8434058..70e1f03 100644 --- a/TitanVolume/TitanVolume.lua +++ b/TitanVolume/TitanVolume.lua @@ -404,7 +404,7 @@ function TitanPanelVolumeButton_GetTooltipText() -- local volumeSpeakerText = TitanPanelVolume_GetVolumeText(GetCVar("InboundChatVolume")); return "".. MASTER_VOLUME.."\t"..TitanUtils_GetHighlightText(volumeMasterText).."\n".. - SOUND_VOLUME.."\t"..TitanUtils_GetHighlightText(volumeSoundText).."\n".. + SOUND.." "..VOLUME.."\t"..TitanUtils_GetHighlightText(volumeSoundText).."\n".. MUSIC_VOLUME.."\t"..TitanUtils_GetHighlightText(volumeMusicText).."\n".. AMBIENCE_VOLUME.."\t"..TitanUtils_GetHighlightText(volumeAmbienceText).."\n".. DIALOG_VOLUME.."\t"..TitanUtils_GetHighlightText(volumeDialogText).."\n".. diff --git a/TitanVolume/TitanVolume.toc b/TitanVolume/TitanVolume.toc index 2b500a9..51e96f0 100644 --- a/TitanVolume/TitanVolume.toc +++ b/TitanVolume/TitanVolume.toc @@ -1,10 +1,10 @@ -## Interface: 90207 -## Title: Titan Panel [|cffeda55fVolume|r] |cff00aa005.23.7.23.7.90207|r +## Interface: 100002 +## Title: Titan Panel [|cffeda55fVolume|r] |cff00aa006.00.02.23.7.100002|r ## Notes: Adds a volume control icon on your Titan Bar ## Author: Titan Panel Development Team (http://www.titanpanel.org) ## SavedVariables: ## OptionalDeps: ## Dependencies: Titan -## Version: 5.23.7.90207 +## Version: 6.00.02.100002 ## X-Child-Of: Titan TitanVolume.xml diff --git a/TitanXP/TitanXP.toc b/TitanXP/TitanXP.toc index 2d3fe99..b3909e0 100644 --- a/TitanXP/TitanXP.toc +++ b/TitanXP/TitanXP.toc @@ -1,10 +1,10 @@ -## Interface: 90207 -## Title: Titan Panel [|cffeda55fXP|r] |cff00aa005.23.7.90207|r +## Interface: 100002 +## Title: Titan Panel [|cffeda55fXP|r] |cff00aa006.00.02.100002|r ## Notes: Adds information to Titan Panel about XP earned and time to level ## Author: Titan Panel Development Team (http://www.titanpanel.org) ## SavedVariables: ## OptionalDeps: ## Dependencies: Titan -## Version: 5.23.7.90207 +## Version: 6.00.02.100002 ## X-Child-Of: Titan TitanXP.xml