ESOUI SVN TaosGroupUltimate

[/] [trunk/] [TaosGroupUltimate/] [ui/] [SimpleList.lua] - Blame information for rev 5

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 5 Taonnor-14572
--[[
2 Taonnor-14572
        Addon: Taos Group Ultimate
3 Taonnor-14572
        Author: TProg Taonnor
4 Taonnor-14572
        Created by @Taonnor
5 Taonnor-14572
]]--
6 Taonnor-14572
 
7 Taonnor-14572
--[[
8 Taonnor-14572
        Global variables
9 Taonnor-14572
]]--
10 Taonnor-14572
local DEBUG_ACTIVE = true
11 Taonnor-14572
 
12 Taonnor-14572
--[[
13 Taonnor-14572
        Class SimpleList
14 Taonnor-14572
]]--
15 Taonnor-14572
SimpleList = {}
16 Taonnor-14572
 
17 Taonnor-14572
--[[
18 Taonnor-14572
        Class Members
19 Taonnor-14572
]]--
20 Taonnor-14572
 
21 Taonnor-14572
 
22 Taonnor-14572
--[[
23 Taonnor-14572
        Sets visibility of labels
24 Taonnor-14572
]]--
25 Taonnor-14572
function SimpleList.RefreshList()
26 Taonnor-14572
        logDebug("SimpleList.RefreshList()")
27 Taonnor-14572
 
28 Taonnor-14572
        for i=1, GROUP_SIZE_MAX, 1 do
29 Taonnor-14572
                local row = SimpleListControlContainerScrollChild:GetNamedChild("Row" .. i)
30 Taonnor-14572
 
31 Taonnor-14572
        if (row ~= nil) then
32 Taonnor-14572
                    if (DoesUnitExist("group" .. i)) then
33 Taonnor-14572
                            row:GetNamedChild("SenderNameValueLabel"):SetText(GetUnitName("group" .. i))
34 Taonnor-14572
                row:GetNamedChild("UltimateValueLabel"):SetText("-")
35 Taonnor-14572
                            row:GetNamedChild("ReadyValueLabel"):SetText("0")
36 Taonnor-14572
                            row:SetHidden(false)
37 Taonnor-14572
                    else
38 Taonnor-14572
                            row:SetHidden(true)
39 Taonnor-14572
                            row:GetNamedChild("SenderNameValueLabel"):SetText("-")
40 Taonnor-14572
                            row:GetNamedChild("UltimateValueLabel"):SetText("-")
41 Taonnor-14572
                            row:GetNamedChild("ReadyValueLabel"):SetText("0")
42 Taonnor-14572
                    end
43 Taonnor-14572
        else
44 Taonnor-14572
            logDebug("row nil " .. i)
45 Taonnor-14572
        end
46 Taonnor-14572
        end
47 Taonnor-14572
end
48 Taonnor-14572
 
49 Taonnor-14572
--[[
50 Taonnor-14572
        Updates list row
51 Taonnor-14572
]]--
52 Taonnor-14572
function SimpleList.UpdateListRow(rowId, ultimateName, relativeUltimate, isPlayerDead)
53 Taonnor-14572
        logDebug("SimpleList.UpdateListRow()")
54 Taonnor-14572
        if (rowId ~= nil and rowId ~= "" and
55 Taonnor-14572
                ultimateName ~= nil and ultimateName ~= "" and
56 Taonnor-14572
                relativeUltimate ~= nil and relativeUltimate >= 0 and relativeUltimate <= 100) then
57 Taonnor-14572
 
58 Taonnor-14572
                local row = SimpleListControlContainerScrollChild:GetNamedChild("Row" .. rowId)
59 Taonnor-14572
 
60 Taonnor-14572
                if (row ~= nil) then
61 Taonnor-14572
                        row:GetNamedChild("UltimateValueLabel"):SetText(ultimateName)
62 Taonnor-14572
                        row:GetNamedChild("ReadyValueLabel"):SetText(relativeUltimate)
63 Taonnor-14572
 
64 Taonnor-14572
                        if (isPlayerDead) then
65 Taonnor-14572
                row:GetNamedChild("SenderNameValueLabel"):SetColor(1.0, 0.0, 0.0, 1)
66 Taonnor-14572
                            row:GetNamedChild("UltimateValueLabel"):SetColor(1.0, 0.0, 0.0, 1)
67 Taonnor-14572
                            row:GetNamedChild("ReadyValueLabel"):SetColor(1.0, 0.0, 0.0, 1)
68 Taonnor-14572
            elseif (relativeUltimate == 100) then
69 Taonnor-14572
                                row:GetNamedChild("SenderNameValueLabel"):SetColor(0.0, 1.0, 0.0, 1)
70 Taonnor-14572
                                row:GetNamedChild("UltimateValueLabel"):SetColor(0.0, 1.0, 0.0, 1)
71 Taonnor-14572
                                row:GetNamedChild("ReadyValueLabel"):SetColor(0.0, 1.0, 0.0, 1)
72 Taonnor-14572
                        else
73 Taonnor-14572
                                row:GetNamedChild("SenderNameValueLabel"):SetColor(1.0, 1.0, 1.0, 1)
74 Taonnor-14572
                                row:GetNamedChild("UltimateValueLabel"):SetColor(1.0, 1.0, 1.0, 1)
75 Taonnor-14572
                                row:GetNamedChild("ReadyValueLabel"):SetColor(1.0, 1.0, 1.0, 1)
76 Taonnor-14572
                        end
77 Taonnor-14572
                else
78 Taonnor-14572
                        logDebug("row nil " .. rowId)
79 Taonnor-14572
                end
80 Taonnor-14572
        else
81 Taonnor-14572
                logDebug("ignored; rowId: " .. rowId .. ", ultimateName: " .. ultimateName .. ", relativeUltimate: " .. relativeUltimate)
82 Taonnor-14572
        end
83 Taonnor-14572
end
84 Taonnor-14572
 
85 Taonnor-14572
--[[
86 Taonnor-14572
        UpdateMovable sets the Movable and MouseEnabled flag in UI elements
87 Taonnor-14572
]]--
88 Taonnor-14572
function SimpleList.SetMovable(isMovable)
89 Taonnor-14572
    SimpleListControl:SetMovable(isMovable)
90 Taonnor-14572
        SimpleListControl:SetMouseEnabled(isMovable)
91 Taonnor-14572
end
92 Taonnor-14572
 
93 Taonnor-14572
--[[
94 Taonnor-14572
        RestorePosition sets SimpleList on settings position
95 Taonnor-14572
]]--
96 Taonnor-14572
function SimpleList.RestorePosition(posX, posY)
97 Taonnor-14572
        SimpleListControl:ClearAnchors()
98 Taonnor-14572
        SimpleListControl:SetAnchor(TOPLEFT, GuiRoot, TOPLEFT, posX, posY)
99 Taonnor-14572
end
100 Taonnor-14572
 
101 Taonnor-14572
--[[
102 Taonnor-14572
        OnGroupUltimateSimpleListMoveStop saves current SimpleList position to settings
103 Taonnor-14572
]]--
104 Taonnor-14572
function SimpleList.OnGroupUltimateSimpleListMoveStop()
105 Taonnor-14572
        local left = SimpleListControl:GetLeft()
106 Taonnor-14572
        local top = SimpleListControl:GetTop()
107 Taonnor-14572
 
108 Taonnor-14572
    Settings.SavedVariables.PosX = left
109 Taonnor-14572
    Settings.SavedVariables.PosY = top
110 Taonnor-14572
end
111 Taonnor-14572
 
112 Taonnor-14572
function SimpleList.SetHidden(isHidden)
113 Taonnor-14572
    SimpleListControl:SetHidden(isHidden)
114 Taonnor-14572
end
115 Taonnor-14572
 
116 Taonnor-14572
--[[
117 Taonnor-14572
        CreateGroupUltimateSimpleListRows creates group ultimate rows
118 Taonnor-14572
]]--
119 Taonnor-14572
function SimpleList.CreateGroupUltimateSimpleListRows()
120 Taonnor-14572
        for i=1, GROUP_SIZE_MAX, 1 do
121 Taonnor-14572
                local row = CreateControlFromVirtual("$(parent)Row", SimpleListControlContainerScrollChild, "GroupUltimateSimpleListRow", i)
122 Taonnor-14572
                row:SetHidden(true) -- initial not visible
123 Taonnor-14572
 
124 Taonnor-14572
                if i == 1 then
125 Taonnor-14572
            row:SetAnchor(TOPLEFT, SimpleListControlContainerScrollChild, TOPLEFT, 0, 0)
126 Taonnor-14572
        else
127 Taonnor-14572
            row:SetAnchor(TOP, lastRow, BOTTOM, 0, 0)
128 Taonnor-14572
        end
129 Taonnor-14572
 
130 Taonnor-14572
                lastRow = row
131 Taonnor-14572
        end
132 Taonnor-14572
end
133 Taonnor-14572
 
134 Taonnor-14572
--[[
135 Taonnor-14572
        Initialize initializes SimpleList
136 Taonnor-14572
]]--
137 Taonnor-14572
function SimpleList.Initialize(isHidden, isMovable, posX, posY)
138 Taonnor-14572
    SimpleList:SetHidden(isHidden)
139 Taonnor-14572
    SimpleList:SetMovable(isMovable)
140 Taonnor-14572
    SimpleList:RestorePosition(posX, posY)
141 Taonnor-14572
    SimpleList:CreateGroupUltimateSimpleListRows()
142 Taonnor-14572
 
143 Taonnor-14572
    CALLBACK_MANAGER:RegisterCallback("TGU-GroupChanged", SimpleList.RefreshList)
144 Taonnor-14572
    CALLBACK_MANAGER:RegisterCallback("TGU-MapPingChanged", SimpleList.UpdateListRow)
145 Taonnor-14572
end