Mercurial > wow > cyborg-mmo7
comparison RatPageView.lua @ 0:bf9220814fb5
The first version of the Cyborg MMO7 addon for warcraft
| author | madcatzinc@35b17cf1-18cd-47ff-9ca3-31d6b526ef09 |
|---|---|
| date | Tue, 24 Jan 2012 17:14:21 +0000 |
| parents | |
| children | d186f8cd5000 |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:bf9220814fb5 |
|---|---|
| 1 --~ Warcraft Plugin for Cyborg MMO7 | |
| 2 --~ Filename: RatPageView.lua | |
| 3 --~ Description: Interaction logic for the RatPage | |
| 4 --~ Copyright (C) 2012 Mad Catz Inc. | |
| 5 --~ Author: Christopher Hooks | |
| 6 | |
| 7 --~ This program is free software; you can redistribute it and/or | |
| 8 --~ modify it under the terms of the GNU General Public License | |
| 9 --~ as published by the Free Software Foundation; either version 2 | |
| 10 --~ of the License, or (at your option) any later version. | |
| 11 | |
| 12 --~ This program is distributed in the hope that it will be useful, | |
| 13 --~ but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 14 --~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 15 --~ GNU General Public License for more details. | |
| 16 | |
| 17 --~ You should have received a copy of the GNU General Public License | |
| 18 --~ along with this program; if not, write to the Free Software | |
| 19 --~ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |
| 20 | |
| 21 RatPageView = { | |
| 22 new = function(self) | |
| 23 msg("new Rat Page View"); | |
| 24 for _, child in ipairs(self:GetChildren()) do | |
| 25 child.Register(); | |
| 26 end | |
| 27 | |
| 28 self.SlotClicked = function(slot) | |
| 29 msg("View Recieved Click") | |
| 30 RatPageController.Instance().SlotClicked(slot) | |
| 31 end | |
| 32 | |
| 33 self.ModeClicked = function(mode) | |
| 34 msg("View Recieved Click") | |
| 35 RatPageController.Instance().ModeClicked(mode) | |
| 36 end | |
| 37 | |
| 38 self.RegisterMode = function() | |
| 39 msg("ModeRegistered") | |
| 40 end | |
| 41 | |
| 42 self.RegisterSlot = function() | |
| 43 msg("SlotRegistered") | |
| 44 end | |
| 45 return self; | |
| 46 end | |
| 47 } | |
| 48 | |
| 49 RatQuickPageView = { | |
| 50 new = function(self) | |
| 51 for _, child in ipairs(self:GetChildren()) do | |
| 52 child.Register(); | |
| 53 end | |
| 54 | |
| 55 self.SlotClicked = function(slot) | |
| 56 RatPageController.Instance().SlotClicked(slot) | |
| 57 end | |
| 58 | |
| 59 return self; | |
| 60 end | |
| 61 } | |
| 62 | |
| 63 -- Slot Class -- | |
| 64 SlotView = { | |
| 65 new = function(self, parent) | |
| 66 self._assignedWowObject = nil; | |
| 67 self:RegisterForClicks("LeftButtonUp", "RightButtonUp"); | |
| 68 self.Id = self:GetID(); | |
| 69 RatPageModel.Instance().AddObserver(self); | |
| 70 self.UnCheckedTexture = self:GetNormalTexture(); | |
| 71 | |
| 72 -- Object Method -- | |
| 73 self.Clicked = function() | |
| 74 self:GetParent().SlotClicked(self) | |
| 75 | |
| 76 GameTooltip:SetOwner(self, "ANCHOR_RIGHT"); | |
| 77 --GameTooltip:SetText(self:GetID()); | |
| 78 end | |
| 79 | |
| 80 self.Update = function(data, activeMode) | |
| 81 local icon = _G[self:GetName().."Icon"]; | |
| 82 if(nil ~= data[activeMode][self.Id]) then | |
| 83 self:SetChecked(true); | |
| 84 icon:SetTexture(data[activeMode][self.Id].Texture); | |
| 85 else | |
| 86 icon:SetTexture(nil); | |
| 87 self:SetChecked(false); | |
| 88 end | |
| 89 | |
| 90 | |
| 91 end | |
| 92 | |
| 93 return self; | |
| 94 end, | |
| 95 } | |
| 96 | |
| 97 SlotMiniView = { | |
| 98 new = function(self, parent) | |
| 99 self._assignedWowObject = nil; | |
| 100 self.Id = self:GetID(); | |
| 101 RatPageModel.Instance().AddObserver(self); | |
| 102 self.UnCheckedTexture = self:GetNormalTexture(); | |
| 103 | |
| 104 self.Update = function(data, activeMode) | |
| 105 local icon = _G[self:GetName().."Icon"]; | |
| 106 if(nil ~= data[activeMode][self.Id]) then | |
| 107 self:SetChecked(true); | |
| 108 | |
| 109 icon:SetTexture(data[activeMode][self.Id].Texture); | |
| 110 icon:SetAlpha(.5); | |
| 111 else | |
| 112 icon:SetTexture(nil); | |
| 113 self:SetChecked(false); | |
| 114 end | |
| 115 end | |
| 116 | |
| 117 return self; | |
| 118 end | |
| 119 } | |
| 120 | |
| 121 | |
| 122 -- ModeButton -- | |
| 123 ModeView = { | |
| 124 new = function(self) | |
| 125 self.Id = self:GetID(); | |
| 126 self.Name = self:GetName(); | |
| 127 RatPageModel.Instance().AddObserver(self); | |
| 128 if(self.Id ~= 1) then | |
| 129 self:Hide() | |
| 130 end | |
| 131 | |
| 132 self.Clicked = function() | |
| 133 local nextMode; | |
| 134 if(self.Id == 1) then | |
| 135 nextMode = getglobal("Mode2"); | |
| 136 else | |
| 137 if(self.Id == 2) then | |
| 138 nextMode = getglobal("Mode3"); | |
| 139 else | |
| 140 nextMode = getglobal("Mode1"); | |
| 141 end | |
| 142 end | |
| 143 self:GetParent().ModeClicked(nextMode) | |
| 144 end | |
| 145 | |
| 146 self.Update = function(data, activeMode) | |
| 147 if(self.Id == activeMode) then | |
| 148 self:Show() | |
| 149 else | |
| 150 self:Hide() | |
| 151 end | |
| 152 | |
| 153 end | |
| 154 | |
| 155 return self; | |
| 156 end | |
| 157 } |
