vanilla-wow-addons – Blame information for rev 1
?pathlinks?
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 |