Mercurial > wow > worldplan
comparison WorldPlan.lua @ 14:54adb0d4938b v1.0-rc3
WorldQuests:
- Filter interface reverted:
- Left-click to single out a category value, right-click to exclude. Hold shift to set multiple inclusion rules.
- Filters operate inclusively. If any of the criteria is green, that pin will appear.
| author | Nenue |
|---|---|
| date | Mon, 24 Oct 2016 05:49:55 -0400 |
| parents | 06c9a30d48da |
| children | 8b1e8ba5753d |
comparison
equal
deleted
inserted
replaced
| 13:06c9a30d48da | 14:54adb0d4938b |
|---|---|
| 184 } | 184 } |
| 185 WorldPlanCore.BrokenIsleID = BROKEN_ISLES_ID | 185 WorldPlanCore.BrokenIsleID = BROKEN_ISLES_ID |
| 186 WorldPlanCore.FilterStyle = POI_FILTER_STYLE | 186 WorldPlanCore.FilterStyle = POI_FILTER_STYLE |
| 187 | 187 |
| 188 WorldPlanCore.FilterOptions = {} | 188 WorldPlanCore.FilterOptions = {} |
| 189 WorldPlanCore.UsedFilters = {} | |
| 189 | 190 |
| 190 | 191 |
| 191 -- operating flags | 192 -- operating flags |
| 192 local superTrackedID | 193 local superTrackedID |
| 193 local currentMapName | 194 local currentMapName |
| 949 local print = wqprint | 950 local print = wqprint |
| 950 local db = WorldPlan.db | 951 local db = WorldPlan.db |
| 951 local qType = self.worldQuestType | 952 local qType = self.worldQuestType |
| 952 local rType = self.rewardType | 953 local rType = self.rewardType |
| 953 self.filtered = nil | 954 self.filtered = nil |
| 954 self.whiteListed = nil | |
| 955 self.used = true | 955 self.used = true |
| 956 | 956 |
| 957 local whiteListed, blackListed | 957 print(' |cFFFF4400IsShowable()|r', self.title) |
| 958 for filterKey, includes in pairs(FilterInclusions) do | 958 |
| 959 local isIncluded | |
| 960 for filterKey, filterValues in pairs(WorldPlan.UsedFilters) do | |
| 959 local controlValue = self[filterKey] | 961 local controlValue = self[filterKey] |
| 960 if controlValue then | 962 if controlValue then |
| 961 if includes[controlValue] == nil then | 963 local filterType = filterValues[controlValue] |
| 962 includes[controlValue] = true | 964 if filterType == true then |
| 963 elseif includes[controlValue] == false then | 965 isIncluded = true |
| 964 self.filtered = true | 966 print(' include? ', filterKey, controlValue, filterType) |
| 965 break | 967 end |
| 966 end | 968 end |
| 967 end | 969 end |
| 968 end | 970 self.filtered = (not isIncluded) |
| 971 | |
| 969 | 972 |
| 970 if not TQ_IsActive(self.questID) then | 973 if not TQ_IsActive(self.questID) then |
| 971 self.used = nil | 974 self.used = nil |
| 972 end | 975 end |
| 973 if qType == LE_QUEST_TAG_TYPE_PROFESSION then | 976 if qType == LE_QUEST_TAG_TYPE_PROFESSION then |
| 974 if not (db.ShowAllProfessionQuests or (self.tradeskillLineIndex and GetProfessionInfo(self.tradeskillLineIndex))) then | 977 if not (db.ShowAllProfessionQuests or (self.tradeskillLineIndex and GetProfessionInfo(self.tradeskillLineIndex))) then |
| 975 self.used = nil | 978 self.used = nil |
| 976 end | 979 end |
| 977 end | 980 end |
| 978 print(' |cFFFF4400IsShowable()|r', self.used, self.filtered, self.title) | |
| 979 return self.used, self.filtered | 981 return self.used, self.filtered |
| 980 end | 982 end |
| 981 | 983 |
| 982 function QuestPOI:UpdateTimer (timeLeft, timeType) | 984 function QuestPOI:UpdateTimer (timeLeft, timeType) |
| 983 print('|cFF0088FFUpdatePinTimer()|r') | 985 print('|cFF0088FFUpdatePinTimer()|r') |
| 1156 button:SetID(index) | 1158 button:SetID(index) |
| 1157 button.spacing = ((info.filterKey ~= relativeFrame.filterKey) and 10) or 0 | 1159 button.spacing = ((info.filterKey ~= relativeFrame.filterKey) and 10) or 0 |
| 1158 button.relativeFrame = relativeFrame | 1160 button.relativeFrame = relativeFrame |
| 1159 button:Refresh(info, (numHeaders == 1), numQuests) | 1161 button:Refresh(info, (numHeaders == 1), numQuests) |
| 1160 button:Show() | 1162 button:Show() |
| 1161 print(' using', button.label:GetText()) | |
| 1162 relativeFrame = button | 1163 relativeFrame = button |
| 1163 end | 1164 end |
| 1164 | 1165 |
| 1165 end | 1166 end |
| 1166 | 1167 |
| 1208 | 1209 |
| 1209 end | 1210 end |
| 1210 print('anchor to', self.relativeFrame:GetName()) | 1211 print('anchor to', self.relativeFrame:GetName()) |
| 1211 | 1212 |
| 1212 local r, g, b, a = 1,1,1,1 | 1213 local r, g, b, a = 1,1,1,1 |
| 1213 if self.filterKey then | 1214 local used = WorldPlan.UsedFilters[self.filterKey] |
| 1214 if FilterInclusions[self.filterKey][self.filterValue] == nil then | 1215 if used and self.filterKey then |
| 1215 FilterInclusions[self.filterKey][self.filterValue] = true | 1216 if used[self.filterValue] == true then |
| 1216 end | |
| 1217 | |
| 1218 | |
| 1219 if FilterInclusions[self.filterKey][self.filterValue] == true then | |
| 1220 r, g, b = 0, 1, 0 | 1217 r, g, b = 0, 1, 0 |
| 1221 elseif FilterInclusions[self.filterKey][self.filterValue] == false then | 1218 elseif used[self.filterValue] == false then |
| 1222 r, g, b = 1, 0, 0 | 1219 r, g, b = 1, 0, 0 |
| 1223 end | 1220 end |
| 1224 end | 1221 end |
| 1225 self.iconBorder:SetVertexColor(r, g, b, a) | 1222 self.iconBorder:SetVertexColor(r, g, b, a) |
| 1226 self:UpdateSize() | 1223 self:UpdateSize() |
| 1255 local setInclude = (button == 'LeftButton') | 1252 local setInclude = (button == 'LeftButton') |
| 1256 | 1253 |
| 1257 | 1254 |
| 1258 if not filterKey then | 1255 if not filterKey then |
| 1259 -- resetting | 1256 -- resetting |
| 1260 for k,v in pairs(FilterInclusions) do | 1257 for k,v in pairs(WorldPlan.UsedFilters) do |
| 1261 wipe(v) | 1258 wipe(v) |
| 1262 end | 1259 end |
| 1260 elseif IsShiftKeyDown() then | |
| 1261 WorldPlan.UsedFilters[filterKey] = nil | |
| 1263 else | 1262 else |
| 1264 FilterInclusions[filterKey][filterValue] = setInclude | 1263 WorldPlan.UsedFilters[filterKey] = WorldPlan.UsedFilters[filterKey] or {} |
| 1265 if (not IsShiftKeyDown()) then | 1264 WorldPlan.UsedFilters[filterKey][filterValue] = setInclude |
| 1266 for k, info in ipairs(WorldPlan.FilterOptions) do | 1265 print(filterKey, filterValue, '=', setInclude) |
| 1267 if (info.filterKey == filterKey) and (info.filterValue ~= filterValue) then | 1266 |
| 1268 FilterInclusions[info.filterKey][info.filterValue] = (not setInclude) | 1267 for index, info in ipairs(WorldPlan.FilterOptions) do |
| 1268 if info.filterKey == filterKey then | |
| 1269 if (not IsControlKeyDown()) and (filterValue ~= info.filterValue) then | |
| 1270 WorldPlan.UsedFilters[filterKey][info.filterValue] = (not setInclude) | |
| 1271 print(filterKey, info.filterValue, '=', WorldPlan.UsedFilters[filterKey][info.filterValue]) | |
| 1269 end | 1272 end |
| 1270 end | 1273 end |
| 1271 end | 1274 end |
| 1275 | |
| 1272 end | 1276 end |
| 1273 print('|cFF00FF88Filter Update:', filterKey, filterValue, operation) | 1277 print('|cFF00FF88Filter Update:', filterKey, filterValue, operation) |
| 1274 WorldPlan:RefreshAll() | 1278 WorldPlan:RefreshAll() |
| 1275 end | 1279 end |
| 1276 | 1280 |
