diff --git a/Libs/LibHotCorners/LibHotCorners.lua b/Libs/LibHotCorners/LibHotCorners.lua index 9aee48b2..b5cc58c8 100644 --- a/Libs/LibHotCorners/LibHotCorners.lua +++ b/Libs/LibHotCorners/LibHotCorners.lua @@ -23,19 +23,22 @@ end local CallbackHandler = LibStub:GetLibrary ("CallbackHandler-1.0") LibHotCorners.callbacks = LibHotCorners.callbacks or CallbackHandler:New (LibHotCorners) - LibHotCorners.topleft = {widgets = {}} + LibHotCorners.topleft = {widgets = {}, fastcorner = false} LibHotCorners.bottomleft = {} LibHotCorners.topright = {} LibHotCorners.bottomright = {} - function LibHotCorners:RegisterHotCornerButton (corner, name, icon, tooltip, clickfunc, menus) + function LibHotCorners:RegisterHotCornerButton (corner, name, icon, tooltip, clickfunc, menus, fastcorner) corner = string.lower (corner) assert (corner == "topleft" or corner == "bottomleft" or corner == "topright" or corner == "bottomright", "LibHotCorners:RegisterAddon expects a corner on #1 argument.") tinsert (LibHotCorners [corner], {name = name, icon = icon, tooltip = tooltip, click = clickfunc, menus = menus}) + if (fastcorner) then + LibHotCorners [corner].fastcorner = fastcorner + end end ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ---> top left corner +--> create top left corner local TopLeftCorner = CreateFrame ("frame", "LibHotCornersTopLeft", UIParent) @@ -43,6 +46,15 @@ end TopLeftCorner:SetFrameStrata ("fullscreen") TopLeftCorner:SetPoint ("TopLeft", UIParent, "TopLeft", 0, 0) + local FastCornerButton = CreateFrame ("button", "LibHotCornersTopLeftFastButton", TopLeftCorner) + FastCornerButton:SetPoint ("topleft", TopLeftCorner, "topleft") + FastCornerButton:SetSize (1, 1) + FastCornerButton:SetScript ("OnClick", function (self) + if (LibHotCorners.topleft.fastcorner) then + LibHotCorners.topleft.fastcorner() + end + end) + local TopLeftCornerBackdrop = {bgFile = [[Interface\DialogFrame\UI-DialogBox-Background]], tile = true, tileSize = 40} --> on enter diff --git a/boot.lua b/boot.lua index 8057308b..564e02cb 100644 --- a/boot.lua +++ b/boot.lua @@ -5,10 +5,10 @@ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --> global name declaration - + _ = nil _detalhes = LibStub("AceAddon-3.0"):NewAddon("_detalhes", "AceTimer-3.0", "AceComm-3.0", "AceSerializer-3.0", "NickTag-1.0", "LibHotCorners") - _detalhes.userversion = "v1.13.0" + _detalhes.userversion = "v1.13.1" _detalhes.version = "Alpha 017" _detalhes.realversion = 17 diff --git a/core/plugins_statusbar.lua b/core/plugins_statusbar.lua index 70f0812b..b51cccb1 100644 --- a/core/plugins_statusbar.lua +++ b/core/plugins_statusbar.lua @@ -164,7 +164,7 @@ --> select a new plugin in for an instance anchor local ChoosePlugin = function (_, _, index, current_child, anchor) - if (index == -1) then --> hide + if (index and index == -1) then --> hide current_child.frame.text:Hide() _detalhes.StatusBar:ApplyOptions (current_child, "hidden", true) return @@ -174,6 +174,16 @@ end local pluginMestre = _detalhes.StatusBar.Plugins [index] + if (not pluginMestre) then + if (anchor == "left") then + pluginMestre = _detalhes.StatusBar.Plugins [2] + elseif (anchor == "center") then + pluginMestre = _detalhes.StatusBar.Plugins [4] + elseif (anchor == "right") then + pluginMestre = _detalhes.StatusBar.Plugins [1] + end + end + local instance = current_child.instance -- instance que estamos usando agora local chosenChild = nil @@ -311,6 +321,12 @@ local left_index = _detalhes.StatusBar:GetIndexFromAbsoluteName (left) ChoosePlugin (nil, nil, left_index, instance.StatusBar.left, "left") + local center_index = _detalhes.StatusBar:GetIndexFromAbsoluteName (center) + ChoosePlugin (nil, nil, center_index, instance.StatusBar.center, "center") + + local right_index = _detalhes.StatusBar:GetIndexFromAbsoluteName (right) + ChoosePlugin (nil, nil, right_index, instance.StatusBar.right, "right") + instance.StatusBar.left.options = table_deepcopy (instance.StatusBarSaved.options [left]) instance.StatusBar.center.options = table_deepcopy (instance.StatusBarSaved.options [center]) instance.StatusBar.right.options = table_deepcopy (instance.StatusBarSaved.options [right]) @@ -318,6 +334,14 @@ _detalhes.StatusBar:ApplyOptions (instance.StatusBar.left, "textcolor") _detalhes.StatusBar:ApplyOptions (instance.StatusBar.left, "textsize") _detalhes.StatusBar:ApplyOptions (instance.StatusBar.left, "textface") + + _detalhes.StatusBar:ApplyOptions (instance.StatusBar.center, "textcolor") + _detalhes.StatusBar:ApplyOptions (instance.StatusBar.center, "textsize") + _detalhes.StatusBar:ApplyOptions (instance.StatusBar.center, "textface") + + _detalhes.StatusBar:ApplyOptions (instance.StatusBar.right, "textcolor") + _detalhes.StatusBar:ApplyOptions (instance.StatusBar.right, "textsize") + _detalhes.StatusBar:ApplyOptions (instance.StatusBar.right, "textface") end @@ -563,9 +587,11 @@ do return end - function PSegment:Change() + function PSegment:Change (combat_table, segment_number) for index, child in _ipairs (PSegment.childs) do + if (child.enabled and child.instance:IsEnabled()) then + if (child.instance.segmento == -1) then --> overall child.text:SetText (Loc ["STRING_OVERALL"]) @@ -575,24 +601,83 @@ do child.text:SetText (Loc ["STRING_CURRENT"]) elseif (child.options.segmentType == 2) then + if (child.instance.showing.is_boss) then child.text:SetText (child.instance.showing.is_boss.encounter) + elseif (_detalhes.encounter_table and _detalhes.encounter_table.name) then child.text:SetText (_detalhes.encounter_table.name) + else child.text:SetText (child.instance.showing.enemy or "Unknown") end + + elseif (child.options.segmentType == 3) then + + if (not segment_number) then -- received "COMBAT_PLAYER_ENTER" + segment_number = child.instance:GetSegment() + end + + local number_ + if (segment_number == 0) then + number_ = " (#1)" + else + number_ = " (#" .. segment_number .. ")" + end + + if (child.instance.showing.is_boss) then + child.text:SetText (child.instance.showing.is_boss.encounter .. number_) + + elseif (child.instance.showing.is_trash) then + child.text:SetText (Loc ["STRING_SEGMENT_TRASH"] .. number_) + + elseif (_detalhes.encounter_table and _detalhes.encounter_table.name) then + child.text:SetText (_detalhes.encounter_table.name .. number_) + + else + child.text:SetText (child.instance.showing.enemy or "Unknown") + end + end else --> alguma tabela do histórico if (child.options.segmentType == 1) then - child.text:SetText (Loc ["STRING_FIGHTNUMBER"]..child.instance.segmento) + child.text:SetText (Loc ["STRING_FIGHTNUMBER"] .. child.instance.segmento) + elseif (child.options.segmentType == 2) then + if (child.instance.showing.is_boss) then child.text:SetText (child.instance.showing.is_boss.encounter) else child.text:SetText (child.instance.showing.enemy or "Unknown") end + + elseif (child.options.segmentType == 3) then + + if (not segment_number) then -- received "COMBAT_PLAYER_ENTER" + segment_number = child.instance:GetSegment() + end + + local number_ + if (segment_number == 0) then + number_ = " (#1)" + else + number_ = " (#" .. segment_number .. ")" + end + + if (child.instance.showing.is_boss) then + child.text:SetText (child.instance.showing.is_boss.encounter .. number_) + + elseif (child.instance.showing.is_trash) then + child.text:SetText (Loc ["STRING_SEGMENT_TRASH"] .. number_) + + elseif (_detalhes.encounter_table and _detalhes.encounter_table.name) then + child.text:SetText (_detalhes.encounter_table.name .. number_) + + else + child.text:SetText (child.instance.showing.enemy or "Unknown") + end + end end end @@ -618,6 +703,7 @@ do local segmentTypes = { {value = 1, label = Loc ["STRING_PLUGIN_SEGMENTTYPE_1"], onclick = onSelectSegmentType, icon = [[Interface\ICONS\Ability_Rogue_KidneyShot]]}, {value = 2, label = Loc ["STRING_PLUGIN_SEGMENTTYPE_2"], onclick = onSelectSegmentType, icon = [[Interface\ICONS\Achievement_Boss_Ra_Den]]}, + {value = 3, label = Loc ["STRING_PLUGIN_SEGMENTTYPE_3"], onclick = onSelectSegmentType, icon = [[Interface\ICONS\Achievement_Boss_Durumu]]}, } _detalhes.gump:NewDropDown (window, nil, "$parentSegmentTypeDropdown", "segmentTypeDropdown", 200, 20, function() return segmentTypes end, 1) -- func, default @@ -1180,7 +1266,7 @@ do end function PTime:OnDisable() - self:CancelTimer (self.srt) + self:CancelTimer (self.srt, true) end function PTime:OnEnable() diff --git a/core/plugins_toolbar.lua b/core/plugins_toolbar.lua index 3478d8de..d1eeb088 100644 --- a/core/plugins_toolbar.lua +++ b/core/plugins_toolbar.lua @@ -214,10 +214,15 @@ for _, ThisButton in ipairs (_detalhes.ToolBar.Shown) do ThisButton:ClearAllPoints() - ThisButton:SetParent (instance.baseframe.UPFrame) + --ThisButton:SetParent (instance.baseframe.UPFrame) -- se tiver no listener, ele nao hida quando a janela for fechada. -- se tiver no baseframe não da de clicar. + -- se tiver no UPFrame ele muda de alpha junto com a janela. + + -- mudei para o baseframe aumentando o level. + ThisButton:SetParent (instance.baseframe) + ThisButton:SetFrameLevel (instance.baseframe:GetFrameLevel()+5) if (LastIcon == instance.baseframe.cabecalho.report) then ThisButton:SetPoint ("left", LastIcon, "right", ThisButton.x + x + 4, ThisButton.y) @@ -241,7 +246,9 @@ for _, ThisButton in ipairs (_detalhes.ToolBar.Shown) do ThisButton:ClearAllPoints() - ThisButton:SetParent (instance.baseframe.UPFrame) + + ThisButton:SetParent (instance.baseframe) + ThisButton:SetFrameLevel (instance.baseframe:GetFrameLevel()+5) ThisButton:SetPoint ("right", LastIcon, "left", ThisButton.x + x, ThisButton.y) diff --git a/gumps/janela_options.lua b/gumps/janela_options.lua index db923e66..58f6be9e 100644 --- a/gumps/janela_options.lua +++ b/gumps/janela_options.lua @@ -4195,6 +4195,12 @@ end --> if not window ---------------------------------------------------------------------------------------- --> Show +local strata = { + ["LOW"] = "Low", + ["MEDIUM"] = "Medium", + ["HIGH"] = "High" +} + function window:update_all (editing_instance) --> window 1 @@ -4248,7 +4254,8 @@ function window:update_all (editing_instance) _G.DetailsOptionsWindow6StatusbarColorPick.MyObject:SetColor (r, g, b, editing_instance.statusbar_info.alpha) _G.DetailsOptionsWindow6StrataDropdown.MyObject:SetFixedParameter (editing_instance) - _G.DetailsOptionsWindow6StrataDropdown.MyObject:Select (editing_instance.strata) + _G.DetailsOptionsWindow6StrataDropdown.MyObject:Select (strata [editing_instance.strata] or "Low") + --> window 7 _G.DetailsOptionsWindow7AutoHideRightMenuSwitch.MyObject:SetFixedParameter (editing_instance) @@ -4458,7 +4465,10 @@ function window:update_all (editing_instance) _G.DetailsOptionsWindow.MyObject.instance = instance - _G.DetailsOptionsWindowInstanceSelectDropdown.MyObject:Select (editing_instance.meu_id, true) + if (editing_instance.meu_id > _detalhes.instances_amount) then + else + _G.DetailsOptionsWindowInstanceSelectDropdown.MyObject:Select (editing_instance.meu_id, true) + end _G.DetailsOptionsWindow4IconFileEntry:SetText (editing_instance.row_info.icon_file) diff --git a/gumps/janela_principal.lua b/gumps/janela_principal.lua index cf577b50..7d73a59a 100644 --- a/gumps/janela_principal.lua +++ b/gumps/janela_principal.lua @@ -1899,7 +1899,38 @@ function _detalhes:InstanceMsg (text, icon, textcolor, icontexture, iconcoords, end end ---> inicio ~janela ~window +function _detalhes:schedule_hide_anti_overlap (self) + self:Hide() + self.schdule = nil +end +local function hide_anti_overlap (self) + if (self.schdule) then + _detalhes:CancelTimer (self.schdule) + self.schdule = nil + end + local schdule = _detalhes:ScheduleTimer ("schedule_hide_anti_overlap", 0.3, self) + self.schdule = schdule +end + +local function show_anti_overlap (instance, host, side) + + local anti_menu_overlap = instance.baseframe.anti_menu_overlap + + if (anti_menu_overlap.schdule) then + _detalhes:CancelTimer (anti_menu_overlap.schdule) + anti_menu_overlap.schdule = nil + end + + anti_menu_overlap:ClearAllPoints() + if (side == "top") then + anti_menu_overlap:SetPoint ("bottom", host, "top") + elseif (side == "bottom") then + anti_menu_overlap:SetPoint ("top", host, "bottom") + end + anti_menu_overlap:Show() +end + +--> ~inicio ~janela ~window function gump:CriaJanelaPrincipal (ID, instancia, criando) -- main frames ----------------------------------------------------------------------------------------------------------------------------------------------- @@ -1928,6 +1959,14 @@ function gump:CriaJanelaPrincipal (ID, instancia, criando) switchbutton:SetPoint ("topleft", backgrounddisplay, "topleft") switchbutton:SetPoint ("bottomright", backgrounddisplay, "bottomright") switchbutton:SetFrameLevel (backgrounddisplay:GetFrameLevel()+1) + + local anti_menu_overlap = CreateFrame ("frame", "Details_WindowFrameAntiMenuOverlap" .. ID, baseframe) + anti_menu_overlap:SetSize (100, 13) + anti_menu_overlap:SetFrameStrata ("DIALOG") + anti_menu_overlap:EnableMouse (true) + anti_menu_overlap:Hide() + --anti_menu_overlap:SetBackdrop (gump_fundo_backdrop) + baseframe.anti_menu_overlap = anti_menu_overlap -- scroll bar ----------------------------------------------------------------------------------------------------------------------------------------------- @@ -3018,7 +3057,7 @@ function _detalhes:InstanceColor (red, green, blue, alpha, no_save, change_statu --> not saving self:StatusBarColor (nil, nil, nil, alpha, true) end - + local skin = _detalhes.skins [self.skin] --[[ @@ -3032,9 +3071,10 @@ function _detalhes:InstanceColor (red, green, blue, alpha, no_save, change_statu self.baseframe.cabecalho.ball_r:SetVertexColor (red, green, blue) self.baseframe.cabecalho.ball_r:SetAlpha (alpha) + self.baseframe.cabecalho.ball:SetVertexColor (red, green, blue) - self.baseframe.cabecalho.ball:SetAlpha (alpha) + self.baseframe.cabecalho.atributo_icon:SetAlpha (alpha) self.baseframe.cabecalho.emenda:SetVertexColor (red, green, blue) @@ -3050,7 +3090,7 @@ function _detalhes:InstanceColor (red, green, blue, alpha, no_save, change_statu self.baseframe.barra_fundo:SetAlpha (alpha) self.baseframe.UPFrame:SetAlpha (alpha) - + --self.color[1], self.color[2], self.color[3], self.color[4] = red, green, blue, alpha end @@ -3533,13 +3573,15 @@ local build_mode_list = function (self, elapsed) if (instancia.toolbar_side == 1) then CoolTip:SetOwner (self) elseif (instancia.toolbar_side == 2) then --> bottom - CoolTip:SetOwner (self, "bottom", "top", 0, -7) + CoolTip:SetOwner (self, "bottom", "top", 0, 0) -- -7 end end --CoolTip:SetWallpaper (1, [[Interface\ACHIEVEMENTFRAME\UI-Achievement-Parchment-Horizontal-Desaturated]], nil, {1, 1, 1, 0.3}) CoolTip:SetWallpaper (1, [[Interface\SPELLBOOK\Spellbook-Page-1]], {.6, 0.1, 0, 0.64453125}, {1, 1, 1, 0.1}, true) - + + show_anti_overlap (instancia, self, "top") + CoolTip:ShowCooltip() end end @@ -3780,7 +3822,7 @@ local build_segment_list = function (self, elapsed) if (instancia.toolbar_side == 1) then CoolTip:SetOwner (self) elseif (instancia.toolbar_side == 2) then --> bottom - CoolTip:SetOwner (self, "bottom", "top", 0, -7) + CoolTip:SetOwner (self, "bottom", "top", 0, 0) -- -7 end end @@ -3798,6 +3840,8 @@ local build_segment_list = function (self, elapsed) --CoolTip:SetWallpaper (1, [[Interface\ACHIEVEMENTFRAME\UI-Achievement-Parchment-Horizontal-Desaturated]], nil, {1, 1, 1, 0.3}) CoolTip:SetWallpaper (1, [[Interface\SPELLBOOK\Spellbook-Page-1]], {.6, 0.1, 0, 0.64453125}, {1, 1, 1, 0.1}, true) + show_anti_overlap (instancia, self, "top") + CoolTip:ShowCooltip() self:SetScript ("OnUpdate", nil) @@ -3999,6 +4043,25 @@ function _detalhes:ChangeSkin (skin_name) --> reset micro frames _detalhes.StatusBar:Reset (self) + --> customize micro frames + if (this_skin.micro_frames) then + if (this_skin.micro_frames.color) then + _detalhes.StatusBar:ApplyOptions (self.StatusBar.left, "textcolor", this_skin.micro_frames.color) + _detalhes.StatusBar:ApplyOptions (self.StatusBar.center, "textcolor", this_skin.micro_frames.color) + _detalhes.StatusBar:ApplyOptions (self.StatusBar.right, "textcolor", this_skin.micro_frames.color) + end + if (this_skin.micro_frames.font) then + _detalhes.StatusBar:ApplyOptions (self.StatusBar.left, "textface", this_skin.micro_frames.font) + _detalhes.StatusBar:ApplyOptions (self.StatusBar.center, "textface", this_skin.micro_frames.font) + _detalhes.StatusBar:ApplyOptions (self.StatusBar.right, "textface", this_skin.micro_frames.font) + end + if (this_skin.micro_frames.size) then + _detalhes.StatusBar:ApplyOptions (self.StatusBar.left, "textsize", this_skin.micro_frames.size) + _detalhes.StatusBar:ApplyOptions (self.StatusBar.center, "textsize", this_skin.micro_frames.size) + _detalhes.StatusBar:ApplyOptions (self.StatusBar.right, "textsize", this_skin.micro_frames.size) + end + end + end self.skin = skin_name @@ -4129,26 +4192,6 @@ function _detalhes:ChangeSkin (skin_name) end end -----------> customize micro frames - - if (this_skin.micro_frames) then - if (this_skin.micro_frames.color) then - _detalhes.StatusBar:ApplyOptions (self.StatusBar.left, "textcolor", this_skin.micro_frames.color) - _detalhes.StatusBar:ApplyOptions (self.StatusBar.center, "textcolor", this_skin.micro_frames.color) - _detalhes.StatusBar:ApplyOptions (self.StatusBar.right, "textcolor", this_skin.micro_frames.color) - end - if (this_skin.micro_frames.font) then - _detalhes.StatusBar:ApplyOptions (self.StatusBar.left, "textface", this_skin.micro_frames.font) - _detalhes.StatusBar:ApplyOptions (self.StatusBar.center, "textface", this_skin.micro_frames.font) - _detalhes.StatusBar:ApplyOptions (self.StatusBar.right, "textface", this_skin.micro_frames.font) - end - if (this_skin.micro_frames.size) then - _detalhes.StatusBar:ApplyOptions (self.StatusBar.left, "textsize", this_skin.micro_frames.size) - _detalhes.StatusBar:ApplyOptions (self.StatusBar.center, "textsize", this_skin.micro_frames.size) - _detalhes.StatusBar:ApplyOptions (self.StatusBar.right, "textsize", this_skin.micro_frames.size) - end - end - ----------> icon anchor and size if (self.modo == 1 or self.modo == 4 or self.atributo == 5) then -- alone e raid @@ -5231,6 +5274,8 @@ function gump:CriaCabecalho (baseframe, instancia) baseframe.cabecalho.modo_selecao:SetScript ("OnLeave", function (self) OnLeaveMainWindow (instancia, self, 3) + hide_anti_overlap (instancia.baseframe.anti_menu_overlap) + if (instancia.desaturated_menu) then self:GetNormalTexture():SetDesaturated (true) end @@ -5325,6 +5370,8 @@ function gump:CriaCabecalho (baseframe, instancia) baseframe.cabecalho.segmento:SetScript ("OnLeave", function (self) --gump:Fade (baseframe.button_stretch, -1) OnLeaveMainWindow (instancia, self, 3) + + hide_anti_overlap (instancia.baseframe.anti_menu_overlap) if (instancia.desaturated_menu) then self:GetNormalTexture():SetDesaturated (true) @@ -5367,6 +5414,7 @@ function gump:CriaCabecalho (baseframe, instancia) OnEnterFunc = function (self) baseframe.cabecalho.button_mouse_over = true; OnEnterMainWindow (instancia, baseframe.cabecalho.atributo, 3) + show_anti_overlap (instancia, self, "top") if (instancia.desaturated_menu) then self:GetNormalTexture():SetDesaturated (false) end @@ -5374,6 +5422,7 @@ function gump:CriaCabecalho (baseframe, instancia) OnLeaveFunc = function (self) baseframe.cabecalho.button_mouse_over = false; OnLeaveMainWindow (instancia, baseframe.cabecalho.atributo, 3) + hide_anti_overlap (instancia.baseframe.anti_menu_overlap) if (instancia.desaturated_menu) then self:GetNormalTexture():SetDesaturated (true) end @@ -5387,7 +5436,7 @@ function gump:CriaCabecalho (baseframe, instancia) if (instancia.toolbar_side == 1) then --top return {TextSize = _detalhes.font_sizes.menus} elseif (instancia.toolbar_side == 2) then --bottom - return {TextSize = _detalhes.font_sizes.menus, HeightAnchorMod = -7} + return {TextSize = _detalhes.font_sizes.menus, HeightAnchorMod = 0} -- -7 end end end} diff --git a/plugins/Details_TinyThreat/Details_TinyThreat.lua b/plugins/Details_TinyThreat/Details_TinyThreat.lua index b0b507f1..77274936 100644 --- a/plugins/Details_TinyThreat/Details_TinyThreat.lua +++ b/plugins/Details_TinyThreat/Details_TinyThreat.lua @@ -21,6 +21,8 @@ local ThreatMeter = _detalhes:NewPluginObject ("Details_Threat") --> Main Frame local ThreatMeterFrame = ThreatMeter.Frame +local _ + local function CreatePluginFrames (data) --> catch Details! main object @@ -175,7 +177,7 @@ local function CreatePluginFrames (data) end function ThreatMeter:NewRow (i) - local newrow = DetailsFrameWork:NewBar (ThreatMeterFrame, _, "DetailsThreatRow"..i, _, 300, 14) + local newrow = DetailsFrameWork:NewBar (ThreatMeterFrame, nil, "DetailsThreatRow"..i, nil, 300, 14) newrow:SetPoint (3, -((i-1)*15)) newrow.lefttext = "bar " .. i newrow.color = "skyblue" diff --git a/startup.lua b/startup.lua index 2c33f3e3..041e83ac 100644 --- a/startup.lua +++ b/startup.lua @@ -589,7 +589,8 @@ function _G._detalhes:Start() end --register lib-hotcorners - _detalhes:RegisterHotCornerButton ("TOPLEFT", "DetailsLeftCornerButton", [[Interface\AddOns\Details\images\minimap]], "|cFFFFFFFFDetails!\n|cFF00FF00Left Click:|r clear all segments.", function() _detalhes.tabela_historico:resetar() end) + local reset_func = function() _detalhes.tabela_historico:resetar() end + _detalhes:RegisterHotCornerButton ("TOPLEFT", "DetailsLeftCornerButton", [[Interface\AddOns\Details\images\minimap]], "|cFFFFFFFFDetails!\n|cFF00FF00Left Click:|r clear all segments.", reset_func, nil, reset_func) --[[