Mercurial > wow > ouroloot
comparison options.lua @ 102:fe04f5c4114a
- expiring cache callback arg, handle new entries coming in during the
same loop at the previous ones ALL being removed
TODO: rework other "candidate" caches to use this instead
- raider snapshots use string tokens for 'online' field
- document callback args
- CheckBoxSmallLabel preemptively apply proposed fix for ace3 ticket 304
- now that option toggles are not wedged into tight space, revert to
using standard CheckBox widget instead of small-label variant
(go back if ticket 304 is not fixed for release)
author | Farmbuyer of US-Kilrogg <farmbuyer@gmail.com> |
---|---|
date | Sat, 04 Aug 2012 22:03:05 +0000 |
parents | f7162a1cadc7 |
children | dc8a23a47b03 |
comparison
equal
deleted
inserted
replaced
101:f7162a1cadc7 | 102:fe04f5c4114a |
---|---|
67 local opts | 67 local opts |
68 | 68 |
69 local error, assert = addon.error, addon.assert | 69 local error, assert = addon.error, addon.assert |
70 | 70 |
71 local function mktoggle (opt, label, width, desc, opt_func) | 71 local function mktoggle (opt, label, width, desc, opt_func) |
72 local w = mkbutton("CheckBoxSmallLabel", nil, "", desc) | 72 local w = mkbutton("CheckBox", nil, "", desc) |
73 w:SetRelativeWidth(width) | 73 w:SetRelativeWidth(width) |
74 w:SetType("checkbox") | 74 w:SetType("checkbox") |
75 w:SetLabel(label) | 75 w:SetLabel(label) |
76 if opt then | 76 if opt then |
77 w:SetValue(opts[opt]) | 77 w:SetValue(opts[opt]) |
508 local grp = AceGUI:Create("InlineGroup") | 508 local grp = AceGUI:Create("InlineGroup") |
509 grp:SetLayout("List") | 509 grp:SetLayout("List") |
510 grp:SetRelativeWidth(0.60) | 510 grp:SetRelativeWidth(0.60) |
511 grp:SetTitle("Output of debugging messages") | 511 grp:SetTitle("Output of debugging messages") |
512 | 512 |
513 w = AceGUI:Create("CheckBoxSmallLabel") | 513 w = AceGUI:Create("CheckBox") |
514 w:SetFullWidth(true) | 514 w:SetFullWidth(true) |
515 w:SetType("checkbox") | 515 w:SetType("checkbox") |
516 w:SetLabel("master toggle") | 516 w:SetLabel("master toggle") |
517 w:SetValue(addon.DEBUG_PRINT) | 517 w:SetValue(addon.DEBUG_PRINT) |
518 w:SetCallback("OnValueChanged", function(_w,event,value) | 518 w:SetCallback("OnValueChanged", function(_w,event,value) |
519 addon.DEBUG_PRINT = value | 519 addon.DEBUG_PRINT = value |
520 addon:redisplay() | 520 addon:redisplay() |
521 end) | 521 end) |
522 grp:AddChild(w) | 522 grp:AddChild(w) |
523 for d,v in pairs(addon.debug) do | 523 for d,v in pairs(addon.debug) do |
524 w = AceGUI:Create("CheckBoxSmallLabel") | 524 w = AceGUI:Create("CheckBox") |
525 w:SetFullWidth(true) | 525 w:SetFullWidth(true) |
526 w:SetType("checkbox") | 526 w:SetType("checkbox") |
527 w:SetLabel(d) | 527 w:SetLabel(d) |
528 if d == "notraid" then | 528 if d == "notraid" then |
529 w:SetDescription[[Tick this before enabling to make the addon work outside of raid groups]] | 529 w:SetDescription[[Tick this before enabling to make the addon work outside of raid groups]] |
547 | 547 |
548 do | 548 do |
549 local simple = AceGUI:Create("SimpleGroup") | 549 local simple = AceGUI:Create("SimpleGroup") |
550 simple:SetLayout("List") | 550 simple:SetLayout("List") |
551 simple:SetRelativeWidth(0.35) | 551 simple:SetRelativeWidth(0.35) |
552 w = AceGUI:Create("CheckBoxSmallLabel") | 552 w = AceGUI:Create("CheckBox") |
553 --w:SetRelativeWidth(0.35) | 553 --w:SetRelativeWidth(0.35) |
554 w:SetFullWidth(true) | 554 w:SetFullWidth(true) |
555 w:SetType("checkbox") | 555 w:SetType("checkbox") |
556 w:SetLabel("GOP history mode") | 556 w:SetLabel("GOP history mode") |
557 w:SetValue(addon.history_suppress) | 557 w:SetValue(addon.history_suppress) |
618 addon:Print("Now tracking ID",mod.creatureId) | 618 addon:Print("Now tracking ID",mod.creatureId) |
619 else | 619 else |
620 addon:Print("Can do nothing; DBM testing mod wasn't loaded.") | 620 addon:Print("Can do nothing; DBM testing mod wasn't loaded.") |
621 end | 621 end |
622 end) | 622 end) |
623 w:SetDisabled(addon.bossmod_registered ~= 'DBM') | 623 w:SetDisabled(addon.bossmod_registered ~= 'DBM') -- set by :Activate |
624 container:AddChild(w) | 624 container:AddChild(w) |
625 | 625 |
626 w = mkbutton("GC", [[full GC cycle]]) | 626 w = mkbutton("GC", [[full GC cycle]]) |
627 w:SetRelativeWidth(0.2) | 627 w:SetRelativeWidth(0.2) |
628 w:SetCallback("OnClick", function() | 628 w:SetCallback("OnClick", function() |
822 | 822 |
823 | 823 |
824 --[[ | 824 --[[ |
825 PLUGIN is the module table itself. (This does not actually have to be | 825 PLUGIN is the module table itself. (This does not actually have to be |
826 a plugin created with :[Constrained]NewModule, as long as it has a | 826 a plugin created with :[Constrained]NewModule, as long as it has a |
827 GetName method and other parameters here are used appropriately.) | 827 GetName method and |
828 - TEXT is passed | |
829 - if OPTIONS is a table, then OPTIONS.args.name exists | |
828 PARENT is nil to register in the tree list directly. | 830 PARENT is nil to register in the tree list directly. |
829 TEXT is either the text to display in the tree list, or nil to use the | 831 TEXT is either the text to display in the tree list, or nil to use the |
830 moduleName field out of PLUGIN (not :GetName()). | 832 moduleName field out of PLUGIN (not :GetName()). |
831 OPTIONS is either | 833 OPTIONS is either |
832 I) a function to call directly | 834 I) an aceconfig-style options table |
833 II) an aceconfig-style options table | 835 II) a function to call directly |
834 | 836 |
835 (I) Will augment options.args.name with coloring/sizing, if it exists. | 837 (I) Will augment options.args.name with coloring/sizing, if it exists. |
836 (Set options.args.name.name before registering.) Will create it if not | 838 (Set options.args.name.name before registering.) Will create it if not |
837 present. | 839 present. |
838 | 840 |
849 --if parent | 851 --if parent |
850 | 852 |
851 text = text or plugin.moduleName | 853 text = text or plugin.moduleName |
852 | 854 |
853 local handler | 855 local handler |
854 local pdb = self.db:GetNamespace (plugin.moduleName, --[[silent=]]true) | 856 local pdb = plugin.moduleName and |
857 self.db:GetNamespace (plugin.moduleName, --[[silent=]]true) | |
858 | |
855 if type(options) == 'table' then | 859 if type(options) == 'table' then |
856 -- AceConfig-style options table | 860 -- AceConfig-style options table |
857 aceconfig_list[code] = true | 861 aceconfig_list[code] = true |
858 if not options.args.name then | 862 if not options.args.name then |
859 options.args.name = { | 863 options.args.name = { |