Mercurial > wow > ouroloot
comparison verbage.lua @ 96:780b7e0eeeeb
Break the options panel out of gui.lua into new options.lua. Move default item lists from verbage.lua there also. Redo options panel as a tree instead of a massive scrolling thing, and prepare data structures to let plugins/etc add their own options code.
| author | Farmbuyer of US-Kilrogg <farmbuyer@gmail.com> |
|---|---|
| date | Thu, 26 Jul 2012 20:46:00 +0000 |
| parents | 3546c7b55986 |
| children | ba5ff82dcf19 |
comparison
equal
deleted
inserted
replaced
| 95:3546c7b55986 | 96:780b7e0eeeeb |
|---|---|
| 1 local addon = select(2,...) | 1 local addon = select(2,...) |
| 2 if addon.NOLOAD then return end | 2 if addon.NOLOAD then return end |
| 3 | |
| 4 -- Don't bother recording any of this loot: | |
| 5 addon.default_itemfilter = { | |
| 6 -- could probably remove most of this now | |
| 7 -- [29434] = true, -- Badge of Justice | |
| 8 -- [40752] = true, -- Emblem of Heroism | |
| 9 -- [40753] = true, -- Emblem of Valor | |
| 10 -- [45624] = true, -- Emblem of Conquest | |
| 11 -- [43228] = true, -- Stone Keeper's Shard | |
| 12 -- [47241] = true, -- Emblem of Triumph | |
| 13 -- [49426] = true, -- Emblem of Frost | |
| 14 } | |
| 15 | |
| 16 -- Mark these as straight to guild vault: | |
| 17 addon.default_itemvault = { | |
| 18 [52078] = true, -- Chaos Orb | |
| 19 [69237] = true, -- Living Ember | |
| 20 [71998] = true, -- Essence of Destruction | |
| 21 } | |
| 22 | 3 |
| 23 local todo = [[ | 4 local todo = [[ |
| 24 - Right-clicking the [ouroloot] chat link could do something different than | 5 - Right-clicking the [ouroloot] chat link could do something different than |
| 25 the current left-clicking. Popup small menu in place? | 6 the current left-clicking. Popup small menu in place? |
| 26 | 7 |
| 30 | 11 |
| 31 - Being able to drag rows up and down the main loot grid would be awesome. Coding | 12 - Being able to drag rows up and down the main loot grid would be awesome. Coding |
| 32 that would be likely to drive me batshiat insane. | 13 that would be likely to drive me batshiat insane. |
| 33 ]] | 14 ]] |
| 34 | 15 |
| 35 addon.helptree = { | 16 local helptree = { |
| 36 { | 17 { |
| 37 value = "about", | 18 value = "about", |
| 38 text = "About", | 19 text = "About", |
| 39 }, | 20 }, |
| 40 { | 21 { |
| 118 } | 99 } |
| 119 | 100 |
| 120 -- Help text. Formatting doesn't matter, but use a blank line to split | 101 -- Help text. Formatting doesn't matter, but use a blank line to split |
| 121 -- paragraphs. This file needs to be edited with a text editor that doesn't | 102 -- paragraphs. This file needs to be edited with a text editor that doesn't |
| 122 -- do anything stupid by placing extra spaces at the end of lines. | 103 -- do anything stupid by placing extra spaces at the end of lines. |
| 104 local helptext | |
| 123 do | 105 do |
| 124 local replacement_colors = { | 106 local replacement_colors = { |
| 125 ["+"]="|cff30adff", -- blue: right-click options, control panel names | 107 ["+"]="|cff30adff", -- blue: right-click options, control panel names |
| 126 ["<"]="|cff00ff00", -- light green, tab titles and generic highlighting | 108 ["<"]="|cff00ff00", -- light green, tab titles and generic highlighting |
| 127 [">"]="|r" } | 109 [">"]="|r" } |
| 581 T.todo_todolist = todo | 563 T.todo_todolist = todo |
| 582 | 564 |
| 583 | 565 |
| 584 -- Fill out the table that will actually be used. Join adjacent lines here so | 566 -- Fill out the table that will actually be used. Join adjacent lines here so |
| 585 -- that they'll wrap properly. | 567 -- that they'll wrap properly. |
| 586 addon.helptext = {} | 568 helptext = {} |
| 587 for k,text in pairs(T) do | 569 for k,text in pairs(T) do |
| 588 local funkykey = k:gsub('_','\001') -- this is how TreeGroup makes unique keys | 570 local funkykey = k:gsub('_','\001') -- this is how TreeGroup makes unique keys |
| 589 local wrapped = text | 571 local wrapped = text |
| 590 wrapped = wrapped:gsub ("[%+<>]", replacement_colors) | 572 wrapped = wrapped:gsub ("[%+<>]", replacement_colors) |
| 591 wrapped = wrapped:gsub ("([^\n])\n([^\n])", "%1 %2") | 573 wrapped = wrapped:gsub ("([^\n])\n([^\n])", "%1 %2") |
| 592 --safeprint(wrapped) | 574 --safeprint(wrapped) |
| 593 wrapped = wrapped:gsub ("|r\n\n", "|r\n") | 575 wrapped = wrapped:gsub ("|r\n\n", "|r\n") |
| 594 wrapped = wrapped:gsub ("Ouroboros", "|cffa335ee<Ouroboros>|r") | 576 wrapped = wrapped:gsub ("Ouroboros", "|cffa335ee<Ouroboros>|r") |
| 595 --safeprint(wrapped) | 577 --safeprint(wrapped) |
| 596 wrapped = wrapped:gsub ("%*%(", "<") :gsub("%)%*", ">") :gsub(":PLUS:", "+") | 578 wrapped = wrapped:gsub ("%*%(", "<") :gsub("%)%*", ">") :gsub(":PLUS:", "+") |
| 597 addon.helptext[funkykey] = wrapped | 579 helptext[funkykey] = wrapped |
| 598 end | 580 end |
| 599 end -- do scope | 581 end -- do scope |
| 600 todo = nil | 582 todo = nil |
| 601 | 583 |
| 602 | 584 |
| 608 local status_for_scroll = {} | 590 local status_for_scroll = {} |
| 609 local status_for_select = { treewidth = 145 } | 591 local status_for_select = { treewidth = 145 } |
| 610 | 592 |
| 611 -- Clicking an entry on the left tree column. | 593 -- Clicking an entry on the left tree column. |
| 612 local help_OnGroupSelected_func = function (treeg,event,category) | 594 local help_OnGroupSelected_func = function (treeg,event,category) |
| 595 -- Some way of just reusing the same Label widget when clicking | |
| 596 -- different topics? | |
| 613 treeg:ReleaseChildren() | 597 treeg:ReleaseChildren() |
| 614 local txt = AceGUI:Create("Label") | 598 local txt = AceGUI:Create("Label") |
| 615 txt:SetFullWidth(true) | 599 txt:SetFullWidth(true) |
| 616 txt:SetFontObject(GameFontNormal)--Highlight) | 600 txt:SetFontObject(GameFontNormal)--Highlight) |
| 617 txt:SetText(addon.helptext[category]) | 601 txt:SetText(helptext[category]) |
| 618 local sf = AceGUI:Create("ScrollFrame") | 602 local sf = AceGUI:Create("ScrollFrame") |
| 619 sf:SetStatusTable(status_for_scroll) | 603 sf:SetStatusTable(status_for_scroll) |
| 620 sf:SetLayout("Fill") | 604 sf:SetLayout("Fill") |
| 621 -- This forces the scrolling area to be bigger than the visible area; else | 605 -- This forces the scrolling area to be bigger than the visible area; else |
| 622 -- some of the text gets cut off without ever triggering the scrollbar. | 606 -- some of the text gets cut off without ever triggering the scrollbar. |
| 640 left:SetStatusTable(status_for_select) | 624 left:SetStatusTable(status_for_select) |
| 641 left:SetLayout("Fill") | 625 left:SetLayout("Fill") |
| 642 left:SetFullWidth(true) | 626 left:SetFullWidth(true) |
| 643 left:SetFullHeight(true) | 627 left:SetFullHeight(true) |
| 644 left:EnableButtonTooltips(false) | 628 left:EnableButtonTooltips(false) |
| 645 left:SetTree(addon.helptree) | 629 left:SetTree(helptree) |
| 646 left:SetCallback("OnGroupSelected", help_OnGroupSelected_func) | 630 left:SetCallback("OnGroupSelected", help_OnGroupSelected_func) |
| 647 container:AddChild(left) | 631 container:AddChild(left) |
| 648 if status_for_select.selected then | 632 if status_for_select.selected then |
| 649 left:SetUserData("help restore scroll", true) | 633 left:SetUserData("help restore scroll", true) |
| 650 left:SelectByValue(status_for_select.selected) | 634 left:SelectByValue(status_for_select.selected) |
