diff --git a/boot.lua b/boot.lua index 465fcb87..3fc34917 100644 --- a/boot.lua +++ b/boot.lua @@ -8,7 +8,7 @@ _ = 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.8" + _detalhes.userversion = "v1.13.8a" _detalhes.version = "Alpha 017" _detalhes.realversion = 17 diff --git a/classes/classe_instancia_include.lua b/classes/classe_instancia_include.lua index b2ba0c5a..1a2b66ae 100644 --- a/classes/classe_instancia_include.lua +++ b/classes/classe_instancia_include.lua @@ -153,6 +153,7 @@ _detalhes.instance_defaults = { hide_in_combat_alpha = 0, --strata strata = "LOW", + grab_on_top = false, --wallpaper wallpaper = { enabled = false, diff --git a/gumps/janela_options.lua b/gumps/janela_options.lua index b18db881..7b3ad7c2 100644 --- a/gumps/janela_options.lua +++ b/gumps/janela_options.lua @@ -3429,7 +3429,24 @@ function window:CreateFrame6() frame6.stretchAnchorSlider.info = Loc ["STRING_OPTIONS_STRETCH_DESC"] window:create_line_background (frame6, frame6.stretchAnchorLabel, frame6.stretchAnchorSlider) frame6.stretchAnchorSlider:SetHook ("OnEnter", background_on_enter) - frame6.stretchAnchorSlider:SetHook ("OnLeave", background_on_leave) + frame6.stretchAnchorSlider:SetHook ("OnLeave", background_on_leave) + + --stretch button always on top + g:NewSwitch (frame6, _, "$parentStretchAlwaysOnTopSlider", "stretchAlwaysOnTopSlider", 60, 20, _, _, instance.grab_on_top) + g:NewLabel (frame6, _, "$parentStretchAlwaysOnTopLabel", "stretchAlwaysOnTopLabel", Loc ["STRING_OPTIONS_STRETCHTOP"], "GameFontHighlightLeft") + + frame6.stretchAlwaysOnTopSlider:SetPoint ("left", frame6.stretchAlwaysOnTopLabel, "right", 2, 0) + + frame6.stretchAlwaysOnTopSlider.OnSwitch = function (self, instance, value) + instance:StretchButtonAlwaysOnTop (value) + end + + frame6.stretchAlwaysOnTopSlider.info = Loc ["STRING_OPTIONS_STRETCHTOP_DESC"] + window:create_line_background (frame6, frame6.stretchAlwaysOnTopLabel, frame6.stretchAlwaysOnTopSlider) + frame6.stretchAlwaysOnTopSlider:SetHook ("OnEnter", background_on_enter) + frame6.stretchAlwaysOnTopSlider:SetHook ("OnLeave", background_on_leave) + + -- instance toolbar side g:NewSwitch (frame6, _, "$parentInstanceToolbarSideSlider", "instanceToolbarSideSlider", 80, 20, Loc ["STRING_BOTTOM"], Loc ["STRING_TOP"], instance.toolbar_side, nil, grow_switch_func, grow_return_func) @@ -3530,9 +3547,11 @@ function window:CreateFrame6() instance:SetFrameStrata (strataName) end local strataTable = { + {value = "BACKGROUND", label = "Background", onclick = onStrataSelect, icon = [[Interface\Buttons\UI-MicroStream-Green]], iconcolor = {0, .5, 0, .8}, texcoord = nil}, --Interface\Buttons\UI-MicroStream-Green UI-MicroStream-Red UI-MicroStream-Yellow {value = "LOW", label = "Low", onclick = onStrataSelect, icon = [[Interface\Buttons\UI-MicroStream-Green]] , texcoord = nil}, --Interface\Buttons\UI-MicroStream-Green UI-MicroStream-Red UI-MicroStream-Yellow {value = "MEDIUM", label = "Medium", onclick = onStrataSelect, icon = [[Interface\Buttons\UI-MicroStream-Yellow]] , texcoord = nil}, --Interface\Buttons\UI-MicroStream-Green UI-MicroStream-Red UI-MicroStream-Yellow - {value = "HIGH", label = "High", onclick = onStrataSelect, icon = [[Interface\Buttons\UI-MicroStream-Red]] , texcoord = nil}, --Interface\Buttons\UI-MicroStream-Green UI-MicroStream-Red UI-MicroStream-Yellow + {value = "HIGH", label = "High", onclick = onStrataSelect, icon = [[Interface\Buttons\UI-MicroStream-Yellow]] , iconcolor = {1, .7, 0, 1}, texcoord = nil}, --Interface\Buttons\UI-MicroStream-Green UI-MicroStream-Red UI-MicroStream-Yellow + {value = "DIALOG", label = "Dialog", onclick = onStrataSelect, icon = [[Interface\Buttons\UI-MicroStream-Red]] , iconcolor = {1, 0, 0, 1}, texcoord = nil}, --Interface\Buttons\UI-MicroStream-Green UI-MicroStream-Red UI-MicroStream-Yellow } local buildStrataMenu = function() return strataTable end @@ -3582,10 +3601,11 @@ function window:CreateFrame6() frame6.instanceMicroDisplaysSideLabel:SetPoint (10, -195) frame6.backdropLabel:SetPoint (10, -220) frame6.strataLabel:SetPoint (10, -245) + frame6.stretchAlwaysOnTopLabel:SetPoint (10, -270) - frame6.statusbarAnchorLabel:SetPoint (10, -280) - frame6.statusbarLabel:SetPoint (10, -305) --statusbar - frame6.statusbarColorLabel:SetPoint (10, -330) + frame6.statusbarAnchorLabel:SetPoint (10, -305) + frame6.statusbarLabel:SetPoint (10, -330) --statusbar + frame6.statusbarColorLabel:SetPoint (10, -355) end @@ -5138,9 +5158,11 @@ end --> if not window --> Show local strata = { + ["BACKGROUND"] = "Background", ["LOW"] = "Low", ["MEDIUM"] = "Medium", - ["HIGH"] = "High" + ["HIGH"] = "High", + ["DIALOG"] = "Dialog" } function window:update_all (editing_instance) @@ -5185,6 +5207,9 @@ function window:update_all (editing_instance) _G.DetailsOptionsWindow6StrataDropdown.MyObject:SetFixedParameter (editing_instance) _G.DetailsOptionsWindow6StrataDropdown.MyObject:Select (strata [editing_instance.strata] or "Low") + _G.DetailsOptionsWindow6StretchAlwaysOnTopSlider.MyObject:SetFixedParameter (editing_instance) + _G.DetailsOptionsWindow6StretchAlwaysOnTopSlider.MyObject:SetValue (editing_instance.grab_on_top) + _G.DetailsOptionsWindow6InstanceMicroDisplaysSideSlider.MyObject:SetFixedParameter (editing_instance) _G.DetailsOptionsWindow6InstanceMicroDisplaysSideSlider.MyObject:SetValue (editing_instance.micro_displays_side) diff --git a/gumps/janela_principal.lua b/gumps/janela_principal.lua index bbbbe5c8..325e05f7 100644 --- a/gumps/janela_principal.lua +++ b/gumps/janela_principal.lua @@ -1521,7 +1521,8 @@ local function button_stretch_scripts (baseframe, backgrounddisplay, instancia) esta_instancia.baseframe:SetFrameStrata (baseframe_strata) esta_instancia.rowframe:SetFrameStrata (baseframe_strata) - --esta_instancia.baseframe.button_stretch:SetFrameStrata ("FULLSCREEN") + esta_instancia:StretchButtonAlwaysOnTop() + _detalhes:SendEvent ("DETAILS_INSTANCE_ENDSTRETCH", nil, esta_instancia.baseframe) end instancia.stretchToo = nil @@ -1539,7 +1540,7 @@ local function button_stretch_scripts (baseframe, backgrounddisplay, instancia) baseframe:SetFrameStrata (baseframe_strata) instancia.rowframe:SetFrameStrata (baseframe_strata) - --baseframe.button_stretch:SetFrameStrata ("FULLSCREEN") + instancia:StretchButtonAlwaysOnTop() _detalhes:SnapTextures (false) @@ -1858,7 +1859,7 @@ end function CreateAlertFrame (baseframe, instancia) - local alert_bg = CreateFrame ("frame", nil, baseframe) + local alert_bg = CreateFrame ("frame", "DetailsAlertFrame" .. instancia.meu_id, baseframe) alert_bg:SetPoint ("bottom", baseframe, "bottom") alert_bg:SetPoint ("left", baseframe, "left", 3, 0) alert_bg:SetPoint ("right", baseframe, "right", -3, 0) @@ -1884,7 +1885,7 @@ function CreateAlertFrame (baseframe, instancia) _detalhes:SetFontSize (text, 10) text:SetTextColor (1, 1, 1, 1) - local rotate_frame = CreateFrame ("frame", nil, alert_bg) + local rotate_frame = CreateFrame ("frame", "DetailsAlertFrameRotate" .. instancia.meu_id, alert_bg) rotate_frame:SetWidth (12) rotate_frame:SetPoint ("right", alert_bg, "right", -2, 0) rotate_frame:SetHeight (alert_bg:GetWidth()) @@ -2054,8 +2055,8 @@ function gump:CriaJanelaPrincipal (ID, instancia, criando) baseframe.scroll_middle:SetHeight (64) --> scroll widgets - baseframe.button_up = CreateFrame ("button", nil, backgrounddisplay) - baseframe.button_down = CreateFrame ("button", nil, backgrounddisplay) + baseframe.button_up = CreateFrame ("button", "DetailsScrollUp" .. instancia.meu_id, backgrounddisplay) + baseframe.button_down = CreateFrame ("button", "DetailsScrollDown" .. instancia.meu_id, backgrounddisplay) baseframe.button_up:SetWidth (29) baseframe.button_up:SetHeight (32) @@ -2098,9 +2099,10 @@ function gump:CriaJanelaPrincipal (ID, instancia, criando) -- stretch button ----------------------------------------------------------------------------------------------------------------------------------------------- - baseframe.button_stretch = CreateFrame ("button", nil, baseframe) + baseframe.button_stretch = CreateFrame ("button", "DetailsButtonStretch" .. instancia.meu_id, baseframe) baseframe.button_stretch:SetPoint ("bottom", baseframe, "top", 0, 20) baseframe.button_stretch:SetPoint ("right", baseframe, "right", -27, 0) + baseframe.button_stretch:SetFrameLevel (15) --baseframe.button_stretch:SetFrameStrata ("FULLSCREEN") local stretch_texture = baseframe.button_stretch:CreateTexture (nil, "overlay") @@ -2328,7 +2330,7 @@ function gump:CriaJanelaPrincipal (ID, instancia, criando) -- side bars highlights ------------------------------------------------------------------------------------------------------------------------------------------------------------ --> top - local fcima = CreateFrame ("frame", nil, baseframe.cabecalho.fechar) + local fcima = CreateFrame ("frame", "DetailsTopSideBarHighlight" .. instancia.meu_id, baseframe.cabecalho.fechar) fcima:SetPoint ("topleft", baseframe.cabecalho.top_bg, "bottomleft", -10, 37) fcima:SetPoint ("topright", baseframe.cabecalho.ball_r, "bottomright", -33, 37) gump:CreateFlashAnimation (fcima) @@ -2342,7 +2344,7 @@ function gump:CriaJanelaPrincipal (ID, instancia, criando) instancia.h_cima = fcima --> bottom - local fbaixo = CreateFrame ("frame", nil, baseframe.cabecalho.fechar) + local fbaixo = CreateFrame ("frame", "DetailsBottomSideBarHighlight" .. instancia.meu_id, baseframe.cabecalho.fechar) fbaixo:SetPoint ("topleft", baseframe.rodape.esquerdo, "bottomleft", 16, 17) fbaixo:SetPoint ("topright", baseframe.rodape.direita, "bottomright", -16, 17) gump:CreateFlashAnimation (fbaixo) @@ -2356,7 +2358,7 @@ function gump:CriaJanelaPrincipal (ID, instancia, criando) instancia.h_baixo = fbaixo --> left - local fesquerda = CreateFrame ("frame", nil, baseframe.cabecalho.fechar) + local fesquerda = CreateFrame ("frame", "DetailsLeftSideBarHighlight" .. instancia.meu_id, baseframe.cabecalho.fechar) fesquerda:SetPoint ("topleft", baseframe.barra_esquerda, "topleft", -8, 0) fesquerda:SetPoint ("bottomleft", baseframe.barra_esquerda, "bottomleft", -8, 0) gump:CreateFlashAnimation (fesquerda) @@ -2370,7 +2372,7 @@ function gump:CriaJanelaPrincipal (ID, instancia, criando) instancia.h_esquerda = fesquerda --> right - local fdireita = CreateFrame ("frame", nil, baseframe.cabecalho.fechar) + local fdireita = CreateFrame ("frame", "DetailsRightSideBarHighlight" .. instancia.meu_id, baseframe.cabecalho.fechar) fdireita:SetPoint ("topleft", baseframe.barra_direita, "topleft", 8, 18) fdireita:SetPoint ("bottomleft", baseframe.barra_direita, "bottomleft", 8, 0) gump:CreateFlashAnimation (fdireita) @@ -3411,20 +3413,20 @@ function gump:CriaRodape (baseframe, instancia) baseframe.rodape.top_bg:SetPoint ("left", baseframe.rodape.esquerdo, "right", -16, -48) baseframe.rodape.top_bg:SetPoint ("right", baseframe.rodape.direita, "left", 16, -48) - local StatusBarLeftAnchor = CreateFrame ("frame", nil, baseframe) + local StatusBarLeftAnchor = CreateFrame ("frame", "DetailsStatusBarAnchorLeft" .. instancia.meu_id, baseframe) StatusBarLeftAnchor:SetPoint ("left", baseframe.rodape.top_bg, "left", 5, 57) StatusBarLeftAnchor:SetWidth (1) StatusBarLeftAnchor:SetHeight (1) baseframe.rodape.StatusBarLeftAnchor = StatusBarLeftAnchor - local StatusBarCenterAnchor = CreateFrame ("frame", nil, baseframe) + local StatusBarCenterAnchor = CreateFrame ("frame", "DetailsStatusBarAnchorCenter" .. instancia.meu_id, baseframe) StatusBarCenterAnchor:SetPoint ("center", baseframe.rodape.top_bg, "center", 0, 57) StatusBarCenterAnchor:SetWidth (1) StatusBarCenterAnchor:SetHeight (1) baseframe.rodape.StatusBarCenterAnchor = StatusBarCenterAnchor --> display frame - baseframe.statusbar = CreateFrame ("frame", nil, baseframe.cabecalho.fechar) + baseframe.statusbar = CreateFrame ("frame", "DetailsStatusBar" .. instancia.meu_id, baseframe.cabecalho.fechar) baseframe.statusbar:SetFrameLevel (baseframe.cabecalho.fechar:GetFrameLevel()+2) baseframe.statusbar:SetPoint ("left", baseframe.rodape.esquerdo, "right", -13, 10) baseframe.statusbar:SetPoint ("right", baseframe.rodape.direita, "left", 13, 10) @@ -3450,7 +3452,7 @@ function gump:CriaRodape (baseframe, instancia) baseframe.statusbar:Hide() --> frame invisível - baseframe.DOWNFrame = CreateFrame ("frame", nil, baseframe) + baseframe.DOWNFrame = CreateFrame ("frame", "DetailsDownFrame" .. instancia.meu_id, baseframe) baseframe.DOWNFrame:SetPoint ("left", baseframe.rodape.esquerdo, "right", 0, 10) baseframe.DOWNFrame:SetPoint ("right", baseframe.rodape.direita, "left", 0, 10) baseframe.DOWNFrame:SetHeight (14) @@ -4479,6 +4481,8 @@ function _detalhes:SetFrameStrata (strata) self.rowframe:SetFrameStrata (strata) self.baseframe:SetFrameStrata (strata) + self:StretchButtonAlwaysOnTop() + end function _detalhes:LeftMenuAnchorSide (side) @@ -4892,6 +4896,22 @@ function _detalhes:ToolbarSide (side) end +function _detalhes:StretchButtonAlwaysOnTop (on_top) + + if (type (on_top) ~= "boolean") then + on_top = self.grab_on_top + end + + self.grab_on_top = on_top + + if (self.grab_on_top) then + self.baseframe.button_stretch:SetFrameStrata ("FULLSCREEN") + else + self.baseframe.button_stretch:SetFrameStrata (self.strata) + end + +end + function _detalhes:StretchButtonAnchor (side) if (not side) then @@ -5178,6 +5198,7 @@ function _detalhes:HideStatusBar (instancia) self.baseframe.rodape.top_bg:Hide() self.baseframe.rodape.StatusBarLeftAnchor:Hide() self.baseframe.rodape.StatusBarCenterAnchor:Hide() + self.baseframe.DOWNFrame:Hide() if (self.toolbar_side == 2) then self:ToolbarSide() @@ -5229,6 +5250,7 @@ function _detalhes:ShowStatusBar (instancia) self.baseframe.rodape.top_bg:Show() self.baseframe.rodape.StatusBarLeftAnchor:Show() self.baseframe.rodape.StatusBarCenterAnchor:Show() + self.baseframe.DOWNFrame:Show() self:ToolbarSide() self:StretchButtonAnchor() @@ -5246,7 +5268,7 @@ function gump:CriaCabecalho (baseframe, instancia) baseframe.cabecalho = {} --> FECHAR INSTANCIA ---------------------------------------------------------------------------------------------------------------------------------------------------- - baseframe.cabecalho.fechar = CreateFrame ("button", nil, baseframe, "UIPanelCloseButton") + baseframe.cabecalho.fechar = CreateFrame ("button", "DetailsCloseInstanceButton" .. instancia.meu_id, baseframe, "UIPanelCloseButton") baseframe.cabecalho.fechar:SetWidth (32) baseframe.cabecalho.fechar:SetHeight (32) baseframe.cabecalho.fechar:SetFrameLevel (5) --> altura mais alta que os demais frames @@ -5351,20 +5373,20 @@ function gump:CriaCabecalho (baseframe, instancia) BGFrame_scripts (baseframe.UPFrameLeftPart, baseframe, instancia) --> anchors para os micro displays no lado de cima da janela - local StatusBarLeftAnchor = CreateFrame ("frame", nil, baseframe) + local StatusBarLeftAnchor = CreateFrame ("frame", "DetailsStatusBarLeftAnchor" .. instancia.meu_id, baseframe) StatusBarLeftAnchor:SetPoint ("bottomleft", baseframe, "topleft", 0, 9) StatusBarLeftAnchor:SetWidth (1) StatusBarLeftAnchor:SetHeight (1) baseframe.cabecalho.StatusBarLeftAnchor = StatusBarLeftAnchor - local StatusBarCenterAnchor = CreateFrame ("frame", nil, baseframe) + local StatusBarCenterAnchor = CreateFrame ("frame", "DetailsStatusBarCenterAnchor" .. instancia.meu_id, baseframe) StatusBarCenterAnchor:SetPoint ("center", baseframe, "center") StatusBarCenterAnchor:SetPoint ("bottom", baseframe, "top", 0, 9) StatusBarCenterAnchor:SetWidth (1) StatusBarCenterAnchor:SetHeight (1) baseframe.cabecalho.StatusBarCenterAnchor = StatusBarCenterAnchor - local StatusBarRightAnchor = CreateFrame ("frame", nil, baseframe) + local StatusBarRightAnchor = CreateFrame ("frame", "DetailsStatusBarRightAnchor" .. instancia.meu_id, baseframe) StatusBarRightAnchor:SetPoint ("bottomright", baseframe, "topright", 0, 9) StatusBarRightAnchor:SetWidth (1) StatusBarRightAnchor:SetHeight (1) diff --git a/plugins/Details_EncounterDetails/images/icon.tga b/plugins/Details_EncounterDetails/images/icon.tga new file mode 100644 index 00000000..8033b089 Binary files /dev/null and b/plugins/Details_EncounterDetails/images/icon.tga differ diff --git a/plugins/Details_Vanguard/Details_Vanguard.lua b/plugins/Details_Vanguard/Details_Vanguard.lua index 03e0f34a..d04a707b 100644 --- a/plugins/Details_Vanguard/Details_Vanguard.lua +++ b/plugins/Details_Vanguard/Details_Vanguard.lua @@ -482,7 +482,7 @@ local function CreatePluginFrames (data) --> Get damage actor local actorDamage = Vanguard:GetActor ("current", DETAILS_ATTRIBUTE_DAMAGE, _track_player_name) --> [1] combat [2] attribute [3] name - if (actorDamage) then + if (actorDamage and actorDamage.avoidance) then --> members can be found at details/classes/classe_damage line 75 local avoidance = actorDamage.avoidance --> table with DODGE, PARRY, HITS members @@ -999,7 +999,7 @@ local function CreatePluginFrames (data) on_second_tick = 0 end - if (half_second_tick > 0.5) then + if (half_second_tick > 0.5 and _track_player_object.avoidance) then --> capture the amount of hits and avoids @@ -1133,6 +1133,7 @@ local function CreatePluginFrames (data) function Vanguard:Start() if (not Vanguard.Running) then + --print ("return 1") return else --> reset widgets @@ -1150,16 +1151,18 @@ local function CreatePluginFrames (data) if (not _track_player_object) then --print ("Vanguard: Object not found 1.") _detalhes:ScheduleTimer ("VanguardWait", 1) + --print ("return 2") return end _track_player_name = MyTarget local role = UnitGroupRolesAssigned (_track_player_name) - if (role ~= "TANK") then - _detalhes:ScheduleTimer ("VanguardWait", 1) - return - end + --if (role ~= "TANK") then + -- _detalhes:ScheduleTimer ("VanguardWait", 1) + -- print ("return 3") + -- return + --end if (VanguardFrame.InfoShown) then Vanguard:VanguardRefreshInfoFrame() @@ -1169,16 +1172,18 @@ local function CreatePluginFrames (data) if (not _track_player_object) then --print ("Vanguard: Object not found 2.") _detalhes:ScheduleTimer ("VanguardWait", 1) + --print ("return 4") return end _track_player_name = MyName local role = UnitGroupRolesAssigned (_track_player_name) - if (role ~= "TANK") then - _detalhes:ScheduleTimer ("VanguardWait", 1) - return - end + --if (role ~= "TANK") then + -- _detalhes:ScheduleTimer ("VanguardWait", 1) + -- print ("return 5") + -- return + --end if (VanguardFrame.InfoShown) then Vanguard:VanguardRefreshInfoFrame() @@ -1199,6 +1204,7 @@ local function CreatePluginFrames (data) damage_now = 0 damage_taken = {} + --print ("vanguard starting... 3 ...") VanguardFrame:SetScript ("OnUpdate", onupdate) end