/trunk
## Notes: Shows totems dropped by other people in the raid. |
## SavedVariablesPerCharacter: TotemGuruConfig |
## Title: TotemGuru |
## Version: 4.0.4 |
## Version: 4.0.3 |
## SVN wowi:revision |
localization\localization.lua |
localization\enGB.lua |
localization\deDE.lua |
localization\enUS.lua |
localization\esES.lua |
localization\frFR.lua |
localization\ruRU.lua |
Settings.lua |
TotemAssignments.lua |
Settings.lua |
TotemGuruTotems.lua |
ButtonStash.lua |
TotemGuruWindows.lua |
-- |
-- You should have received a copy of the GNU General Public License |
-- along with TotemGuru. If not, see <http://www.gnu.org/licenses/>. |
local _, L = ...; |
TotemGuruSettingsGUI = { |
font = STANDARD_TEXT_FONT,--"Fonts\\FRIZQT__.ttf", |
self.mainPanel.name = "TotemGuru V"..tostring(GetAddOnMetadata("TotemGuru", "Version")) |
self.mainPanel.title = FrameTitle(self.mainPanel.name,self.mainPanel) |
self.mainPanel.subtitle1 = FrameSubtitle(L["General Settings"],self.mainPanel) |
self.mainPanel.subtitle1 = FrameSubtitle("General Settings",self.mainPanel) |
x = 30 |
y = -80 |
--y = self:createChkBox("TotemGuruOff","Disable totemGuru\n(Note: You may need to reset instance\nsettings after changing this)",50,-80,self.mainPanel,TotemGuruMain_Toggle) |
y = self:createChkBox("Loadnone",L["Load TotemGuru at all times"],x,y,self.mainPanel,TotemGuruMain_CheckInstance) |
y = self:createChkBox("Loadpvp",L["Load TotemGuru when in Battleground"],x,y,self.mainPanel,TotemGuruMain_CheckInstance) |
y = self:createChkBox("Loadarena",L["Load TotemGuru when in Arena"],x,y,self.mainPanel,TotemGuruMain_CheckInstance) |
y = self:createChkBox("Loadparty",L["Load TotemGuru when in 5 man instance"],x,y,self.mainPanel,TotemGuruMain_CheckInstance) |
y = self:createChkBox("Loadraid",L["Load TotemGuru when in a Raid instance"],x,y,self.mainPanel,TotemGuruMain_CheckInstance) |
y = self:createChkBox("Loadnone","Load TotemGuru at all times",x,y,self.mainPanel,TotemGuruMain_CheckInstance) |
y = self:createChkBox("Loadpvp","Load TotemGuru when in Battleground",x,y,self.mainPanel,TotemGuruMain_CheckInstance) |
y = self:createChkBox("Loadarena","Load TotemGuru when in Arena",x,y,self.mainPanel,TotemGuruMain_CheckInstance) |
y = self:createChkBox("Loadparty","Load TotemGuru when in 5 man instance",x,y,self.mainPanel,TotemGuruMain_CheckInstance) |
y = self:createChkBox("Loadraid","Load TotemGuru when in a Raid instance",x,y,self.mainPanel,TotemGuruMain_CheckInstance) |
InterfaceOptions_AddCategory(self.mainPanel); |
------------ Options Panel ---------- |
------------------------------------- |
self.OptionsPanel = CreateFrame( "Frame", "TotemGuruSettingsGUI-Options", UIParent); |
self.OptionsPanel.name = L["Options"]; |
self.OptionsPanel.name = "Options"; |
self.OptionsPanel.parent = self.mainPanel.name |
self.OptionsPanel.title = FrameTitle(self.mainPanel.name .. " " .. self.OptionsPanel.name,self.OptionsPanel) |
self.OptionsPanel.subtitle1 = FrameSubtitle(L["Options"],self.OptionsPanel) |
self.OptionsPanel.subtitle1 = FrameSubtitle("Options",self.OptionsPanel) |
x = 30 |
y = -80 |
y = self:createChkBox("LockWindow",L["Forces the use of the alt key to move the main window"],x,y,self.OptionsPanel,TotemGuruMain_Redraw) |
y = self:createChkBox("TooltipsEnabled",L["Enable tooltips"],x,y,self.OptionsPanel) |
y = self:createChkBox("ShowCooldowns",L["Show Cooldowns"],x,y,self.OptionsPanel) |
y = self:createChkBox("ShowWarnings",L["Show Missing totem warnings"],x,y,self.OptionsPanel,TotemGuru_CheckWarningsToggle) |
y = self:createChkBox("ShowBuffFlash",L["Show which totems are giving us a buff"],x,y,self.OptionsPanel,TotemGuruMain_Redraw) |
y = self:createChkBox("ReceiveAssignments",L["Allow the sending/receiving of totem Assignments"],x,y,self.OptionsPanel,TotemGuruMain_Redraw) |
y = self:createChkBox("LockWindow","Forces the use of the alt key to move the main window",x,y,self.OptionsPanel,TotemGuruMain_Redraw) |
y = self:createChkBox("TooltipsEnabled","Enable tooltips",x,y,self.OptionsPanel) |
y = self:createChkBox("ShowCooldowns","Show Cooldowns",x,y,self.OptionsPanel) |
y = self:createChkBox("ShowWarnings","Show Missing totem warnings",x,y,self.OptionsPanel,TotemGuru_CheckWarningsToggle) |
y = self:createChkBox("ShowBuffFlash","Show which totems are giving us a buff",x,y,self.OptionsPanel,TotemGuruMain_Redraw) |
y = self:createChkBox("ReceiveAssignments","Allow the sending/receiving of totem Assignments",x,y,self.OptionsPanel,TotemGuruMain_Redraw) |
-- not sure if this was a bug but in BG's on the ptr we sometimes saw enemy players totems. This needs some testing |
-- as if it is reliable this could be a bonus for PVP'rs |
--------- Size Panel ------------- |
------------------------------------- |
self.SizePanel = CreateFrame( "Frame", "TotemGuruSettingsGUI-Size", UIParent ); |
self.SizePanel.name = L["Display Size"]; |
self.SizePanel.name = "Display Size"; |
self.SizePanel.parent = self.mainPanel.name |
self.SizePanel.title = FrameTitle(self.mainPanel.name,self.SizePanel) |
self.SizePanel.subtitle1 = FrameSubtitle(L["Size Settings"],self.SizePanel) |
self.SizePanel.subtitle1 = FrameSubtitle("Size Settings",self.SizePanel) |
x = 140 |
y = -100 |
y = self:createSlider("TotemGuruScale",L["Main window size"], self.SizePanel, 0.3, 2, 0.001, x, y, TotemGuruUpdateScale) |
y = self:createSlider("TotemGuruScale", "Main window size", self.SizePanel, 0.3, 2, 0.001, x, y, TotemGuruUpdateScale) |
InterfaceOptions_AddCategory(self.SizePanel); |
--------- Alpha Panel ------------- |
------------------------------------- |
self.AlphaPanel = CreateFrame( "Frame", "TotemGuruSettingsGUI-Alpha", UIParent ); |
self.AlphaPanel.name = L["Display Alpha"]; |
self.AlphaPanel.name = "Display Alpha"; |
self.AlphaPanel.parent = self.mainPanel.name |
self.AlphaPanel.title = FrameTitle(self.mainPanel.name,self.AlphaPanel) |
self.AlphaPanel.subtitle1 = FrameSubtitle(L["Alpha Settings"],self.AlphaPanel) |
self.AlphaPanel.subtitle1 = FrameSubtitle("Alpha Settings",self.AlphaPanel) |
x = 140 |
y = -100 |
y = self:createSlider("BackgroundAlpha", L["Main window Alpha"], self.AlphaPanel, 0.1, 1, 0.01,x,y,UpdateAlpha) |
y = self:createSlider("ButtonsAlpha", L["Main Windows Buttons"], self.AlphaPanel, 0.1, 1, 0.01,x,y,UpdateAlpha) |
y = self:createSlider("WarningsAlpha", L["Warning icons Alpha"], self.AlphaPanel, 0.1, 1, 0.01,x,y,UpdateAlpha) |
y = self:createSlider("PlayerNameAlpha", L["Player Name Alpha"], self.AlphaPanel, 0.1, 1, 0.01,x,y,UpdateAlpha) |
y = self:createSlider("TotemNormalAlpha", L["Totem's Normal/Buffed Alpha"], self.AlphaPanel, 0.1, 1, 0.01,x,y,UpdateAlpha) |
y = self:createSlider("TotemUnbuffedAlpha", L["Totem's Unbuffed Alpha"], self.AlphaPanel, 0.1, 1, 0.01,x,y,UpdateAlpha) |
y = self:createSlider("BackgroundAlpha", "Main window Alpha", self.AlphaPanel, 0.1, 1, 0.01,x,y,UpdateAlpha) |
y = self:createSlider("ButtonsAlpha", "Main Windows Buttons", self.AlphaPanel, 0.1, 1, 0.01,x,y,UpdateAlpha) |
y = self:createSlider("WarningsAlpha", "Warning icons Alpha", self.AlphaPanel, 0.1, 1, 0.01,x,y,UpdateAlpha) |
y = self:createSlider("PlayerNameAlpha", "Player Name Alpha", self.AlphaPanel, 0.1, 1, 0.01,x,y,UpdateAlpha) |
y = self:createSlider("TotemNormalAlpha", "Totem's Normal/Buffed Alpha", self.AlphaPanel, 0.1, 1, 0.01,x,y,UpdateAlpha) |
y = self:createSlider("TotemUnbuffedAlpha", "Totem's Unbuffed Alpha", self.AlphaPanel, 0.1, 1, 0.01,x,y,UpdateAlpha) |
InterfaceOptions_AddCategory(self.AlphaPanel); |
------------------------------------- |
--------- Totems Panel ------------- |
------------------------------------- |
self.TotemsPanel = CreateFrame( "Frame", "TotemGuruSettingsGUI-Totems", UIParent ); |
self.TotemsPanel.name = L["Totem Priorites"]; |
self.TotemsPanel.name = "Totem Priorites"; |
self.TotemsPanel.parent = self.mainPanel.name |
self.TotemsPanel.title = FrameTitle(self.mainPanel.name,self.TotemsPanel) |
self.TotemsPanel.subtitle1 = FrameSubtitle(L["Set the order in which totems will be warned"],self.TotemsPanel) |
self.TotemsPanel.subtitle1 = FrameSubtitle("Set the order in which totems will be warned",self.TotemsPanel) |
self:createTotemsWindow("TotemGuruTotemPriorities", "blah blah", self.TotemsPanel ) |
InterfaceOptions_AddCategory(self.TotemsPanel); |
--------- Assignment Panel ------------- |
------------------------------------- |
self.AssignmentPanel = CreateFrame( "Frame", "TotemGuruSettingsGUI-Assignment", UIParent ); |
self.AssignmentPanel.name = L["Totem Assignments"]; |
self.AssignmentPanel.name = "Totem Assignments"; |
self.AssignmentPanel.parent = self.mainPanel.name |
self.AssignmentPanel.title = FrameTitle(self.mainPanel.name,self.AssignmentPanel) |
self.AssignmentPanel.subtitle1 = FrameSubtitle(L["Set the totems for all shamans in the group"],self.AssignmentPanel) |
self.AssignmentPanel.subtitle1 = FrameSubtitle("Set the totems for all shamans in the group",self.AssignmentPanel) |
self:createTotemsWindow("TotemGuruTotemPriorities", "blah blah", self.TotemsPanel ) |
x = 140 |
y = -100 |
y = self:createButton("Assign",L["Assign"],x,y,self.AssignmentPanel,TotemGuruAssignments_LoadWindow) |
y = self:createButton("ShowButton",L["TotemBar"],x,y,self.AssignmentPanel,TotemGuruwindows_SingleButtonCast) |
y = self:createButton("Assign","Assign",x,y,self.AssignmentPanel,TotemGuruAssignments_LoadWindow) |
y = self:createButton("ShowButton","TotemBar",x,y,self.AssignmentPanel,TotemGuruwindows_SingleButtonCast) |
y = self:CreateMulticastDropdown(x-40,y-10) |
--InterfaceOptions_AddCategory(self.AssignmentPanel); |
slider:SetValueStep(step) |
slider:SetPoint("TOPLEFT", parent, "TOPLEFT",x,y) |
getglobal(name .. 'Text'):SetText(title) |
getglobal(name .. 'Low'):SetText(L["less"]) |
getglobal(name .. 'High'):SetText(L["more"]) |
getglobal(name .. 'Low'):SetText('less') |
getglobal(name .. 'High'):SetText('more') |
slider:SetValue(TotemGuruConfig[variable]) |
BlizzardOptionsPanel_Slider_Enable(slider) --colors the slider properly |
return (y-45) |
frame.titletext:SetText(title) |
if TotemGuruConfig and TotemGuruConfig.Monitor then |
if TotemGuruConfig.Monitor.Raid then |
getglobal("MonitorTypeDropDownFrameText"):SetText(L["Raid"]) |
getglobal("MonitorTypeDropDownFrameText"):SetText("Raid") |
elseif TotemGuruConfig.Monitor.Party then |
getglobal("MonitorTypeDropDownFrameText"):SetText(L["Party"]) |
getglobal("MonitorTypeDropDownFrameText"):SetText("Party") |
elseif TotemGuruConfig.Monitor.All then |
getglobal("MonitorTypeDropDownFrameText"):SetText(L["All"]) |
getglobal("MonitorTypeDropDownFrameText"):SetText("All") |
end |
end |
UIDropDownMenu_Initialize(frame, CreateMonitorMenu) |
-- CreateMonitorMenu -- |
----------------------- |
function CreateMonitorMenu() |
TotemGuruSettingsGUI.info.text = L["Raid"]; |
TotemGuruSettingsGUI.info.text = "Raid"; |
TotemGuruSettingsGUI.info.value = someglobalvariable; |
TotemGuruSettingsGUI.info.func = function () |
TotemGuruConfig.Monitor = {All = false,Party = false,Raid = true} |
getglobal("MonitorTypeDropDownFrameText"):SetText(L["Raid"]) |
getglobal("MonitorTypeDropDownFrameText"):SetText("Raid") |
end |
UIDropDownMenu_AddButton(TotemGuruSettingsGUI.info); |
TotemGuruSettingsGUI.info.text = L["Party"]; |
TotemGuruSettingsGUI.info.text = "Party"; |
TotemGuruSettingsGUI.info.value = someglobalvariable; |
TotemGuruSettingsGUI.info.func = function () |
TotemGuruConfig.Monitor = {All = false,Party = true,Raid = false} |
getglobal("MonitorTypeDropDownFrameText"):SetText(L["Party"]) |
getglobal("MonitorTypeDropDownFrameText"):SetText("Party") |
end |
UIDropDownMenu_AddButton(TotemGuruSettingsGUI.info); |
TotemGuruSettingsGUI.info.text = L["All"]; |
TotemGuruSettingsGUI.info.text = "All"; |
TotemGuruSettingsGUI.info.value = someglobalvariable; |
TotemGuruSettingsGUI.info.func = function () |
TotemGuruConfig.Monitor = {All = true,Party = false,Raid = false} |
getglobal("MonitorTypeDropDownFrameText"):SetText(L["All"]) |
getglobal("MonitorTypeDropDownFrameText"):SetText("All") |
end |
UIDropDownMenu_AddButton(TotemGuruSettingsGUI.info); |
end |
totemWindow[("TitleFontstring")] = fontstring |
fontstring:SetFontObject('GameFontNormal') |
fontstring:SetJustifyH("MIDDLE") |
fontstring:SetText(L["Click to warn for missing Totems\nRows are number of players/Priority. \nThis will only show warnings for the number of players \ncurrently active in the main window"]) |
fontstring:SetText("Click to warn for missing Totems\nRows are number of players/Priority. \nThis will only show warnings for the number of players \ncurrently active in the main window") |
end |
TotemGuru_TotemsWindow_Redraw() |
end |
totemWindow.TitleFontstring:SetPoint("TOPLEFT", totemWindow, "TOPLEFT", 0,-60) |
totemWindow.TitleFontstring:SetPoint("TOPRIGHT", totemWindow, "TOPRIGHT", 0, -60) |
totemWindow.TitleFontstring:SetFontObject('GameFontNormal') |
end |
end |
--------------------------------------------------- |
---------- main window functions ------------------ |
--------------------------------------------------- |
local _, L = ...; |
----------------------- |
-- TotemGuruMain_OnLoad |