vanilla-wow-addons – Blame information for rev 1

Subversion Repositories:
Rev:
Rev Author Line No. Line
1 office 1 ----------------------------------------------------------------------
2 -- TitanGuildPaging.lua
3 -- code for paging data in the right-click menus and tooltip
4 ----------------------------------------------------------------------
5  
6 ----------------------------------------------------------------------
7 -- TitanPanelGuildButton_InitPaging()
8 -- init the paging vars when the guild status changes
9 ----------------------------------------------------------------------
10 function TitanPanelGuildButton_InitPaging()
11 currIndex = 1;
12 maxIndex = TITAN_GUILD_LIST_THRESHOLD;
13 numGuildOnline = 0;
14 numGuildOnlineFiltered = 0;
15 numPages = 0;
16 currPage = 1;
17 pagingRemainder = 0;
18 end
19  
20 ----------------------------------------------------------------------
21 -- TitanPanelGuildButton_ComputePages()
22 -- uses the global numGuildOnline count to determine paging
23 ----------------------------------------------------------------------
24 function TitanPanelGuildButton_ComputePages()
25 local counterToUse = numGuildOnline;
26 -- if contents are filtered, then use the filtered count
27 if (numGuildOnlineFiltered > 0) then
28 counterToUse = numGuildOnlineFiltered;
29 end
30 -- determine the number of pages are required to render online members
31 pagingRemainder = (math.mod(counterToUse,TITAN_GUILD_LIST_THRESHOLD));
32 -- compute pages
33 if (pagingRemainder ~= 0) then
34 numPages = ((counterToUse-pagingRemainder) / TITAN_GUILD_LIST_THRESHOLD)+1;
35 else
36 numPages = counterToUse / TITAN_GUILD_LIST_THRESHOLD;
37 end
38 --guildPrintDebugMessage("numPages: "..numPages);
39 end
40  
41 ----------------------------------------------------------------------
42 -- TitanPanelGuildButton_ComputeAdvancedPages(numInRank)
43 -- uses the global numGuildOnline count to determine paging for adv menus
44 ----------------------------------------------------------------------
45 function TitanPanelGuildButton_ComputeAdvancedPages(numInRank)
46 -- note: contents of mastertable are pre-filtered
47 -- determine the number of pages are required to render online members
48 pagingRemainder = (math.mod(numInRank,TITAN_GUILD_LIST_THRESHOLD));
49 -- compute pages
50 if (pagingRemainder ~= 0) then
51 numPages = ((numInRank-pagingRemainder) / TITAN_GUILD_LIST_THRESHOLD)+1;
52 else
53 numPages = numInRank / TITAN_GUILD_LIST_THRESHOLD;
54 end
55 --guildPrintDebugMessage("numPages (adv): "..numPages);
56 end
57  
58  
59  
60 ----------------------------------------------------------------------
61 -- TitanPanelGuildButton_ComputeOnlineGuildMembers()
62 -- used to number of online guild members
63 ----------------------------------------------------------------------
64 function TitanPanelGuildButton_ComputeOnlineGuildMembers()
65 local NumGuild = 0;
66 if (IsInGuild()) then
67 NumGuild = GetNumGuildMembers();
68 for guildIndex=1, NumGuild do
69 guild_name, guild_rank, guild_rankIndex, guild_level, guild_class, guild_zone, guild_note, guild_officernote, guild_online, guild_status = GetGuildRosterInfo(guildIndex);
70 if ( guild_online == 1 ) then
71 numGuildOnline = numGuildOnline + 1;
72 if (TitanGetVar(TITAN_GUILD_ID, "FilterMyLevel") or TitanGetVar(TITAN_GUILD_ID, "FilterMyZone") or TitanGetVar(TITAN_GUILD_ID, "FilterClasses")) then
73 if (TitanPanelGuildButton_IsPassFilter(guild_zone, guild_level, guild_class)) then
74 numGuildOnlineFiltered = numGuildOnlineFiltered + 1;
75 end
76 end
77 end
78 end
79 end
80 --guildPrintDebugMessage("numGuildOnline: "..numGuildOnline);
81 --guildPrintDebugMessage("numGuildOnlineFiltered: "..numGuildOnlineFiltered);
82 end
83  
84 ----------------------------------------------------------------------
85 -- TitanPanelGuildButton_PageForward()
86 -- move paging vars forward
87 ----------------------------------------------------------------------
88 function TitanPanelGuildButton_PageForward()
89 currPage = currPage + 1;
90 currIndex = currIndex + TITAN_GUILD_LIST_THRESHOLD;
91 maxIndex = maxIndex + TITAN_GUILD_LIST_THRESHOLD;
92 --guildPrintDebugMessage("currIndex: "..currIndex);
93 --guildPrintDebugMessage("maxIndex: "..maxIndex);
94 --guildPrintDebugMessage("currPage: "..currPage);
95 end
96  
97 ----------------------------------------------------------------------
98 -- TitanPanelGuildButton_PageBackward()
99 -- moving paging vars backward
100 ----------------------------------------------------------------------
101 function TitanPanelGuildButton_PageBackward()
102 currPage = currPage - 1;
103 currIndex = currIndex - TITAN_GUILD_LIST_THRESHOLD;
104 maxIndex = maxIndex - TITAN_GUILD_LIST_THRESHOLD;
105 --guildPrintDebugMessage("currIndex: "..currIndex);
106 --guildPrintDebugMessage("maxIndex: "..maxIndex);
107 --guildPrintDebugMessage("currPage: "..currPage);
108 end
109  
110 ----------------------------------------------------------------------
111 -- TitanPanelGuildButton_BuildForwardPageControl()
112 -- render menu control for forward
113 ----------------------------------------------------------------------
114 function TitanPanelGuildButton_BuildForwardPageControl()
115 -- examine current page
116 -- are there additional pages?
117 -- yes: render the control
118 if (numPages > currPage) then
119 -- on the last page?
120 if (numPages ~= currPage) then
121 local forwardText = TitanUtils_GetColoredText(TITAN_GUILD_MENU_FORWARD_TEXT, { r=.25,g=.5,b=.85 });
122 TitanPanelRightClickMenu_AddCommand(forwardText, TITAN_GUILD_ID, TITAN_GUILD_BUTTON_FORWARDPAGE, UIDROPDOWNMENU_MENU_LEVEL);
123 end
124 end
125 end
126  
127 ----------------------------------------------------------------------
128 -- TitanPanelGuildButton_BuildBackwardPageControl()
129 -- render menu control for backward
130 ----------------------------------------------------------------------
131 function TitanPanelGuildButton_BuildBackwardPageControl()
132 -- examine the current page
133 -- on the first page?
134 -- no: render the control
135 if (currPage ~= 1) then
136 local backwardText = TitanUtils_GetColoredText(TITAN_GUILD_MENU_BACKWARD_TEXT, { r=.25,g=.5,b=.85 });
137 TitanPanelRightClickMenu_AddCommand(backwardText, TITAN_GUILD_ID, TITAN_GUILD_BUTTON_BACKWARDPAGE, UIDROPDOWNMENU_MENU_LEVEL);
138 end
139 end