Mercurial > wow > reaction
comparison classes/VehicleExitButton.lua @ 159:799c6ea9da7b
added vehicle exit floater
some fixes for vehicle exit button on main bars
still some lingering settexcoords issues on the vehicle exit icon
| author | Flick <flickerstreak@gmail.com> |
|---|---|
| date | Mon, 29 Jun 2009 17:43:16 +0000 |
| parents | |
| children | 8cc187143acd |
comparison
equal
deleted
inserted
replaced
| 158:d2f289c3bae6 | 159:799c6ea9da7b |
|---|---|
| 1 local ReAction = ReAction | |
| 2 local format = string.format | |
| 3 | |
| 4 ReAction:UpdateRevision("$Revision: 154 $") | |
| 5 | |
| 6 -- | |
| 7 -- VExitButton Button class | |
| 8 -- | |
| 9 local Super = ReAction.Button | |
| 10 local VExitButton = setmetatable( { }, { __index = Super } ) | |
| 11 ReAction.Button.VehicleExit = VExitButton | |
| 12 | |
| 13 function VExitButton:New( idx, config, bar ) | |
| 14 local name = format("ReAction_%s_VehicleExit_%d",bar:GetName(),idx) | |
| 15 | |
| 16 self = Super.New(self, name, config, bar, idx, "SecureFrameTemplate, ActionButtonTemplate", "Button") | |
| 17 | |
| 18 -- frame setup | |
| 19 local f = self:GetFrame() | |
| 20 self.frames.icon:SetTexture("Interface\\Vehicles\\UI-Vehicles-Button-Exit-Up") | |
| 21 self.frames.icon:SetTexCoord(0.140625, 0.859375, 0.140625, 0.859375) | |
| 22 | |
| 23 -- attribute setup | |
| 24 -- (none) | |
| 25 | |
| 26 -- non secure scripts | |
| 27 f:SetScript("OnClick", VehicleExit) | |
| 28 f:SetScript("OnEnter", function(frame) GameTooltip_AddNewbieTip(frame, LEAVE_VEHICLE, 1.0, 1.0, 1.0, nil) end) | |
| 29 f:SetScript("OnLeave", GameTooltip_Hide) | |
| 30 f:SetScript("OnEvent", function(frame, evt, ...) self:OnEvent(evt,...) end) | |
| 31 | |
| 32 -- event registration | |
| 33 f:EnableMouse(true) | |
| 34 f:RegisterForClicks("AnyUp") | |
| 35 f:RegisterEvent("UPDATE_BINDINGS") | |
| 36 | |
| 37 -- attach to skinner | |
| 38 bar:SkinButton(self) | |
| 39 | |
| 40 self:Refresh() | |
| 41 self:UpdateHotkey() | |
| 42 | |
| 43 return self | |
| 44 end | |
| 45 | |
| 46 function VExitButton:GetActionID() | |
| 47 return 1 | |
| 48 end | |
| 49 | |
| 50 function VExitButton:Refresh() | |
| 51 Super.Refresh(self) | |
| 52 -- it seems that setscale kills the texcoord, have to refresh it | |
| 53 self.frames.icon:SetTexCoord(0.140625, 0.859375, 0.140625, 0.859375) | |
| 54 end | |
| 55 | |
| 56 function VExitButton:OnEvent(event, ...) | |
| 57 if self[event] then | |
| 58 self[event](self, event, ...) | |
| 59 end | |
| 60 end | |
| 61 | |
| 62 function VExitButton:UPDATE_BINDINGS() | |
| 63 self:UpdateHotkey() | |
| 64 end |
