From df2f122f4be8578177e6b36b35fa0a809a3d321e Mon Sep 17 00:00:00 2001 From: Adrian L Lange Date: Sat, 5 Sep 2009 15:41:20 +0200 Subject: [PATCH] Clean up the config a bit --- Config.lua | 93 +++++++++++++++++++++++++----------------------------------- 1 file changed, 38 insertions(+), 55 deletions(-) diff --git a/Config.lua b/Config.lua index f5fc5b2..8d1b9d0 100644 --- a/Config.lua +++ b/Config.lua @@ -69,20 +69,17 @@ local function dropFontflag(orig) end end -local config = CreateFrame('Frame', nil, InterfaceOptionsFramePanelContainer) -config.name = 'pMinimap' -config:Hide() -config:SetScript('OnShow', function(self) - local title, subtitle = LibStub('tekKonfig-Heading').new(self, self.name, GetAddOnMetadata(self.name, 'Notes')) - - self:SetScript('OnShow', nil) -end) - -local minimapgroup = CreateFrame('Frame', nil, InterfaceOptionsFramePanelContainer) -minimapgroup.name = 'Minimap' -minimapgroup.parent = config.name -minimapgroup.addonname = config.name -minimapgroup:SetScript('OnShow', function(self) +local function config(self) + local header = LibStub('tekKonfig-Heading').new(self, self.name) + + local info = self:CreateFontString(nil, 'OVERLAY', 'GameFontHighlightLeft') + info:SetPoint('TOPLEFT', header, 0, 100) + info:SetWidth(300) + info:SetHeight(400) + info:SetText('Use the colums in the menu to the left to access the options.\n\nThis is most likely temporary, and will be cleaned up later.\n\n\nPlease visit the addon page over at\n|cff8080ffhttp://wowinterface.com/|r for more information and to ask for questions/report bugs.\n\nEnjoy!') +end + +local function minimap(self) local scale, scaletext = slider.new(self, format('Scale: %.2f', pMinimapDB.scale), 0.5, 2.5, 'TOPLEFT', self, 15, -15) scale:SetValueStep(0.01) scale:SetValue(pMinimapDB.scale) @@ -117,15 +114,9 @@ minimapgroup:SetScript('OnShow', function(self) Minimap:SetBackdropColor(unpack(pMinimapDB.bordercolors)) end end) +end - self:SetScript('OnShow', nil) -end) - -local modulesgroup = CreateFrame('Frame', nil, InterfaceOptionsFramePanelContainer) -modulesgroup.name = 'Modules' -modulesgroup.parent = config.name -modulesgroup.addonname = config.name -modulesgroup:SetScript('OnShow', function(self) +local function modules(self) local coordinates = checkbox.new(self, 22, 'Coordinates', 'TOPLEFT', self, 10, -10) coordinates:SetChecked(pMinimapDB.coordinates) coordinates:SetScript('OnClick', function() @@ -205,15 +196,9 @@ modulesgroup:SetScript('OnShow', function(self) Minimap:SetBackdropColor(unpack(pMinimapDB.bordercolors)) end end) +end - self:SetScript('OnShow', nil) -end) - -local backgroundgroup = CreateFrame('Frame', nil, InterfaceOptionsFramePanelContainer) -backgroundgroup.name = 'Background' -backgroundgroup.parent = config.name -backgroundgroup.addonname = config.name -backgroundgroup:SetScript('OnShow', function(self) +local function background(self) local borderoffset, borderoffsettext = slider.new(self, 'Thickness: '..pMinimapDB.borderoffset, 0, 10, 'TOPLEFT', self, 15, -15) borderoffset:SetValueStep(1/2) borderoffset:SetValue(pMinimapDB.borderoffset) @@ -225,15 +210,9 @@ backgroundgroup:SetScript('OnShow', function(self) end) -- todo: color palette +end - self:SetScript('OnShow', nil) -end) - -local zonegroup = CreateFrame('Frame', nil, InterfaceOptionsFramePanelContainer) -zonegroup.name = 'Zone' -zonegroup.parent = config.name -zonegroup.addonname = config.name -zonegroup:SetScript('OnShow', function(self) +local function zone(self) local zone = checkbox.new(self, 22, 'Zone Toggle', 'TOPLEFT', self, 10, -10) zone:SetChecked(pMinimapDB.zone) zone:SetScript('OnClick', function() @@ -260,22 +239,16 @@ zonegroup:SetScript('OnShow', function(self) MinimapZoneTextButton:ClearAllPoints() MinimapZoneTextButton:SetPoint(pMinimapDB.zonepoint == 'TOP' and 'BOTTOM' or 'TOP', Minimap, pMinimapDB.zonepoint, 0, value) end) +end - self:SetScript('OnShow', nil) -end) - -local fontsgroup = CreateFrame('Frame', nil, InterfaceOptionsFramePanelContainer) -fontsgroup.name = 'Fonts' -fontsgroup.parent = config.name -fontsgroup.addonname = config.name -fontsgroup:SetScript('OnShow', function(self) +local function fonts(self) local font, fonttext, fontcontainer = dropdown.new(self, 'Font', 'TOPLEFT', self, 10, -4) font:SetWidth(180) font.text = fonttext font.text:SetText(pMinimapDB.font) UIDropDownMenu_Initialize(font, dropFont) - local fontflag, fontflagtext = dropdown.new(self, 'Font Flag', 'BOTTOMLEFT', self, 10, 4) + local fontflag, fontflagtext = dropdown.new(self, 'Font Flag', 'TOPLEFT', font, 'BOTTOMLEFT', 15, 0) fontflag:SetWidth(180) fontflag.text = fontflagtext fontflag.text:SetText(pMinimapDB.fontflag) @@ -289,13 +262,23 @@ fontsgroup:SetScript('OnShow', function(self) fontsizetext:SetFormattedText('Font Size: %d', value) updateStrings() end) +end + +local function spawn(name, func, parent) + local group = CreateFrame('Frame', nil, InterfaceOptionsFramePanelContainer) + group.name = name + group.parent = parent and 'pMinimap' + group.addonname = parent and 'pMinimap' + group:SetScript('OnShow', func) + group:HookScript('OnShow', function(self) self:SetScript('OnShow', nil) end) - self:SetScript('OnShow', nil) -end) + InterfaceOptions_AddCategory(group) + return group +end -InterfaceOptions_AddCategory(config) -InterfaceOptions_AddCategory(minimapgroup) -InterfaceOptions_AddCategory(modulesgroup) -InterfaceOptions_AddCategory(backgroundgroup) -InterfaceOptions_AddCategory(zonegroup) -InterfaceOptions_AddCategory(fontsgroup) +spawn('pMinimap', config):Hide() +spawn('Minimap', minimap, true) +spawn('Modules', modules, true) +spawn('Background', background, true) +spawn('Zone', zone, true) +spawn('Fonts', fonts, true) -- 1.7.9.5