comparison CallbackFactory.lua @ 4:d186f8cd5000

Renamed functions to avoid conflicts
author madcatzinc@35b17cf1-18cd-47ff-9ca3-31d6b526ef09
date Mon, 28 May 2012 15:54:52 +0000
parents bf9220814fb5
children 6cb9a2936580
comparison
equal deleted inserted replaced
3:461854a2849c 4:d186f8cd5000
16 16
17 --~ You should have received a copy of the GNU General Public License 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 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. 19 --~ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20 20
21 CallbackFactory = { 21 CyborgMMO_CallbackFactory = {
22 new = function() 22 new = function()
23 local self = {} 23 local self = {}
24 self.Frame = CreateFrame("Frame","CallbackFactoryFrame", UIParent); 24 self.Frame = CreateFrame("Frame","CallbackFactoryFrame", UIParent);
25 self.Callbacks = {} 25 self.Callbacks = {}
26 self.Id = 1; 26 self.Id = 1;
34 end 34 end
35 35
36 self.RemoveCallback = function(name) 36 self.RemoveCallback = function(name)
37 self.Callbacks[name] = nil 37 self.Callbacks[name] = nil
38 end 38 end
39
40 self.GetCallback = function(callbackName)
41 local callback = nil
42 if("Map" == callbackName) then
43 callback = self.ToggleMap;
44 elseif("CharacterPage" == callbackName) then
45 callback = self.ToggleCharacterPage;
46 elseif("Spellbook" == callbackName) then
47 callback = self.ToggleSpellbook;
48 elseif("Macros" == callbackName) then
49 callback = self.ToggleMacros;
50 elseif("QuestLog" == callbackName) then
51 callback = self.ToggleQuests;
52 elseif("Achievement" == callbackName) then
53 callback = self.ToggleAchievements;
54 elseif("Inventory" == callbackName) then
55 callback = self.ToggleBags;
56 end;
57 return callback;
58 end
39 59
60
61 self.ToggleMap = function()
62 ToggleFrame(WorldMapFrame)
63 end
64
65 self.ToggleCharacterPage = function()
66 ToggleCharacter("PaperDollFrame")
67 end
68
69 self.ToggleSpellbook = function()
70 ToggleFrame(SpellBookFrame)
71 if(SpellBookFrame:IsShown()) then
72 SpellbookMicroButton:SetButtonState("PUSHED", 1);
73 else
74 SpellbookMicroButton:SetButtonState("NORMAL");
75 end
76 end
77
78 self.ToggleMacros = function()
79 if(MacroFrame:IsShown() and MacroFrame:IsVisible()) then
80 HideUIPanel(MacroFrame);
81 else
82 ShowMacroFrame();
83 end
84 end
85
86 self.ToggleQuests = function()
87 ToggleFrame(QuestLogFrame);
88 if ( QuestLogFrame:IsShown() ) then
89 QuestLogMicroButton:SetButtonState("PUSHED", 1);
90 else
91 QuestLogMicroButton:SetButtonState("NORMAL");
92 end
93 end
94
95 self.ToggleAchievements = function()
96 ToggleAchievementFrame();
97 if ( AchievementFrame and AchievementFrame:IsShown() ) then
98 AchievementMicroButton:SetButtonState("PUSHED", 1);
99 else
100 if ( ( HasCompletedAnyAchievement() or IsInGuild() ) and CanShowAchievementUI() ) then
101 AchievementMicroButton:Enable();
102 AchievementMicroButton:SetButtonState("NORMAL");
103 else
104 AchievementMicroButton:Disable();
105 end
106 end
107 end
108
109 self.ToggleBags = function()
110 ToggleAllBags();
111 end
40 return self; 112 return self;
41 end, 113 end,
42 114
43 m_Instance = nil, 115 m_Instance = nil,
44 116
45 Instance = function() 117 Instance = function()
46 if(nil == CallbackFactory.m_Instance) then 118 if(nil == CyborgMMO_CallbackFactory.m_Instance) then
47 CallbackFactory.m_Instance = CallbackFactory.new(); 119 CyborgMMO_CallbackFactory.m_Instance = CyborgMMO_CallbackFactory.new();
48 end 120 end
49 return CallbackFactory.m_Instance; 121 return CyborgMMO_CallbackFactory.m_Instance;
50 end 122 end
123
51 124
52 } 125 }
53 126
54 127
55 GetCallback = function(callbackName)
56 local callback = nil
57 if("Map" == callbackName) then
58 callback = ToggleMap;
59 elseif("CharacterPage" == callbackName) then
60 callback = ToggleCharacterPage;
61 elseif("Spellbook" == callbackName) then
62 callback = ToggleSpellbook;
63 elseif("Macros" == callbackName) then
64 callback = ToggleMacros;
65 elseif("QuestLog" == callbackName) then
66 callback = ToggleQuests;
67 elseif("Achievement" == callbackName) then
68 callback = ToggleAchievements;
69 elseif("Inventory" == callbackName) then
70 callback = ToggleBags;
71 end;
72 return callback;
73 end
74
75
76 ToggleMap = function()
77 ToggleFrame(WorldMapFrame)
78 end
79
80 ToggleCharacterPage = function()
81 ToggleCharacter("PaperDollFrame")
82 end
83
84 ToggleSpellbook = function()
85 ToggleFrame(SpellBookFrame)
86 if(SpellBookFrame:IsShown()) then
87 SpellbookMicroButton:SetButtonState("PUSHED", 1);
88 else
89 SpellbookMicroButton:SetButtonState("NORMAL");
90 end
91
92 end
93
94 ToggleMacros = function()
95 if(MacroFrame:IsShown() and MacroFrame:IsVisible()) then
96 HideUIPanel(MacroFrame);
97 else
98 ShowMacroFrame();
99 end
100 end
101
102 ToggleQuests = function()
103 ToggleFrame(QuestLogFrame);
104 if ( QuestLogFrame:IsShown() ) then
105 QuestLogMicroButton:SetButtonState("PUSHED", 1);
106 else
107 QuestLogMicroButton:SetButtonState("NORMAL");
108 end
109 end
110
111 ToggleAchievements = function()
112 ToggleAchievementFrame();
113 if ( AchievementFrame and AchievementFrame:IsShown() ) then
114 AchievementMicroButton:SetButtonState("PUSHED", 1);
115 else
116 if ( ( HasCompletedAnyAchievement() or IsInGuild() ) and CanShowAchievementUI() ) then
117 AchievementMicroButton:Enable();
118 AchievementMicroButton:SetButtonState("NORMAL");
119 else
120 AchievementMicroButton:Disable();
121 end
122 end
123 end
124
125 ToggleBags = function()
126 ToggleAllBags();
127 end