/Tukui/modules/skins/auction.lua

http://github.com/Asphyxia/Tukui · Lua · 283 lines · 234 code · 43 blank · 6 comment · 9 complexity · ba16c135f6c9856cc2a77bd91f420e88 MD5 · raw file

  1. local T, C, L = unpack(select(2, ...))
  2. local function LoadSkin()
  3. T.SkinCloseButton(AuctionFrameCloseButton)
  4. AuctionFrame:StripTextures(true)
  5. AuctionFrame:SetTemplate("Transparent")
  6. AuctionFrame:CreateShadow("Transparent")
  7. BrowseFilterScrollFrame:StripTextures()
  8. BrowseScrollFrame:StripTextures()
  9. AuctionsScrollFrame:StripTextures()
  10. BidScrollFrame:StripTextures()
  11. T.SkinDropDownBox(BrowseDropDown)
  12. T.SkinDropDownBox(PriceDropDown)
  13. T.SkinDropDownBox(DurationDropDown)
  14. T.SkinScrollBar(BrowseFilterScrollFrameScrollBar)
  15. T.SkinScrollBar(BrowseScrollFrameScrollBar)
  16. T.SkinCheckBox(IsUsableCheckButton)
  17. T.SkinCheckBox(ShowOnPlayerCheckButton)
  18. --Dress Up Frame
  19. AuctionDressUpFrame:StripTextures()
  20. AuctionDressUpFrame:SetTemplate("Transparent")
  21. AuctionDressUpFrame:Point("TOPLEFT", AuctionFrame, "TOPRIGHT", 2, 0)
  22. T.SkinButton(AuctionDressUpFrameResetButton)
  23. AuctionDressUpFrameCloseButton:StripTextures()
  24. AuctionDressUpFrameCloseButton:SetNormalTexture(AuctionFrameCloseButton:GetNormalTexture():GetTexture())
  25. AuctionDressUpFrameCloseButton:SetPushedTexture(AuctionFrameCloseButton:GetPushedTexture():GetTexture())
  26. AuctionDressUpFrameCloseButton:SetHighlightTexture(AuctionFrameCloseButton:GetHighlightTexture():GetTexture())
  27. AuctionDressUpFrameCloseButton:SetDisabledTexture(AuctionFrameCloseButton:GetDisabledTexture():GetTexture())
  28. T.SkinRotateButton(AuctionDressUpModelRotateLeftButton)
  29. T.SkinRotateButton(AuctionDressUpModelRotateRightButton)
  30. AuctionDressUpModelRotateRightButton:Point("TOPLEFT", AuctionDressUpModelRotateLeftButton, "TOPRIGHT", 4, 0)
  31. --Progress Frame
  32. AuctionProgressFrame:StripTextures()
  33. AuctionProgressFrame:SetTemplate("Transparent")
  34. AuctionProgressFrame:CreateShadow("Transparent")
  35. AuctionProgressFrameCancelButton:StyleButton()
  36. AuctionProgressFrameCancelButton:SetTemplate("Transparent")
  37. AuctionProgressFrameCancelButton:SetHitRectInsets(0, 0, 0, 0)
  38. AuctionProgressFrameCancelButton:GetNormalTexture():ClearAllPoints()
  39. AuctionProgressFrameCancelButton:GetNormalTexture():Point("TOPLEFT", 2, -2)
  40. AuctionProgressFrameCancelButton:GetNormalTexture():Point("BOTTOMRIGHT", -2, 2)
  41. AuctionProgressFrameCancelButton:GetNormalTexture():SetTexCoord(0.67, 0.37, 0.61, 0.26)
  42. AuctionProgressFrameCancelButton:Size(28, 28)
  43. AuctionProgressFrameCancelButton:Point("LEFT", AuctionProgressBar, "RIGHT", 8, 0)
  44. AuctionProgressBarIcon:SetTexCoord(0.67, 0.37, 0.61, 0.26)
  45. local backdrop = CreateFrame("Frame", nil, AuctionProgressBarIcon:GetParent())
  46. backdrop:Point("TOPLEFT", AuctionProgressBarIcon, "TOPLEFT", -2, 2)
  47. backdrop:Point("BOTTOMRIGHT", AuctionProgressBarIcon, "BOTTOMRIGHT", 2, -2)
  48. backdrop:SetTemplate("Transparent")
  49. AuctionProgressBarIcon:SetParent(backdrop)
  50. AuctionProgressBarText:ClearAllPoints()
  51. AuctionProgressBarText:SetPoint("CENTER")
  52. AuctionProgressBar:StripTextures()
  53. AuctionProgressBar:CreateBackdrop("Transparent")
  54. AuctionProgressBar:SetStatusBarTexture(C["media"].normTex)
  55. AuctionProgressBar:SetStatusBarColor(1, 1, 0)
  56. T.SkinNextPrevButton(BrowseNextPageButton)
  57. T.SkinNextPrevButton(BrowsePrevPageButton)
  58. local buttons = {
  59. "BrowseBidButton",
  60. "BidBidButton",
  61. "BrowseBuyoutButton",
  62. "BidBuyoutButton",
  63. "BrowseCloseButton",
  64. "BidCloseButton",
  65. "BrowseSearchButton",
  66. "AuctionsCreateAuctionButton",
  67. "AuctionsCancelAuctionButton",
  68. "AuctionsCloseButton",
  69. "BrowseResetButton",
  70. "AuctionsStackSizeMaxButton",
  71. "AuctionsNumStacksMaxButton",
  72. }
  73. for _, button in pairs(buttons) do
  74. T.SkinButton(_G[button])
  75. end
  76. --Fix Button Positions
  77. AuctionsCloseButton:Point("BOTTOMRIGHT", AuctionFrameAuctions, "BOTTOMRIGHT", 66, 10)
  78. AuctionsCancelAuctionButton:Point("RIGHT", AuctionsCloseButton, "LEFT", -4, 0)
  79. BidBuyoutButton:Point("RIGHT", BidCloseButton, "LEFT", -4, 0)
  80. BidBidButton:Point("RIGHT", BidBuyoutButton, "LEFT", -4, 0)
  81. BrowseBuyoutButton:Point("RIGHT", BrowseCloseButton, "LEFT", -4, 0)
  82. BrowseBidButton:Point("RIGHT", BrowseBuyoutButton, "LEFT", -4, 0)
  83. AuctionsItemButton:StripTextures()
  84. AuctionsItemButton:StyleButton()
  85. AuctionsItemButton:SetTemplate("Transparent", true)
  86. BrowseResetButton:Point("TOPLEFT", AuctionFrameBrowse, "TOPLEFT", 81, -74)
  87. BrowseSearchButton:Point("TOPRIGHT", AuctionFrameBrowse, "TOPRIGHT", 25, -34)
  88. AuctionsItemButton:SetScript("OnUpdate", function()
  89. if AuctionsItemButton:GetNormalTexture() then
  90. AuctionsItemButton:GetNormalTexture():SetTexCoord(.08, .92, .08, .92)
  91. AuctionsItemButton:GetNormalTexture():ClearAllPoints()
  92. AuctionsItemButton:GetNormalTexture():Point("TOPLEFT", 2, -2)
  93. AuctionsItemButton:GetNormalTexture():Point("BOTTOMRIGHT", -2, 2)
  94. end
  95. end)
  96. local sorttabs = {
  97. "BrowseQualitySort",
  98. "BrowseLevelSort",
  99. "BrowseDurationSort",
  100. "BrowseHighBidderSort",
  101. "BrowseCurrentBidSort",
  102. "BidQualitySort",
  103. "BidLevelSort",
  104. "BidDurationSort",
  105. "BidBuyoutSort",
  106. "BidStatusSort",
  107. "BidBidSort",
  108. "AuctionsQualitySort",
  109. "AuctionsDurationSort",
  110. "AuctionsHighBidderSort",
  111. "AuctionsBidSort",
  112. }
  113. for _, sorttab in pairs(sorttabs) do
  114. _G[sorttab.."Left"]:Kill()
  115. _G[sorttab.."Middle"]:Kill()
  116. _G[sorttab.."Right"]:Kill()
  117. end
  118. for i=1, 3 do
  119. T.SkinTab(_G["AuctionFrameTab"..i])
  120. end
  121. for i=1, NUM_FILTERS_TO_DISPLAY do
  122. local tab = _G["AuctionFilterButton"..i]
  123. tab:StripTextures()
  124. tab:StyleButton()
  125. end
  126. local editboxs = {
  127. "BrowseName",
  128. "BrowseMinLevel",
  129. "BrowseMaxLevel",
  130. "BrowseBidPriceGold",
  131. "BrowseBidPriceSilver",
  132. "BrowseBidPriceCopper",
  133. "BidBidPriceGold",
  134. "BidBidPriceSilver",
  135. "BidBidPriceCopper",
  136. "AuctionsStackSizeEntry",
  137. "AuctionsNumStacksEntry",
  138. "StartPriceGold",
  139. "StartPriceSilver",
  140. "StartPriceCopper",
  141. "BuyoutPriceGold",
  142. "BuyoutPriceSilver",
  143. "BuyoutPriceCopper"
  144. }
  145. for _, editbox in pairs(editboxs) do
  146. T.SkinEditBox(_G[editbox])
  147. _G[editbox]:SetTextInsets(1, 1, -1, 1)
  148. end
  149. BrowseMaxLevel:Point("LEFT", BrowseMinLevel, "RIGHT", 8, 0)
  150. AuctionsStackSizeEntry.backdrop:SetAllPoints()
  151. AuctionsNumStacksEntry.backdrop:SetAllPoints()
  152. for i=1, NUM_BROWSE_TO_DISPLAY do
  153. local button = _G["BrowseButton"..i]
  154. local icon = _G["BrowseButton"..i.."Item"]
  155. _G["BrowseButton"..i.."ItemIconTexture"]:SetTexCoord(.08, .92, .08, .92)
  156. _G["BrowseButton"..i.."ItemIconTexture"]:ClearAllPoints()
  157. _G["BrowseButton"..i.."ItemIconTexture"]:Point("TOPLEFT", 2, -2)
  158. _G["BrowseButton"..i.."ItemIconTexture"]:Point("BOTTOMRIGHT", -2, 2)
  159. icon:StyleButton()
  160. --TODO: Find a better method to ensure that the icon:GetNormalTexture doesn't return after clicking
  161. icon:HookScript("OnUpdate", function() icon:GetNormalTexture():Kill() end)
  162. icon:CreateBackdrop("Transparent")
  163. icon.backdrop:SetAllPoints()
  164. button:StripTextures()
  165. button:StyleButton()
  166. _G["BrowseButton"..i.."Highlight"] = button:GetHighlightTexture()
  167. button:GetHighlightTexture():ClearAllPoints()
  168. button:GetHighlightTexture():Point("TOPLEFT", icon, "TOPRIGHT", 2, 0)
  169. button:GetHighlightTexture():SetPoint("BOTTOMRIGHT", button, "BOTTOMRIGHT", -2, 5)
  170. button:GetPushedTexture():SetAllPoints(button:GetHighlightTexture())
  171. end
  172. for i=1, NUM_AUCTIONS_TO_DISPLAY do
  173. local button = _G["AuctionsButton"..i]
  174. local icon = _G["AuctionsButton"..i.."Item"]
  175. _G["AuctionsButton"..i.."ItemIconTexture"]:SetTexCoord(.08, .92, .08, .92)
  176. _G["AuctionsButton"..i.."ItemIconTexture"].SetTexCoord = T.dummy
  177. _G["AuctionsButton"..i.."ItemIconTexture"]:ClearAllPoints()
  178. _G["AuctionsButton"..i.."ItemIconTexture"]:Point("TOPLEFT", 2, -2)
  179. _G["AuctionsButton"..i.."ItemIconTexture"]:Point("BOTTOMRIGHT", -2, 2)
  180. icon:StyleButton()
  181. --TODO: Find a better method to ensure that the icon:GetNormalTexture doesn't return after clicking
  182. icon:HookScript("OnUpdate", function() icon:GetNormalTexture():Kill() end)
  183. icon:CreateBackdrop("Transparent")
  184. icon.backdrop:SetAllPoints()
  185. button:StripTextures()
  186. button:StyleButton()
  187. _G["AuctionsButton"..i.."Highlight"] = button:GetHighlightTexture()
  188. button:GetHighlightTexture():ClearAllPoints()
  189. button:GetHighlightTexture():Point("TOPLEFT", icon, "TOPRIGHT", 2, 0)
  190. button:GetHighlightTexture():SetPoint("BOTTOMRIGHT", button, "BOTTOMRIGHT", -2, 5)
  191. button:GetPushedTexture():SetAllPoints(button:GetHighlightTexture())
  192. end
  193. for i=1, NUM_BIDS_TO_DISPLAY do
  194. local button = _G["BidButton"..i]
  195. local icon = _G["BidButton"..i.."Item"]
  196. _G["BidButton"..i.."ItemIconTexture"]:SetTexCoord(.08, .92, .08, .92)
  197. _G["BidButton"..i.."ItemIconTexture"]:ClearAllPoints()
  198. _G["BidButton"..i.."ItemIconTexture"]:Point("TOPLEFT", 2, -2)
  199. _G["BidButton"..i.."ItemIconTexture"]:Point("BOTTOMRIGHT", -2, 2)
  200. icon:StyleButton()
  201. icon:HookScript("OnUpdate", function() icon:GetNormalTexture():Kill() end)
  202. icon:CreateBackdrop("Transparent")
  203. icon.backdrop:SetAllPoints()
  204. button:StripTextures()
  205. button:StyleButton()
  206. _G["BidButton"..i.."Highlight"] = button:GetHighlightTexture()
  207. button:GetHighlightTexture():ClearAllPoints()
  208. button:GetHighlightTexture():Point("TOPLEFT", icon, "TOPRIGHT", 2, 0)
  209. button:GetHighlightTexture():SetPoint("BOTTOMRIGHT", button, "BOTTOMRIGHT", -2, 5)
  210. button:GetPushedTexture():SetAllPoints(button:GetHighlightTexture())
  211. end
  212. --Custom Backdrops
  213. AuctionFrameBrowse.bg1 = CreateFrame("Frame", nil, AuctionFrameBrowse)
  214. AuctionFrameBrowse.bg1:SetTemplate("Transparent")
  215. AuctionFrameBrowse.bg1:Point("TOPLEFT", 20, -103)
  216. AuctionFrameBrowse.bg1:Point("BOTTOMRIGHT", -575, 40)
  217. BrowseFilterScrollFrame:Height(300) --Adjust scrollbar height a little off
  218. AuctionFrameBrowse.bg2 = CreateFrame("Frame", nil, AuctionFrameBrowse)
  219. AuctionFrameBrowse.bg2:SetTemplate("Transparent")
  220. AuctionFrameBrowse.bg2:Point("TOPLEFT", AuctionFrameBrowse.bg1, "TOPRIGHT", 4, 0)
  221. AuctionFrameBrowse.bg2:Point("BOTTOMRIGHT", AuctionFrame, "BOTTOMRIGHT", -8, 40)
  222. BrowseScrollFrame:Height(300) --Adjust scrollbar height a little off
  223. AuctionFrameBid.bg = CreateFrame("Frame", nil, AuctionFrameBid)
  224. AuctionFrameBid.bg:SetTemplate("Transparent")
  225. AuctionFrameBid.bg:Point("TOPLEFT", 22, -72)
  226. AuctionFrameBid.bg:Point("BOTTOMRIGHT", 66, 39)
  227. BidScrollFrame:Height(332)
  228. AuctionsScrollFrame:Height(336)
  229. AuctionFrameAuctions.bg1 = CreateFrame("Frame", nil, AuctionFrameAuctions)
  230. AuctionFrameAuctions.bg1:SetTemplate("Transparent")
  231. AuctionFrameAuctions.bg1:Point("TOPLEFT", 15, -70)
  232. AuctionFrameAuctions.bg1:Point("BOTTOMRIGHT", -545, 35)
  233. AuctionFrameAuctions.bg1:SetFrameLevel(AuctionFrameAuctions.bg1:GetFrameLevel() - 2)
  234. AuctionFrameAuctions.bg2 = CreateFrame("Frame", nil, AuctionFrameAuctions)
  235. AuctionFrameAuctions.bg2:SetTemplate("Transparent")
  236. AuctionFrameAuctions.bg2:Point("TOPLEFT", AuctionFrameAuctions.bg1, "TOPRIGHT", 3, 0)
  237. AuctionFrameAuctions.bg2:Point("BOTTOMRIGHT", AuctionFrame, -8, 35)
  238. AuctionFrameAuctions.bg2:SetFrameLevel(AuctionFrameAuctions.bg2:GetFrameLevel() - 2)
  239. end
  240. T.SkinFuncs["Blizzard_AuctionUI"] = LoadSkin