From 3c158ff7e760941bd7eaa41c203fa61b80e69661 Mon Sep 17 00:00:00 2001 From: Adrian L Lange Date: Tue, 11 Aug 2009 17:03:04 +0200 Subject: [PATCH] Use categories for options Temporary? --- Config.lua | 87 +++++++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 57 insertions(+), 30 deletions(-) diff --git a/Config.lua b/Config.lua index 5c4f9f3..2d018df 100644 --- a/Config.lua +++ b/Config.lua @@ -69,17 +69,21 @@ local function dropFontflag(orig) end end -local addon = CreateFrame('Frame', nil, InterfaceOptionsFramePanelContainer) -addon.name = 'pMinimap' -addon:Hide() -addon:SetScript('OnShow', function(self) - local title, subtitle = LibStub('tekKonfig-Heading').new(self, self.name, 'Here you will be able to change various settings') +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')) - local group1 = group.new(self, 'Minimap', 'TOPLEFT', subtitle, 'BOTTOMLEFT') - group1:SetHeight(120) - group1:SetWidth(370) + self:SetScript('OnShow', nil) +end) - local scale, scaletext = slider.new(self, format('Scale: %.2f', pMinimap.db.scale), 0.5, 2.5, 'TOPLEFT', group1, 15, -15) +local minimapgroup = CreateFrame('Frame', nil, InterfaceOptionsFramePanelContainer) +minimapgroup.name = 'Minimap' +minimapgroup.parent = config.name +minimapgroup.addonname = config.name +minimapgroup:SetScript('OnShow', function(self) + local scale, scaletext = slider.new(self, format('Scale: %.2f', pMinimap.db.scale), 0.5, 2.5, 'TOPLEFT', self, 15, -15) scale:SetValueStep(0.01) scale:SetValue(pMinimap.db.scale) scale:SetScript('OnValueChanged', function(self, value) @@ -114,11 +118,15 @@ addon:SetScript('OnShow', function(self) end end) - local group2 = group.new(self, 'Modules', 'TOPLEFT', group1, 'BOTTOMLEFT', 0, -20) - group2:SetHeight(105) - group2:SetWidth(370) + self:SetScript('OnShow', nil) +end) - local coordinates = checkbox.new(self, 22, 'Coordinates', 'TOPLEFT', group2, 10, -10) +local modulesgroup = CreateFrame('Frame', nil, InterfaceOptionsFramePanelContainer) +modulesgroup.name = 'Modules' +modulesgroup.parent = config.name +modulesgroup.addonname = config.name +modulesgroup:SetScript('OnShow', function(self) + local coordinates = checkbox.new(self, 22, 'Coordinates', 'TOPLEFT', self, 10, -10) coordinates:SetChecked(pMinimap.db.coordinates) coordinates:SetScript('OnClick', function() pMinimap.db.coordinates = not pMinimap.db.coordinates @@ -137,7 +145,7 @@ addon:SetScript('OnShow', function(self) end end) - local coordinatesdecimals, cdtext = slider.new(self, 'Coord Decimals: '..pMinimap.db.coordinatesdecimals, 0, 3, 'TOPRIGHT', group2, -15, -15) + local coordinatesdecimals, cdtext = slider.new(self, 'Coord Decimals: '..pMinimap.db.coordinatesdecimals, 0, 3, 'TOPRIGHT', self, -15, -15) coordinatesdecimals:SetValueStep(1) coordinatesdecimals:SetValue(pMinimap.db.coordinatesdecimals) coordinatesdecimals:SetScript('OnValueChanged', function(self, value) @@ -198,11 +206,15 @@ addon:SetScript('OnShow', function(self) end end) - local group3 = group.new(self, 'Background', 'TOPLEFT', group2, 'BOTTOMLEFT', 0, -20) - group3:SetHeight(60) - group3:SetWidth(370) + self:SetScript('OnShow', nil) +end) - local borderoffset, borderoffsettext = slider.new(self, 'Thickness: '..pMinimap.db.borderoffset, 0, 10, 'TOPLEFT', group3, 15, -15) +local backgroundgroup = CreateFrame('Frame', nil, InterfaceOptionsFramePanelContainer) +backgroundgroup.name = 'Background' +backgroundgroup.parent = config.name +backgroundgroup.addonname = config.name +backgroundgroup:SetScript('OnShow', function(self) + local borderoffset, borderoffsettext = slider.new(self, 'Thickness: '..pMinimap.db.borderoffset, 0, 10, 'TOPLEFT', self, 15, -15) borderoffset:SetValueStep(1/2) borderoffset:SetValue(pMinimap.db.borderoffset) borderoffset:SetScript('OnValueChanged', function(self, value) @@ -212,11 +224,17 @@ addon:SetScript('OnShow', function(self) Minimap:SetBackdropColor(unpack(pMinimap.db.bordercolors)) end) - local group4 = group.new(self, 'Zone', 'TOPLEFT', group3, 'BOTTOMLEFT', 0, -20) - group4:SetHeight(95) - group4:SetWidth(370) + -- todo: color palette - local zone = checkbox.new(self, 22, 'Zone Toggle', 'TOPLEFT', group4, 10, -10) + 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 zone = checkbox.new(self, 22, 'Zone Toggle', 'TOPLEFT', self, 10, -10) zone:SetChecked(pMinimap.db.zone) zone:SetScript('OnClick', function() pMinimap.db.zone = not pMinimap.db.zone @@ -233,7 +251,7 @@ addon:SetScript('OnShow', function(self) zonepoint.text:SetText(pMinimap.db.zonepoint) UIDropDownMenu_Initialize(zonepoint, dropZone) - local zoneoffset, zoneoffsettext = slider.new(self, 'Zone Offset: '..pMinimap.db.zoneoffset, -25, 25, 'TOPRIGHT', group4, -15, -15) + local zoneoffset, zoneoffsettext = slider.new(self, 'Zone Offset: '..pMinimap.db.zoneoffset, -25, 25, 'TOPRIGHT', self, -15, -15) zoneoffset:SetValueStep(1) zoneoffset:SetValue(pMinimap.db.zoneoffset) zoneoffset:SetScript('OnValueChanged', function(self, value) @@ -243,23 +261,27 @@ addon:SetScript('OnShow', function(self) MinimapZoneTextButton:SetPoint(pMinimap.db.zonepoint == 'TOP' and 'BOTTOM' or 'TOP', Minimap, pMinimap.db.zonepoint, 0, value) end) - local group5 = group.new(self, 'Fonts', 'TOPLEFT', group4, 'BOTTOMLEFT', 0, -20) - group5:SetHeight(110) - group5:SetWidth(370) + self:SetScript('OnShow', nil) +end) - local font, fonttext, fontcontainer = dropdown.new(self, 'Font', 'TOPLEFT', group5, 10, -4) +local fontsgroup = CreateFrame('Frame', nil, InterfaceOptionsFramePanelContainer) +fontsgroup.name = 'Fonts' +fontsgroup.parent = config.name +fontsgroup.addonname = config.name +fontsgroup:SetScript('OnShow', function(self) + local font, fonttext, fontcontainer = dropdown.new(self, 'Font', 'TOPLEFT', self, 10, -4) font:SetWidth(180) font.text = fonttext font.text:SetText(pMinimap.db.font) UIDropDownMenu_Initialize(font, dropFont) - local fontflag, fontflagtext = dropdown.new(self, 'Font Flag', 'BOTTOMLEFT', group5, 10, 4) + local fontflag, fontflagtext = dropdown.new(self, 'Font Flag', 'BOTTOMLEFT', self, 10, 4) fontflag:SetWidth(180) fontflag.text = fontflagtext fontflag.text:SetText(pMinimap.db.fontflag) UIDropDownMenu_Initialize(fontflag, dropFontflag) - local fontsize, fontsizetext = slider.new(self, 'Font Size'..pMinimap.db.fontsize, 5, 18, 'TOPRIGHT', group5, -15, -15) + local fontsize, fontsizetext = slider.new(self, 'Font Size'..pMinimap.db.fontsize, 5, 18, 'TOPRIGHT', self, -15, -15) fontsize:SetValueStep(1) fontsize:SetValue(pMinimap.db.fontsize) fontsize:SetScript('OnValueChanged', function(self, value) @@ -271,4 +293,9 @@ addon:SetScript('OnShow', function(self) self:SetScript('OnShow', nil) end) -InterfaceOptions_AddCategory(addon) +InterfaceOptions_AddCategory(config) +InterfaceOptions_AddCategory(minimapgroup) +InterfaceOptions_AddCategory(modulesgroup) +InterfaceOptions_AddCategory(backgroundgroup) +InterfaceOptions_AddCategory(zonegroup) +InterfaceOptions_AddCategory(fontsgroup) -- 1.7.9.5