comparison gui.lua @ 47:1070a14cfee4

Updated lib-st widget from WRDW. Properly notice new generating tabs. Updated help text.
author Farmbuyer of US-Kilrogg <farmbuyer@gmail.com>
date Sat, 28 Jan 2012 18:24:22 +0000
parents 0b1e703a6954
children fd3dd12f96ce
comparison
equal deleted inserted replaced
46:0b1e703a6954 47:1070a14cfee4
43 local flib = LibStub("LibFarmbuyer") 43 local flib = LibStub("LibFarmbuyer")
44 44
45 local g_loot = nil 45 local g_loot = nil
46 local g_generated = nil 46 local g_generated = nil
47 local window_title = "Ouro Loot" 47 local window_title = "Ouro Loot"
48 local dirty_tabs = nil
48 49
49 local pairs, ipairs, tinsert, tremove, tonumber = pairs, ipairs, table.insert, table.remove, tonumber 50 local pairs, ipairs, tinsert, tremove, tonumber = pairs, ipairs, table.insert, table.remove, tonumber
50 51
51 local pprint, tabledump = addon.pprint, flib.tabledump 52 local pprint, tabledump = addon.pprint, flib.tabledump
52 local GetItemInfo, ITEM_QUALITY_COLORS = GetItemInfo, ITEM_QUALITY_COLORS 53 local GetItemInfo, ITEM_QUALITY_COLORS = GetItemInfo, ITEM_QUALITY_COLORS
106 _tabtexts[text_type] = { title=title, desc=description } 107 _tabtexts[text_type] = { title=title, desc=description }
107 tinsert (_taborder, next_insertion_position, text_type) 108 tinsert (_taborder, next_insertion_position, text_type)
108 next_insertion_position = next_insertion_position + 1 109 next_insertion_position = next_insertion_position + 1
109 text_gen_funcs[text_type] = generator 110 text_gen_funcs[text_type] = generator
110 specials_gen_funcs[text_type] = opt_specgen 111 specials_gen_funcs[text_type] = opt_specgen
112 dirty_tabs = true
111 end 113 end
112 114
113 -- Called by tabs_generated_text_OGS 115 -- Called by tabs_generated_text_OGS
114 function _generate_text (text_type) 116 function _generate_text (text_type)
115 local f = text_gen_funcs[text_type] 117 local f = text_gen_funcs[text_type]
370 -- By default, tabs are editboxes with generated text 372 -- By default, tabs are editboxes with generated text
371 if not tabs_OnGroupSelected[v] then 373 if not tabs_OnGroupSelected[v] then
372 tabs_OnGroupSelected[v] = tabs_generated_text_OGS 374 tabs_OnGroupSelected[v] = tabs_generated_text_OGS
373 end 375 end
374 end 376 end
377 dirty_tabs = nil
375 end 378 end
376 379
377 --[[ 380 --[[
378 Dropdown menu handling 381 Dropdown menu handling
379 ]] 382 ]]
1788 if not label then 1791 if not label then
1789 opt_widget_type, opt_key, label, status = "Button", opt_widget_type, opt_widget_type, opt_key 1792 opt_widget_type, opt_key, label, status = "Button", opt_widget_type, opt_widget_type, opt_key
1790 elseif not status then 1793 elseif not status then
1791 opt_widget_type, opt_key, label, status = "Button", opt_widget_type, opt_key, label 1794 opt_widget_type, opt_key, label, status = "Button", opt_widget_type, opt_key, label
1792 end 1795 end
1793 local button = GUI:Create(opt_widget_type) 1796 local button = assert(GUI:Create(opt_widget_type))
1794 if button.SetText then button:SetText(tostring(label)) end 1797 if button.SetText then button:SetText(tostring(label)) end
1795 status = status:gsub("[%+<>]",replacement_colors) 1798 status = status:gsub("[%+<>]",replacement_colors)
1796 button:SetCallback("OnEnter", function() setstatus(status) end) -- maybe factor that closure out 1799 button:SetCallback("OnEnter", function() setstatus(status) end) -- maybe factor that closure out
1797 button:SetCallback("OnLeave", statusy_OnLeave) 1800 button:SetCallback("OnLeave", statusy_OnLeave)
1798 -- retrieval key may be specified as nil if all the parameters are given 1801 -- retrieval key may be specified as nil if all the parameters are given
1812 1815
1813 -- This probably causes taint... hm. 1816 -- This probably causes taint... hm.
1814 local prev_fade_time = UIDROPDOWNMENU_SHOW_TIME 1817 local prev_fade_time = UIDROPDOWNMENU_SHOW_TIME
1815 UIDROPDOWNMENU_SHOW_TIME = 4 1818 UIDROPDOWNMENU_SHOW_TIME = 4
1816 1819
1820 if dirty_tabs then
1821 self:gui_init(g_loot) -- pointer known to be good by now
1822 self:zero_printed_fenceposts()
1823 end
1824
1817 local display = GUI:Create("Frame") 1825 local display = GUI:Create("Frame")
1818 if _d then 1826 if _d then
1819 display:SetUserData("eoiST",_d) -- warning! warning! kludge detected! 1827 display:SetUserData("eoiST",_d) -- warning! warning! kludge detected!
1820 end 1828 end
1821 _d = display 1829 _d = display
1822 self.display = display 1830 self.display = display
1823 display:SetTitle(window_title) 1831 display:SetTitle(window_title)
1824 display:SetStatusText(self.status_text) 1832 display:SetStatusText(self.status_text)
1825 display:SetLayout("Flow") 1833 display:SetLayout("Flow")
1826 display:SetStatusTable{width=900,height=550} -- default height is 500 1834 display:SetStatusTable{width=900,height=550} -- default height is 500
1827 if display.EnableResize then -- FIXME after next Ace3 release, this can be assumed 1835 display:EnableResize(false)
1828 display:EnableResize(false)
1829 end
1830 display:SetCallback("OnClose", function(_display) 1836 display:SetCallback("OnClose", function(_display)
1831 UIDROPDOWNMENU_SHOW_TIME = prev_fade_time 1837 UIDROPDOWNMENU_SHOW_TIME = prev_fade_time
1832 _d = _display:GetUserData("eoiST") 1838 _d = _display:GetUserData("eoiST")
1833 self.display = nil 1839 self.display = nil
1834 GUI:Release(_display) 1840 GUI:Release(_display)