LeoAltholic.hidden = true LeoAltholic.listingInventoryFor = 0 function LeoAltholic:OnWindowMoveStop() LeoAltholic.globalData.position = { left = LeoAltholicWindow:GetLeft(), top = LeoAltholicWindow:GetTop() } end function LeoAltholicUI:OnHide(control, hidden) if hidden then LeoAltholic.HideUI() end end function LeoAltholicUI:OnShow(control, hidden) if not hidden then LeoAltholic.ShowUI() end end function LeoAltholic:isHidden() return LeoAltholic.hidden end function LeoAltholic.RestorePosition() local position = LeoAltholic.globalData.position or { left = 200; top = 200; } local left = position.left local top = position.top LeoAltholicWindow:ClearAnchors() LeoAltholicWindow:SetAnchor(TOPLEFT, GuiRoot, TOPLEFT, left, top) LeoAltholicWindow:SetDrawLayer(DL_OVERLAY) LeoAltholicWindow:SetDrawTier(DT_MEDIUM) end function LeoAltholic.ChangeInventoryUI(bagId) LeoAltholic.ShowInventoryUI(LeoAltholic.listingInventoryFor, bagId) end function LeoAltholic.ShowInventoryUI(charName, bagId) LeoAltholic.listingInventoryFor = charName SCENE_MANAGER:ShowTopLevel(LeoAltholicInventoryWindow) LeoAltholicInventoryWindow:SetDrawLayer(DL_OVERLAY) LeoAltholicInventoryWindow:SetDrawTier(DT_MEDIUM) local header = WINDOW_MANAGER:GetControlByName("LeoAltholicInventoryWindowTitle") local char if charName ~= nil then char = LeoAltholic.GetCharByName(charName) header:SetText(GetString(SI_MAIN_MENU_INVENTORY)) else header:SetText(GetString(SI_CURRENCYLOCATION1)) end local sc = WINDOW_MANAGER:GetControlByName("LeoAltholicInventoryWindowListScrollChild") sc:SetHidden(false) local i = 1 for x = 1, sc:GetNumChildren() do sc:GetChild(x):SetHidden(true) end for _, item in pairs(LeoAltholic.GetItems(char, bagId)) do local row = WINDOW_MANAGER:GetControlByName("LeoAltholicInventoryWindowRow" .. i) if not row then row = CreateControlFromVirtual("LeoAltholicInventoryWindowRow" .. i, sc, "LeoAltholicInventoryTemplate") end local texture = row:GetNamedChild("Icon") local label = row:GetNamedChild("Item") texture:SetHidden(false) label:SetHidden(false) texture:SetTexture(GetItemLinkIcon(item.link)) local qty = row:GetNamedChild("Qty") if item.count > 1 then qty:SetText(item.count) qty:SetHidden(false) else qty:SetText(0) qty:SetHidden(true) end label:SetText(item.link) label:SetHandler("OnMouseEnter", function(self) InitializeTooltip(LeoAltholicItemToolTip, LeoAltholicInventoryWindow, TOPLEFT, -450, 50, TOPLEFT) LeoAltholicItemToolTip:SetLink(item.link) end ) label:SetHandler("OnMouseExit", function(self) ClearTooltip(LeoAltholicItemToolTip) end ) row:SetAnchor(TOPLEFT, sc, TOPLEFT, 2, (i - 1) * 30) row:SetHidden(false) i = i + 1 end sc:SetHeight(i * 30) end function LeoAltholic.HideInventoryUI() SCENE_MANAGER:HideTopLevel(LeoAltholicInventoryWindow) end function LeoAltholic.CloseUI() SCENE_MANAGER:HideTopLevel(LeoAltholicWindow) SCENE_MANAGER:HideTopLevel(LeoAltholicInventoryWindow) end function LeoAltholic.ShowUI() LeoAltholic.hidden = false; LeoAltholic.ShowTab(LeoAltholic.globalData.activeTab or "Bio") end function LeoAltholic.HideUI() LeoAltholic.hidden = true; LeoAltholic.HideInventoryUI() end function LeoAltholic.ToggleUI() SCENE_MANAGER:ToggleTopLevel(LeoAltholicWindow) end function LeoAltholic.ShowTab(tab) LeoAltholic.globalData.activeTab = tab LeoAltholicWindowTitle:SetText(LeoAltholic.displayName .. " v" .. LeoAltholic.version .. " - " .. tab) local control for _,panel in ipairs(LeoAltholic.panelList) do control = WINDOW_MANAGER:GetControlByName('LeoAltholicWindow' .. panel .. 'Panel') control:SetHidden(true) end control = WINDOW_MANAGER:GetControlByName("LeoAltholicWindow" .. tab .. "Panel") control:SetHidden(false) end function LeoAltholicUI.InitPanels() LeoAltholicUI.bioList = LeoAltholicBioList:New(LeoAltholicWindowBioPanelListScroll) LeoAltholicUI.bioList:RefreshData() LeoAltholicUI.statsList = LeoAltholicStatsList:New(LeoAltholicWindowStatsPanelListScroll) LeoAltholicUI.statsList:RefreshData() LeoAltholicUI.championList = LeoAltholicChampionList:New(LeoAltholicWindowChampionPanelListScroll) LeoAltholicUI.championList:RefreshData() LeoAltholicUI.skillsList = LeoAltholicSkillsList:New(LeoAltholicWindowSkillsPanelListScroll) LeoAltholicUI.skillsList:RefreshData() LeoAltholicUI.skills2List = LeoAltholicSkills2List:New(LeoAltholicWindowSkills2PanelListScroll) LeoAltholicUI.skills2List:RefreshData() LeoAltholicUI.writsList = LeoAltholicWritsList:New(LeoAltholicWindowWritsPanelListScroll) LeoAltholicUI.writsList:RefreshData() LeoAltholicUI.invList = LeoAltholicInventoryList:New(LeoAltholicWindowInventoryPanelListScroll) LeoAltholicUI.invList:RefreshData() LeoAltholicUI.researchList = LeoAltholicResearchList:New(LeoAltholicWindowResearchPanelListScroll) LeoAltholicUI.researchList:RefreshData() LeoAltholicUI.InitTrackedPanel() end