From 984db015fc1ebc3579279dd20e557f230c1c2575 Mon Sep 17 00:00:00 2001 From: Tercio Date: Thu, 18 Jan 2018 14:58:35 -0200 Subject: [PATCH] - Framework upated to v63 (template parenting support). - General front end changes with template changes on plugins and other windows. --- API.lua | 2 +- Libs/DF/fw.lua | 22 ++++++++++++++---- Libs/DF/textentry.lua | 4 ++-- boot.lua | 48 +++++++++++++++++++++++++++++++++++++++- core/plugins.lua | 30 +++++++++---------------- core/windows.lua | 18 +++++++++++++-- functions/link.lua | 45 ++++++++++++++++++++++++------------- gumps/janela_custom.lua | 31 +++++++++++++++++--------- gumps/janela_options.lua | 28 ++++++++--------------- 9 files changed, 154 insertions(+), 74 deletions(-) diff --git a/API.lua b/API.lua index ee91d212..aade0669 100644 --- a/API.lua +++ b/API.lua @@ -51,7 +51,7 @@ local currentCombat = Details:GetCurrentCombat() @CODElocal combat = Details:GetCombat (segmentID = DETAILS_SEGMENTID_CURRENT)@ -@DESCFor overall use DETAILS_SEGMENTID_OVERALL, for older segments use the combat index (1 ... 25) new combats are always added to index 1.@ +@DESCFor overall use DETAILS_SEGMENTID_OVERALL, for older segments use the combat index (1 ... 25), when the current combat ends, it is added to index 1 on the old segments table.@ @TITLE- Getting a player:@ diff --git a/Libs/DF/fw.lua b/Libs/DF/fw.lua index 4b46f944..3374c83a 100644 --- a/Libs/DF/fw.lua +++ b/Libs/DF/fw.lua @@ -1,5 +1,5 @@ -local dversion = 62 +local dversion = 63 local major, minor = "DetailsFramework-1.0", dversion local DF, oldminor = LibStub:NewLibrary (major, minor) @@ -1054,7 +1054,21 @@ DF.slider_templates ["OPTIONS_SLIDER_TEMPLATE"] = { thumbcolor = {0, 0, 0, 0.5}, } -function DF:InstallTemplate (widget_type, template_name, template) +function DF:InstallTemplate (widget_type, template_name, template, parent_name) + + local newTemplate = {} + + --if has a parent, just copy the parent to the new template + if (parent_name and type (parent_name) == "string") then + local parentTemplate = DF:GetTemplate (widget_type, parent_name) + if (parentTemplate) then + DF.table.copy (newTemplate, parentTemplate) + end + end + + --copy the template passed into the new template + DF.table.copy (newTemplate, template) + widget_type = string.lower (widget_type) local template_table @@ -1070,9 +1084,9 @@ function DF:InstallTemplate (widget_type, template_name, template) template_table = DF.slider_templates end - template_table [template_name] = template + template_table [template_name] = newTemplate - return template + return newTemplate end function DF:GetTemplate (widget_type, template_name) diff --git a/Libs/DF/textentry.lua b/Libs/DF/textentry.lua index 855d24cc..dcb98aac 100644 --- a/Libs/DF/textentry.lua +++ b/Libs/DF/textentry.lua @@ -721,13 +721,13 @@ function DF:NewSpecialLuaEditorEntry (parent, w, h, member, name, nointent) local borderframe = CreateFrame ("Frame", name, parent) borderframe:SetSize (w, h) - + if (member) then parent [member] = borderframe end local scrollframe = CreateFrame ("ScrollFrame", name, borderframe, "DetailsFrameworkEditBoxMultiLineTemplate") - + scrollframe:SetScript ("OnSizeChanged", function (self) scrollframe.editbox:SetSize (self:GetSize()) end) diff --git a/boot.lua b/boot.lua index c56d5195..9ab49118 100644 --- a/boot.lua +++ b/boot.lua @@ -3,7 +3,7 @@ _ = nil _detalhes = LibStub("AceAddon-3.0"):NewAddon("_detalhes", "AceTimer-3.0", "AceComm-3.0", "AceSerializer-3.0", "NickTag-1.0") - _detalhes.build_counter = 5183 + _detalhes.build_counter = 5198 _detalhes.userversion = "v7.3.0." .. _detalhes.build_counter _detalhes.realversion = 128 --core version _detalhes.version = _detalhes.userversion .. " (core " .. _detalhes.realversion .. ")" @@ -185,6 +185,52 @@ do --> Plugins + --> plugin templates + + _detalhes.gump:NewColor ("DETAILS_PLUGIN_BUTTONTEXT_COLOR", 0.9999, 0.8196, 0, 1) + + _detalhes.gump:InstallTemplate ("button", "DETAILS_PLUGINPANEL_BUTTON_TEMPLATE", + { + backdrop = {edgeFile = [[Interface\Buttons\WHITE8X8]], edgeSize = 1, bgFile = [[Interface\Tooltips\UI-Tooltip-Background]], tileSize = 64, tile = true}, + backdropcolor = {0, 0, 0, .5}, + backdropbordercolor = {0, 0, 0, .5}, + onentercolor = {0.3, 0.3, 0.3, .5}, + } + ) + _detalhes.gump:InstallTemplate ("button", "DETAILS_PLUGINPANEL_BUTTONSELECTED_TEMPLATE", + { + backdrop = {edgeFile = [[Interface\Buttons\WHITE8X8]], edgeSize = 1, bgFile = [[Interface\Tooltips\UI-Tooltip-Background]], tileSize = 64, tile = true}, + backdropcolor = {0, 0, 0, .5}, + backdropbordercolor = {1, 1, 0, 1}, + onentercolor = {0.3, 0.3, 0.3, .5}, + } + ) + + _detalhes.gump:InstallTemplate ("button", "DETAILS_PLUGIN_BUTTON_TEMPLATE", + { + backdrop = {edgeFile = [[Interface\Buttons\WHITE8X8]], edgeSize = 1, bgFile = [[Interface\Tooltips\UI-Tooltip-Background]], tileSize = 64, tile = true}, + backdropcolor = {1, 1, 1, .5}, + backdropbordercolor = {0, 0, 0, 1}, + onentercolor = {1, 1, 1, .9}, + textcolor = "DETAILS_PLUGIN_BUTTONTEXT_COLOR", + textsize = 10, + width = 120, + height = 20, + } + ) + _detalhes.gump:InstallTemplate ("button", "DETAILS_PLUGIN_BUTTONSELECTED_TEMPLATE", + { + backdrop = {edgeFile = [[Interface\Buttons\WHITE8X8]], edgeSize = 1, bgFile = [[Interface\Tooltips\UI-Tooltip-Background]], tileSize = 64, tile = true}, + backdropcolor = {1, 1, 1, .5}, + backdropbordercolor = {1, .7, 0, 1}, + onentercolor = {1, 1, 1, .9}, + textcolor = "DETAILS_PLUGIN_BUTTONTEXT_COLOR", + textsize = 10, + width = 120, + height = 20, + } + ) + _detalhes.PluginsGlobalNames = {} _detalhes.PluginsLocalizedNames = {} diff --git a/core/plugins.lua b/core/plugins.lua index d0f08bbc..66ebebc9 100644 --- a/core/plugins.lua +++ b/core/plugins.lua @@ -5,25 +5,6 @@ local _detalhes = _G._detalhes DETAILSPLUGIN_ALWAYSENABLED = 0x1 - - --> templates - _detalhes.gump:InstallTemplate ("button", "DETAILS_PLUGINPANEL_BUTTON_TEMPLATE", - { - backdrop = {edgeFile = [[Interface\Buttons\WHITE8X8]], edgeSize = 1, bgFile = [[Interface\Tooltips\UI-Tooltip-Background]], tileSize = 64, tile = true}, - backdropcolor = {0, 0, 0, .5}, - backdropbordercolor = {0, 0, 0, .5}, - onentercolor = {0.3, 0.3, 0.3, .5}, - } - ) - _detalhes.gump:InstallTemplate ("button", "DETAILS_PLUGINPANEL_BUTTONSELECTED_TEMPLATE", - { - backdrop = {edgeFile = [[Interface\Buttons\WHITE8X8]], edgeSize = 1, bgFile = [[Interface\Tooltips\UI-Tooltip-Background]], tileSize = 64, tile = true}, - backdropcolor = {0, 0, 0, .5}, - backdropbordercolor = {1, 1, 0, 1}, - onentercolor = {0.3, 0.3, 0.3, .5}, - } - ) - --> consts local CONST_PLUGINWINDOW_MENU_WIDTH = 150 local CONST_PLUGINWINDOW_MENU_HEIGHT = 22 @@ -629,6 +610,17 @@ --> add it to menu table tinsert (f.MenuButtons, newButton) + if (#f.MenuButtons == 1) then + local teste = _detalhes.gump:NewButton (f, _, "$parentOpenFeedbackButton", nil, 160, 20, _detalhes.OpenFeedbackWindow, nil, nil, nil, "Hellow Woirld", 1) + teste:SetPoint ("top", menuBackground, "top", 0, f.MenuY + ( (1-1) * -f.MenuButtonHeight ) - 1 - 350) + teste:SetTemplate (_detalhes.gump:GetTemplate ("button", "OPTIONS_BUTTON_TEMPLATE")) + teste.textalign = "left" + teste.textcolor = "white" + teste.textsize = 10 + teste:SetIcon ("Interface\\FriendsFrame\\UI-Toast-BroadcastIcon", nil, nil, nil, {4/32, 27/32, 5/32, 25/32}, {1, 1, 1, 0.8}, 4, 2) + + end + return newButton end diff --git a/core/windows.lua b/core/windows.lua index 7d8bb85c..6ebba4fa 100644 --- a/core/windows.lua +++ b/core/windows.lua @@ -3831,11 +3831,24 @@ local f = DetailsAPIPanel or gump:CreateSimplePanel (UIParent, 700, 480, "Details! API", "DetailsAPIPanel") DetailsAPIPanel.Initialized = true - + local text_box = gump:NewSpecialLuaEditorEntry (f, 685, 540, "text", "$parentTextEntry", true) text_box:SetPoint ("topleft", f, "topleft", 220, -40) text_box:SetBackdrop (nil) + --background + f.bg1 = f:CreateTexture (nil, "background") + f.bg1:SetTexture ([[Interface\AddOns\Details\images\background]], true) + f.bg1:SetAlpha (0.8) + f.bg1:SetVertexColor (0.27, 0.27, 0.27) + f.bg1:SetVertTile (true) + f.bg1:SetHorizTile (true) + f.bg1:SetSize (790, 454) + f.bg1:SetAllPoints() + f:SetBackdrop ({edgeFile = [[Interface\Buttons\WHITE8X8]], edgeSize = 1, bgFile = [[Interface\AddOns\Details\images\background]], tileSize = 64, tile = true}) + f:SetBackdropColor (.5, .5, .5, .7) + f:SetBackdropBorderColor (0, 0, 0, 1) + --> create a background area where the text editor is local TextEditorBackground = gump:NewButton (f, nil, nil, nil, 1, 1, function()end) TextEditorBackground:SetAllPoints (text_box) @@ -3854,9 +3867,10 @@ local title = topics [i] local button = gump:CreateButton (f, select_topic, 200, 20, title, i) - button:SetTemplate (gump:GetTemplate ("button", "OPTIONS_BUTTON_TEMPLATE")) + button:SetTemplate (gump:GetTemplate ("button", "DETAILS_PLUGIN_BUTTON_TEMPLATE")) button:SetPoint ("topleft", f, "topleft", 5, (-i*22)-30) button:SetIcon ([[Interface\Buttons\UI-GuildButton-PublicNote-Up]], nil, nil, nil, nil, nil, nil, 2) + button:SetWidth (200) end select_topic (nil, nil, 1) diff --git a/functions/link.lua b/functions/link.lua index ef278c5e..adee1d73 100644 --- a/functions/link.lua +++ b/functions/link.lua @@ -3,7 +3,7 @@ --> default weaktable _detalhes.weaktable = {__mode = "v"} - + --> globals --[[global]] DETAILS_WA_AURATYPE_ICON = 1 --[[global]] DETAILS_WA_AURATYPE_TEXT = 2 @@ -26,7 +26,24 @@ --[[global]] DETAILS_WA_TRIGGER_INTERRUPT = 11 --[[global]] DETAILS_WA_TRIGGER_DISPELL = 12 - --weak auras + --templates + + _detalhes:GetFramework():InstallTemplate ("button", "DETAILS_FORGE_TEXTENTRY_TEMPLATE", { + backdrop = {bgFile = [[Interface\Tooltips\UI-Tooltip-Background]], tileSize = 64, tile = true}, --edgeFile = [[Interface\Buttons\WHITE8X8]], edgeSize = 1, + backdropcolor = {0, 0, 0, .1}, + }) + + local CONST_BUTTON_TEMPLATE = _detalhes:GetFramework():InstallTemplate ("button", "DETAILS_FORGE_BUTTON_TEMPLATE", { + width = 140, + }, + "DETAILS_PLUGIN_BUTTON_TEMPLATE") + + local CONST_BUTTONSELECTED_TEMPLATE = _detalhes:GetFramework():InstallTemplate ("button", "DETAILS_FORGE_BUTTONSELECTED_TEMPLATE", { + width = 140, + }, + "DETAILS_PLUGIN_BUTTONSELECTED_TEMPLATE") + + --weak auras local text_dispell_prototype = { ["outline"] = true, @@ -1752,6 +1769,7 @@ f:SetMovable (true) f:SetToplevel (true) + --background f.bg1 = f:CreateTexture (nil, "background") f.bg1:SetTexture ([[Interface\AddOns\Details\images\background]], true) f.bg1:SetAlpha (0.8) @@ -2290,9 +2308,13 @@ local create_button = fw:CreateButton (f, create_func, 106, 20, L["STRING_CREATEAURA"]) create_button:SetTemplate (slider_template) + create_button:SetTemplate (_detalhes.gump:GetTemplate ("button", "DETAILS_PLUGIN_BUTTON_TEMPLATE")) + create_button:SetWidth (160) local cancel_button = fw:CreateButton (f, function() name_textentry:ClearFocus(); f:Hide() end, 106, 20, "Cancel") - cancel_button:SetTemplate (slider_template) + cancel_button:SetTemplate (_detalhes.gump:GetTemplate ("button", "DETAILS_PLUGIN_BUTTON_TEMPLATE")) + cancel_button:SetWidth (160) + create_button:SetIcon ([[Interface\Buttons\UI-CheckBox-Check]], nil, nil, nil, {0.125, 0.875, 0.125, 0.875}, nil, 4, 2) cancel_button:SetIcon ([[Interface\Buttons\UI-GroupLoot-Pass-Down]], nil, nil, nil, {0.125, 0.875, 0.125, 0.875}, nil, 4, 2) @@ -3766,13 +3788,7 @@ ----------------------------------------------- - fw:InstallTemplate ("button", "DETAILS_FORGE_TEXTENTRY_TEMPLATE", { - backdrop = {bgFile = [[Interface\Tooltips\UI-Tooltip-Background]], tileSize = 64, tile = true}, --edgeFile = [[Interface\Buttons\WHITE8X8]], edgeSize = 1, - backdropcolor = {0, 0, 0, .1}, - --backdropbordercolor = {0, 0, 0, 1}, - --width = 160, - --height = 18, - }) + local select_module = function (a, b, module_number) @@ -3787,9 +3803,9 @@ end for index, button in ipairs (buttons) do - button.textcolor = "white" + button:SetTemplate (CONST_BUTTON_TEMPLATE) end - buttons[module_number].textcolor = "orange" + buttons[module_number]:SetTemplate (CONST_BUTTONSELECTED_TEMPLATE) local module = all_modules [module_number] if (module) then @@ -3850,11 +3866,10 @@ local module = all_modules [i] local b = fw:CreateButton (f, select_module, 140, 20, module.name, i) b.tooltip = module.desc - b.textalign = "<" - b.textsize = 10 + b:SetTemplate (CONST_BUTTON_TEMPLATE) b:SetIcon ([[Interface\BUTTONS\UI-GuildButton-PublicNote-Up]], nil, nil, nil, nil, {1, 1, 1, 0.7}) - b:SetTemplate (_detalhes.gump:GetTemplate ("button", "OPTIONS_BUTTON_TEMPLATE")) + b:SetWidth (140) if (lastButton) then if (brackets [i]) then diff --git a/gumps/janela_custom.lua b/gumps/janela_custom.lua index 2d857352..b680164f 100644 --- a/gumps/janela_custom.lua +++ b/gumps/janela_custom.lua @@ -56,14 +56,20 @@ local CONST_BUTTON_TEMPLATE = gump:GetTemplate ("button", "OPTIONS_BUTTON_TEMPLATE") local CONST_TEXTENTRY_TEMPLATE = gump:GetTemplate ("button", "OPTIONS_BUTTON_TEMPLATE") - gump:InstallTemplate ("button", "DETAILS_CUSTOMDISPLAY_CODE_BUTTONS", { - backdrop = {edgeFile = [[Interface\Buttons\WHITE8X8]], edgeSize = 1, bgFile = [[Interface\Tooltips\UI-Tooltip-Background]], tileSize = 64, tile = true}, - backdropcolor = {1, 1, 1, .5}, - backdropbordercolor = {0, 0, 0, 1}, - textcolor = "white", - textsize = 10, - icon = {texture = [[Interface\BUTTONS\UI-GuildButton-PublicNote-Up]]}, - }) + gump:InstallTemplate ("button", "DETAILS_CUSTOMDISPLAY_CODE_BUTTONS", + { + icon = {texture = [[Interface\BUTTONS\UI-GuildButton-PublicNote-Up]]}, + width = 160, + }, + "DETAILS_PLUGIN_BUTTON_TEMPLATE" + ) + + gump:InstallTemplate ("button", "DETAILS_CUSTOMDISPLAY_REGULAR_BUTTON", + { + width = 130, + }, + "DETAILS_PLUGIN_BUTTON_TEMPLATE" + ) gump:InstallTemplate ("button", "DETAILS_CUSTOMDISPLAY_CODE_BOX", { backdrop = {edgeFile = [[Interface\Buttons\WHITE8X8]], edgeSize = 1, bgFile = [[Interface\Tooltips\UI-Tooltip-Background]], tileSize = 64, tile = true}, @@ -87,6 +93,7 @@ local CONST_CODETEXTENTRYEXPANDED_TEMPLATE = gump:GetTemplate ("button", "DETAILS_CUSTOMDISPLAY_CODE_BOX_EXPANDED") local CONST_CODETEXTENTRYBUTTON_TEMPLATE = gump:GetTemplate ("button", "DETAILS_CUSTOMDISPLAY_CODE_BOX_BUTTON") local CONST_CODETEXTENTRY_OPENCODEBUTTONS_TEMPLATE = gump:GetTemplate ("button", "DETAILS_CUSTOMDISPLAY_CODE_BUTTONS") + local CONST_REGULAR_BUTTON_TEMPLATE = gump:GetTemplate ("button", "DETAILS_CUSTOMDISPLAY_REGULAR_BUTTON") local atributos = _detalhes.atributos local sub_atributos = _detalhes.sub_atributos @@ -744,7 +751,9 @@ local button = gump:NewButton (self, nil, "$parent" .. name, nil, CONST_MENU_WIDTH, CONST_MENU_HEIGHT, clickfunc, param1, param2, nil, label) button:SetPoint ("topleft", self, "topleft", CONST_MENU_X_POSITION, CONST_MENU_Y_POSITION + ((index-1)*-23)) - button:SetTemplate (CONST_BUTTON_TEMPLATE) + --button:SetTemplate (CONST_BUTTON_TEMPLATE) + button:SetTemplate (gump:GetTemplate ("button", "DETAILS_PLUGIN_BUTTON_TEMPLATE")) + button:SetWidth (160) button:SetIcon (icon, CONST_MENU_HEIGHT-4, CONST_MENU_HEIGHT-4, "overlay", {.1, .9, .1, .9}, nil, 4) button:SetHook ("OnEnter", onenter) @@ -1070,12 +1079,12 @@ local cancel_button = gump:NewButton (box0, nil, "$parentCancelButton", "cancelbutton", 130, 20, DetailsCustomPanel.CancelFunc, nil, nil, nil, Loc ["STRING_CUSTOM_CANCEL"]) --cancel_button:SetPoint ("bottomleft", attribute_box, "bottomleft", 2, 0) cancel_button:SetPoint ("topleft", icon_label, "bottomleft", 0, -10) - cancel_button:SetTemplate (CONST_BUTTON_TEMPLATE) + cancel_button:SetTemplate (CONST_REGULAR_BUTTON_TEMPLATE) --accept local accept_button = gump:NewButton (box0, nil, "$parentAcceptButton", "acceptbutton", 130, 20, DetailsCustomPanel.AcceptFunc, nil, nil, nil, Loc ["STRING_CUSTOM_CREATE"]) accept_button:SetPoint ("left", cancel_button, "right", 2, 0) - accept_button:SetTemplate (CONST_BUTTON_TEMPLATE) + accept_button:SetTemplate (CONST_REGULAR_BUTTON_TEMPLATE) cancel_button:SetFrameLevel (500) accept_button:SetFrameLevel (500) diff --git a/gumps/janela_options.lua b/gumps/janela_options.lua index 5bfb982a..235c8c35 100644 --- a/gumps/janela_options.lua +++ b/gumps/janela_options.lua @@ -67,6 +67,12 @@ local TEXTENTRY_HEIGHT = 18 local DROPDOWN_WIDTH = 160 local COLOR_BUTTON_WIDTH = 160 + + +local CONST_BUTTON_TEMPLATE = g:GetTemplate ("button", "DETAILS_PLUGIN_BUTTON_TEMPLATE") + + + _detalhes.options_window_background = [[Interface\AddOns\Details\images\options_window]] function _detalhes:SetOptionsWindowTexture (texture) @@ -510,13 +516,6 @@ function _detalhes:OpenOptionsWindow (instance, no_reopen, section) g:NewColor ("C_OptionsButtonOrange", 0.9999, 0.8196, 0, 1) - local extra_buttons_on_enter = function (self, capsule) - capsule.textcolor = "yellow" - end - local extra_buttons_on_leave = function (self, capsule) - capsule.textcolor = "C_OptionsButtonOrange" - end - local create_test_bars_func = function() _detalhes.CreateTestBars() if (not _detalhes.test_bar_update) then @@ -527,10 +526,7 @@ function _detalhes:OpenOptionsWindow (instance, no_reopen, section) end local fillbars = g:NewButton (window, _, "$parentCreateExampleBarsButton", nil, 110, 14, create_test_bars_func, nil, nil, nil, Loc ["STRING_OPTIONS_TESTBARS"], 1) fillbars:SetPoint ("bottomleft", window.widget, "bottomleft", 41, 12) - fillbars.textalign = "left" - fillbars.textcolor = "C_OptionsButtonOrange" - fillbars:SetHook ("OnEnter", extra_buttons_on_enter) - fillbars:SetHook ("OnLeave", extra_buttons_on_leave) + fillbars:SetTemplate (CONST_BUTTON_TEMPLATE) local fillbars_image = g:NewImage (window, [[Interface\Buttons\UI-RADIOBUTTON]], 8, 9, "artwork", {20/64, 27/64, 4/16, 11/16}) fillbars_image:SetPoint ("right", fillbars, "left", -1, 0) @@ -539,10 +535,7 @@ function _detalhes:OpenOptionsWindow (instance, no_reopen, section) local changelog = g:NewButton (window, _, "$parentOpenChangeLogButton", nil, 110, 14, _detalhes.OpenNewsWindow, "change_log", nil, nil, Loc ["STRING_OPTIONS_CHANGELOG"], 1) changelog:SetPoint ("left", fillbars, "right", 10, 0) - changelog.textalign = "left" - changelog.textcolor = "C_OptionsButtonOrange" - changelog:SetHook ("OnEnter", extra_buttons_on_enter) - changelog:SetHook ("OnLeave", extra_buttons_on_leave) + changelog:SetTemplate (CONST_BUTTON_TEMPLATE) local changelog_image = g:NewImage (window, [[Interface\Buttons\UI-RADIOBUTTON]], 8, 9, "artwork", {20/64, 27/64, 4/16, 11/16}) changelog_image:SetPoint ("right", changelog, "left", -1, 0) @@ -551,10 +544,7 @@ function _detalhes:OpenOptionsWindow (instance, no_reopen, section) local feedback_button = g:NewButton (window, _, "$parentOpenFeedbackButton", nil, 80, 14, _detalhes.OpenFeedbackWindow, nil, nil, nil, Loc ["STRING_OPTIONS_SENDFEEDBACK"], 1) feedback_button:SetPoint ("left", changelog, "right", 10, 0) - feedback_button.textalign = "left" - feedback_button.textcolor = "C_OptionsButtonOrange" - feedback_button:SetHook ("OnEnter", extra_buttons_on_enter) - feedback_button:SetHook ("OnLeave", extra_buttons_on_leave) + feedback_button:SetTemplate (CONST_BUTTON_TEMPLATE) local feedback_image = g:NewImage (window, [[Interface\Buttons\UI-RADIOBUTTON]], 8, 9, "artwork", {20/64, 27/64, 4/16, 11/16}) feedback_image:SetPoint ("right", feedback_button, "left", -1, 0)