Mercurial > wow > reagentmaker
comparison utils.lua @ 82:cf1da2654dc6 v1.0beta3
Expand headers when needed. Not heavily tested, could fail on a slow computer...
| author | contrebasse |
|---|---|
| date | Sun, 15 May 2011 09:23:15 +0200 |
| parents | 9d487333bf10 |
| children | 996aaa818d04 |
comparison
equal
deleted
inserted
replaced
| 81:32c398de6812 | 82:cf1da2654dc6 |
|---|---|
| 54 end | 54 end |
| 55 | 55 |
| 56 -- Find the first tradeskill index of the recipe to make an item | 56 -- Find the first tradeskill index of the recipe to make an item |
| 57 function A.findSkillIndex(itemID) | 57 function A.findSkillIndex(itemID) |
| 58 for i = 1,GetNumTradeSkills() do | 58 for i = 1,GetNumTradeSkills() do |
| 59 local skillName, skillType = GetTradeSkillInfo(i) | 59 local _, skillType = GetTradeSkillInfo(i) |
| 60 if skillType == "header" then | 60 if skillType == "header" then |
| 61 else | 61 else |
| 62 local ID = A.link2ID(GetTradeSkillItemLink(i)) | 62 local ID = A.link2ID(GetTradeSkillItemLink(i)) |
| 63 if ID and ID == itemID then | 63 if ID and ID == itemID then |
| 64 return i | 64 return i |
| 65 end -- if | 65 end -- if |
| 66 end -- if | 66 end -- if |
| 67 end -- for | 67 end -- for |
| 68 --A.Error(A.L["Tradeskill not found for %d, is the recipe hidden ?"]:format(itemID)) | |
| 69 end -- function | 68 end -- function |
| 70 end -- do | 69 end -- do |
| 71 | 70 |
| 72 | 71 |
| 73 -- Taken from Datastore_Crafts | 72 -- Taken from Datastore_Crafts |
| 111 return i+1 -- ex: 3rd element of the invSlots array, but 4th in the dropdown due to "All Slots", so return i+1 | 110 return i+1 -- ex: 3rd element of the invSlots array, but 4th in the dropdown due to "All Slots", so return i+1 |
| 112 end | 111 end |
| 113 end | 112 end |
| 114 end | 113 end |
| 115 | 114 |
| 116 function A.SaveActiveFilters() | 115 function A.SaveActiveFilters(headerName) |
| 116 A.blockScan = true | |
| 117 | |
| 118 --[[ | |
| 117 print("save") | 119 print("save") |
| 120 print(GetNumTradeSkills()) | |
| 118 selectedTradeSkillIndex = GetTradeSkillSelectionIndex() | 121 selectedTradeSkillIndex = GetTradeSkillSelectionIndex() |
| 119 | 122 |
| 120 subClasses = { GetTradeSkillSubClasses() } | 123 subClasses = { GetTradeSkillSubClasses() } |
| 121 invSlots = { GetTradeSkillInvSlots() } | 124 invSlots = { GetTradeSkillInvSlots() } |
| 122 subClassID = GetSubClassID() | 125 subClassID = GetSubClassID() |
| 125 -- Subclasses | 128 -- Subclasses |
| 126 SetTradeSkillSubClassFilter(0, 1, 1) -- this checks "All subclasses" | 129 SetTradeSkillSubClassFilter(0, 1, 1) -- this checks "All subclasses" |
| 127 if TradeSkillSubClassDropDown then | 130 if TradeSkillSubClassDropDown then |
| 128 UIDropDownMenu_SetSelectedID(TradeSkillSubClassDropDown, 1) | 131 UIDropDownMenu_SetSelectedID(TradeSkillSubClassDropDown, 1) |
| 129 end | 132 end |
| 133 print(GetNumTradeSkills()) | |
| 130 | 134 |
| 131 -- Inventory slots | 135 -- Inventory slots |
| 132 SetTradeSkillInvSlotFilter(0, 1, 1) -- this checks "All slots" | 136 SetTradeSkillInvSlotFilter(0, 1, 1) -- this checks "All slots" |
| 133 if TradeSkillInvSlotDropDown then | 137 if TradeSkillInvSlotDropDown then |
| 134 UIDropDownMenu_SetSelectedID(TradeSkillInvSlotDropDown, 1) | 138 UIDropDownMenu_SetSelectedID(TradeSkillInvSlotDropDown, 1) |
| 135 end | 139 end |
| 140 print(GetNumTradeSkills()) | |
| 136 | 141 |
| 137 -- Have Materials | 142 -- Have Materials |
| 138 if TradeSkillFrameAvailableFilterCheckButton then | 143 if TradeSkillFrameAvailableFilterCheckButton then |
| 139 haveMats = TradeSkillFrameAvailableFilterCheckButton:GetChecked() -- nil or true | 144 haveMats = TradeSkillFrameAvailableFilterCheckButton:GetChecked() -- nil or true |
| 140 TradeSkillFrameAvailableFilterCheckButton:SetChecked(false) | 145 TradeSkillFrameAvailableFilterCheckButton:SetChecked(false) |
| 141 end | 146 end |
| 142 TradeSkillOnlyShowMakeable(false) | 147 TradeSkillOnlyShowMakeable(false) |
| 148 print(GetNumTradeSkills()) | |
| 149 --]] | |
| 143 | 150 |
| 144 -- Headers | 151 -- Headers |
| 145 local headerCount = 0 -- use a counter to avoid being bound to header names, which might not be unique. | 152 --local headerCount = 0 -- use a counter to avoid being bound to header names, which might not be unique. |
| 146 | |
| 147 for i = GetNumTradeSkills(), 1, -1 do -- 1st pass, expand all categories | 153 for i = GetNumTradeSkills(), 1, -1 do -- 1st pass, expand all categories |
| 148 local _, skillType, _, isExpanded = GetTradeSkillInfo(i) | 154 local skillName, skillType, _, isExpanded = GetTradeSkillInfo(i) |
| 149 if (skillType == "header") then | 155 if (skillType == "header") then |
| 150 headerCount = headerCount + 1 | 156 --headerCount = headerCount + 1 |
| 151 if not isExpanded then | 157 if not isExpanded and skillName==headerName then |
| 152 ExpandTradeSkillSubClass(i) | 158 ExpandTradeSkillSubClass(i) |
| 153 headersState[headerCount] = true | 159 --print(GetNumTradeSkills()) |
| 160 --headersState[headerCount] = true | |
| 154 end | 161 end |
| 155 end | 162 end |
| 156 end | 163 end |
| 157 | 164 |
| 158 print("saved") | 165 --print("saved") |
| 166 | |
| 167 A.blockScan = nil | |
| 159 end | 168 end |
| 160 | 169 |
| 161 function A.RestoreActiveFilters() | 170 function A.RestoreActiveFilters() |
| 171 A.blockScan = true | |
| 172 | |
| 162 print("restore") | 173 print("restore") |
| 163 -- Subclasses | 174 -- Subclasses |
| 164 SetTradeSkillSubClassFilter(subClassID-1, 1, 1) -- this checks the previously checked value | 175 SetTradeSkillSubClassFilter(subClassID-1, 1, 1) -- this checks the previously checked value |
| 165 | 176 |
| 166 local frame = TradeSkillSubClassDropDown | 177 local frame = TradeSkillSubClassDropDown |
| 211 end | 222 end |
| 212 end | 223 end |
| 213 wipe(headersState) | 224 wipe(headersState) |
| 214 end | 225 end |
| 215 print("restored") | 226 print("restored") |
| 227 | |
| 228 A.blockScan = nil | |
| 216 end | 229 end |
| 217 | 230 |
| 218 function A.isRecipeUnique(itemData) | 231 function A.isRecipeUnique(itemData) |
| 219 local unique = true | 232 local unique = true |
| 220 | 233 |
