comparison Options.lua @ 57:01b63b8ed811 v21

total rewrite to version 21
author yellowfive
date Fri, 05 Jun 2015 11:05:15 -0700
parents
children cf2b6b9a8337
comparison
equal deleted inserted replaced
56:75431c084aa0 57:01b63b8ed811
1 local Amr = LibStub("AceAddon-3.0"):GetAddon("AskMrRobot")
2 local L = LibStub("AceLocale-3.0"):GetLocale("AskMrRobot", true)
3 local AceGUI = LibStub("AceGUI-3.0")
4
5 local _chkMinimap
6 local _chkAutoGear
7 local _chkAh
8
9 local function onCheckClick(widget)
10 local setting = widget:GetUserData("setting")
11 local val = widget:GetChecked()
12
13 if setting == "minimap" then
14 Amr.db.profile.minimap.hide = val
15 else
16 Amr.db.profile.options[setting] = val
17 end
18
19 Amr:RefreshConfig()
20 end
21
22 local function onChkMinimapClick()
23 Amr.db.profile.minimap.hide = _chkMinimap:GetChecked()
24 Amr:RefreshConfig()
25 end
26
27 local function createCheck(container, setting, text, description)
28
29 local chk = AceGUI:Create("AmrUiCheckBox")
30 chk:SetUserData("setting", setting)
31 chk:SetText(text)
32 chk:SetCallback("OnClick", onCheckClick)
33 container:AddChild(chk)
34
35 local desc = AceGUI:Create("AmrUiLabel")
36 desc:SetWidth(800)
37 desc:SetText(description)
38 desc:SetFont(Amr.CreateFont("Italic", 12, Amr.Colors.TextTan))
39 desc:SetPoint("TOPLEFT", chk.frame, "BOTTOMLEFT", 24, -3)
40 container:AddChild(desc)
41
42 return chk, desc
43 end
44
45 -- renders the main UI for the Combat Log tab
46 function Amr:RenderTabOptions(container)
47
48 local header = AceGUI:Create("AmrUiLabel")
49 header:SetWidth(600)
50 header:SetText(L.OptionsHeaderGeneral)
51 header:SetFont(Amr.CreateFont("Bold", 24, Amr.Colors.TextHeaderActive))
52 header:SetPoint("TOPLEFT", container.content, "TOPLEFT", 12, -40)
53 container:AddChild(header)
54
55 local desc, desc2
56
57 _chkMinimap, desc = createCheck(container, "minimap", L.OptionsHideMinimapName, L.OptionsHideMinimapDesc)
58 _chkMinimap:SetPoint("TOPLEFT", header.frame, "BOTTOMLEFT", 0, -20)
59
60 _chkAutoGear, desc2 = createCheck(container, "autoGear", L.OptionsAutoGearName, L.OptionsAutoGearDesc)
61 _chkAutoGear:SetPoint("TOPLEFT", desc.frame, "BOTTOMLEFT", -24, -20)
62
63 _chkAh, desc = createCheck(container, "shopAh", L.OptionsShopAhName, L.OptionsShopAhDesc)
64 _chkAh:SetPoint("TOPLEFT", desc2.frame, "BOTTOMLEFT", -24, -20)
65
66 -- initialize state of controls
67 Amr:RefreshOptionsUi()
68 end
69
70 function Amr:ReleaseTabOptions()
71 _chkMinimap = nil
72 end
73
74 function Amr:RefreshOptionsUi()
75
76 if _chkMinimap then
77 _chkMinimap:SetChecked(self.db.profile.minimap.hide)
78 end
79
80 if _chkAutoGear then
81 _chkAutoGear:SetChecked(self.db.profile.options.autoGear)
82 end
83
84 if _chkAh then
85 _chkAh:SetChecked(self.db.profile.options.shopAh)
86 end
87 end