- Added option for percentage: follow the combat totals or the first player total.
- Added option for show or hide the left buttons on menu bar. - Added option for change the left buttons size in the menu bar. - Added option for delete a instance. - 'Instance Segment' Mini display now is more accuracy about telling the enemy in the segment. - Player Details Window now show all pet abilities instead of just the total pet damage. - Rework done on report texts, now the title is more shorter and also format Dps and Hps numbers. - Simple Gray and again ElvUI skins got some rework. - Added Mind Sear (mastery) for priest in the spell customization. - Fixed the stretch button strata which was making the button shows up to any other frame when hover over. - Lib HotCorner now is broker based and shows up all broker plugins in the bar. - Removed the lower instance consolidate menu. - Removed ErrorReport and SavaData plugins. - NewAPI: _detalhes:GetCombatName() returns the combat enemy, boss, battleground. - NewAPI: _detalhes:DeleteInstance (ID) erase a instance. - NewAPI: _detalhes:GetClassColor (class or actor) return the table with the color.
This commit is contained in:
@@ -5,6 +5,10 @@ if (not LibHotCorners) then
|
||||
return
|
||||
end
|
||||
|
||||
local LBD = LibStub ("LibDataBroker-1.1")
|
||||
|
||||
local debug = false
|
||||
|
||||
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
--> main function
|
||||
|
||||
@@ -13,6 +17,7 @@ end
|
||||
"RegisterHotCornerButton",
|
||||
"HideHotCornerButton"
|
||||
}
|
||||
|
||||
function LibHotCorners:Embed (target)
|
||||
for k, v in pairs (embed_functions) do
|
||||
target[v] = self[v]
|
||||
@@ -24,7 +29,7 @@ end
|
||||
local CallbackHandler = LibStub:GetLibrary ("CallbackHandler-1.0")
|
||||
LibHotCorners.callbacks = LibHotCorners.callbacks or CallbackHandler:New (LibHotCorners)
|
||||
|
||||
LibHotCorners.topleft = {widgets = {}, quickclick = false, is_enabled = false, map = {}}
|
||||
LibHotCorners.topleft = LibHotCorners.topleft or {widgets = {}, quickclick = false, is_enabled = false, map = {}}
|
||||
LibHotCorners.bottomleft = {}
|
||||
LibHotCorners.topright = {}
|
||||
LibHotCorners.bottomright = {}
|
||||
@@ -33,11 +38,11 @@ end
|
||||
assert (corner == "topleft" or corner == "bottomleft" or corner == "topright" or corner == "bottomright", "LibHotCorners:RegisterAddon expects a corner on #1 argument.")
|
||||
end
|
||||
|
||||
function LibHotCorners:RegisterHotCornerButton (name, corner, savedtable, fname, icon, tooltip, clickfunc, menus, quickfunc)
|
||||
function LibHotCorners:RegisterHotCornerButton (name, corner, savedtable, fname, icon, tooltip, clickfunc, menus, quickfunc, onenter, onleave)
|
||||
corner = string.lower (corner)
|
||||
test (corner)
|
||||
|
||||
tinsert (LibHotCorners [corner], {name = name, fname = fname, savedtable = savedtable, icon = icon, tooltip = tooltip, click = clickfunc, menus = menus, quickfunc = quickclick})
|
||||
tinsert (LibHotCorners [corner], {name = name, fname = fname, savedtable = savedtable, icon = icon, tooltip = tooltip, click = clickfunc, menus = menus, quickfunc = quickclick, onenter = onenter, onleave = onleave})
|
||||
LibHotCorners [corner].map [name] = #LibHotCorners [corner]
|
||||
|
||||
if (not savedtable.hide) then
|
||||
@@ -88,7 +93,8 @@ end
|
||||
local addon_table = corner_table [corner_table.map [name]]
|
||||
|
||||
addon_table.savedtable.hide = value
|
||||
|
||||
|
||||
print (LibHotCorners, corner)
|
||||
LibHotCorners [corner].is_enabled = false
|
||||
|
||||
for index, button_table in ipairs (corner_table) do
|
||||
@@ -100,112 +106,176 @@ end
|
||||
|
||||
return true
|
||||
end
|
||||
|
||||
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
--> data broker stuff
|
||||
function LibHotCorners:DataBrokerCallback (event, name, dataobj)
|
||||
if (not name or not dataobj or not dataobj.type) then
|
||||
return
|
||||
end
|
||||
if (dataobj.icon and dataobj.OnClick and not dataobj.HotCornerIgnore) then
|
||||
LibHotCorners:RegisterHotCornerButton (name, "TopLeft", {}, name .. "HotCornerLauncher", dataobj.icon, dataobj.OnTooltipShow, dataobj.OnClick, nil, nil, dataobj.OnEnter, dataobj.OnLeave)
|
||||
end
|
||||
end
|
||||
LBD.RegisterCallback (LibHotCorners, "DataBrokerCallback")
|
||||
|
||||
local f = CreateFrame ("frame")
|
||||
f:RegisterEvent ("PLAYER_LOGIN")
|
||||
f:SetScript ("OnEvent", function()
|
||||
for name, dataobj in LBD:DataObjectIterator() do
|
||||
if (dataobj.type and dataobj.icon and dataobj.OnClick and not dataobj.HotCornerIgnore) then
|
||||
LibHotCorners:RegisterHotCornerButton (name, "TopLeft", {}, name .. "HotCornerLauncher", dataobj.icon, dataobj.OnTooltipShow, dataobj.OnClick, nil, nil, dataobj.OnEnter, dataobj.OnLeave)
|
||||
end
|
||||
end
|
||||
--for k, v in pairs (LBD.attributestorage) do
|
||||
-- print (k, v.type)
|
||||
--end
|
||||
f:UnregisterEvent ("PLAYER_LOGIN")
|
||||
end)
|
||||
|
||||
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
--> scripts
|
||||
|
||||
--> set size
|
||||
local function set_size (self)
|
||||
if (self.position == "topleft" or self.position == "topright") then
|
||||
self:SetSize (40, GetScreenHeight())
|
||||
else
|
||||
self:SetSize (GetScreenWidth(), 40)
|
||||
end
|
||||
end
|
||||
|
||||
--> show tooltip
|
||||
local show_tooltip = function (self)
|
||||
if (self.table.tooltip) then
|
||||
if (type (self.table.tooltip) == "function") then
|
||||
GameTooltip:SetOwner (self, "ANCHOR_RIGHT")
|
||||
self.table.tooltip (GameTooltip)
|
||||
GameTooltip:Show()
|
||||
elseif (type (self.table.tooltip) == "string") then
|
||||
GameTooltip:SetOwner (self, "ANCHOR_RIGHT")
|
||||
GameTooltip:AddLine (self.table.tooltip)
|
||||
GameTooltip:Show()
|
||||
end
|
||||
elseif (self.table.onenter) then
|
||||
self.table.onenter (self)
|
||||
end
|
||||
end
|
||||
|
||||
--> corner frame on enter
|
||||
function HotCornersOnEnter (self)
|
||||
if (not LibHotCorners [self.position].is_enabled) then
|
||||
return
|
||||
end
|
||||
|
||||
set_size (self)
|
||||
|
||||
local i = 1
|
||||
|
||||
for index, button_table in ipairs (LibHotCorners [self.position]) do
|
||||
if (not button_table.widget) then
|
||||
LibHotCorners:CreateAddonWidget (self, button_table, index, self.position)
|
||||
end
|
||||
|
||||
if (not button_table.savedtable.hide) then
|
||||
if (self.position == "topleft" or self.position == "topright") then
|
||||
local y = i * 35 * -1
|
||||
button_table.widget:SetPoint ("topleft", self, "topleft", 4, y)
|
||||
button_table.widget.y = y
|
||||
else
|
||||
local x = i * 35
|
||||
button_table.widget:SetPoint ("topleft", self, "topleft", x, -4)
|
||||
button_table.widget.x = x
|
||||
end
|
||||
|
||||
button_table.widget:Show()
|
||||
i = i + 1
|
||||
else
|
||||
button_table.widget:Hide()
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
--> corner frame on leave
|
||||
function HotCornersOnLeave (self)
|
||||
self:SetSize (1, 1)
|
||||
for index, button_table in ipairs (LibHotCorners [self.position]) do
|
||||
button_table.widget:Hide()
|
||||
end
|
||||
end
|
||||
|
||||
--> quick corner on click
|
||||
function HotCornersOnQuickClick (self, button)
|
||||
local parent_position = self:GetParent().position
|
||||
if (LibHotCorners [parent_position].quickfunc) then
|
||||
LibHotCorners [parent_position].quickfunc (self, button)
|
||||
end
|
||||
end
|
||||
|
||||
--> button onenter
|
||||
function HotCornersButtonOnEnter (self)
|
||||
set_size (self:GetParent())
|
||||
for index, button_table in ipairs (LibHotCorners [self:GetParent().position]) do
|
||||
button_table.widget:Show()
|
||||
end
|
||||
show_tooltip (self)
|
||||
end
|
||||
|
||||
--> button onleave
|
||||
function HotCornersButtonOnLeave (self)
|
||||
GameTooltip:Hide()
|
||||
if (self.table.onleave) then
|
||||
self.table.onleave (self)
|
||||
end
|
||||
self:GetParent():GetScript("OnLeave")(self:GetParent())
|
||||
end
|
||||
|
||||
--> button onmousedown
|
||||
function HotCornersButtonOnMouseDown (self, button)
|
||||
if (self:GetParent().position == "topleft" or self:GetParent().position == "topright") then
|
||||
self:SetPoint ("topleft", self:GetParent(), "topleft", 5, self.y - 1)
|
||||
else
|
||||
self:SetPoint ("topleft", self:GetParent(), "topleft", self.x+1, -6)
|
||||
end
|
||||
end
|
||||
|
||||
--> button onmouseup
|
||||
function HotCornersButtonOnMouseUp (self, button)
|
||||
if (self:GetParent().position == "topleft" or self:GetParent().position == "topright") then
|
||||
self:SetPoint ("topleft", self:GetParent(), "topleft", 4, self.y)
|
||||
else
|
||||
self:SetPoint ("topleft", self:GetParent(), "topleft", self.x, -4)
|
||||
end
|
||||
if (self.table.click) then
|
||||
self.table.click (self, button)
|
||||
end
|
||||
end
|
||||
|
||||
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
--> create top left corner
|
||||
|
||||
local TopLeftCorner = CreateFrame ("frame", "LibHotCornersTopLeft", UIParent)
|
||||
|
||||
TopLeftCorner:SetSize (1, 1)
|
||||
TopLeftCorner:SetFrameStrata ("fullscreen")
|
||||
TopLeftCorner:SetPoint ("TopLeft", UIParent, "TopLeft", 0, 0)
|
||||
|
||||
local TopLeftCornerBackdrop = {bgFile = [[Interface\DialogFrame\UI-DialogBox-Background]], tile = true, tileSize = 40}
|
||||
|
||||
--> on enter
|
||||
local TopLeftCornerOnEnter = function (self)
|
||||
|
||||
if (not LibHotCorners.topleft.is_enabled) then
|
||||
return
|
||||
end
|
||||
|
||||
self:SetSize (40, GetScreenHeight())
|
||||
TopLeftCorner:SetBackdrop (TopLeftCornerBackdrop)
|
||||
|
||||
local i = 1
|
||||
|
||||
for index, button_table in ipairs (LibHotCorners.topleft) do
|
||||
if (not button_table.widget) then
|
||||
LibHotCorners:CreateAddonWidget (TopLeftCorner, button_table, index, "TopLeft")
|
||||
end
|
||||
|
||||
if (not button_table.savedtable.hide) then
|
||||
button_table.widget:SetPoint ("topleft", self, "topleft", 4, i * 32 * -1)
|
||||
button_table.widget:Show()
|
||||
i = i + 1
|
||||
else
|
||||
button_table.widget:Hide()
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
--> on leave
|
||||
local TopLeftCornerOnLeave = function (self)
|
||||
self:SetSize (1, 1)
|
||||
TopLeftCorner:SetBackdrop (nil)
|
||||
for index, button_table in ipairs (LibHotCorners.topleft) do
|
||||
button_table.widget:Hide()
|
||||
end
|
||||
end
|
||||
|
||||
TopLeftCorner:SetScript ("OnEnter", TopLeftCornerOnEnter)
|
||||
TopLeftCorner:SetScript ("OnLeave", TopLeftCornerOnLeave)
|
||||
local TopLeftCorner = CreateFrame ("Frame", "LibHotCornersTopLeft", nil, "HotCornersFrameCornerTemplate")
|
||||
TopLeftCorner:SetPoint ("topleft", UIParent, "topleft", 0, 0)
|
||||
TopLeftCorner.position = "topleft"
|
||||
|
||||
--fast corner button
|
||||
local QuickClickButton = CreateFrame ("button", "LibHotCornersTopLeftFastButton", TopLeftCorner)
|
||||
QuickClickButton:SetPoint ("topleft", TopLeftCorner, "topleft")
|
||||
QuickClickButton:SetSize (1, 1)
|
||||
QuickClickButton:SetScript ("OnClick", function (self, button)
|
||||
if (LibHotCorners.topleft.quickfunc) then
|
||||
LibHotCorners.topleft.quickfunc (self, button)
|
||||
end
|
||||
end)
|
||||
|
||||
QuickClickButton:SetScript ("OnEnter", function()
|
||||
TopLeftCornerOnEnter (TopLeftCorner)
|
||||
end)
|
||||
local QuickClickButton = CreateFrame ("button", "LibHotCornersTopLeftFastButton", TopLeftCorner, "HotCornersQuickCornerButtonTemplate")
|
||||
|
||||
if (debug) then
|
||||
QuickClickButton:SetSize (20, 20)
|
||||
QuickClickButton:SetBackdrop ({bgFile = [[Interface\DialogFrame\UI-DialogBox-Gold-Background]], tile = true, tileSize = 40})
|
||||
QuickClickButton:SetBackdropColor (1, 0, 0, 1)
|
||||
end
|
||||
|
||||
LibHotCorners.topleft.quickbutton = QuickClickButton
|
||||
|
||||
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
--> buttons
|
||||
|
||||
local ShowTooltip = function (self)
|
||||
if (self.table.tooltip) then
|
||||
GameTooltip:SetOwner (self, "ANCHOR_RIGHT")
|
||||
GameTooltip:AddLine (self.table.tooltip)
|
||||
GameTooltip:Show()
|
||||
end
|
||||
end
|
||||
|
||||
local WidgetOnEnter = function (self)
|
||||
self.parent:GetScript("OnEnter")(self.parent)
|
||||
ShowTooltip (self)
|
||||
end
|
||||
local WidgetOnLeave = function (self)
|
||||
self:SetPoint ("topleft", self.parent, "topleft", 4, self.index*32*-1)
|
||||
self.parent:GetScript("OnLeave")(self.parent)
|
||||
GameTooltip:Hide()
|
||||
end
|
||||
local WidgetOnMouseDown = function (self)
|
||||
self:SetPoint ("topleft", self.parent, "topleft", 5, self.index*33*-1)
|
||||
end
|
||||
local WidgetOnMouseUp = function (self, button)
|
||||
self:SetPoint ("topleft", self.parent, "topleft", 4, self.index*32*-1)
|
||||
|
||||
--> if the widget have a click function, run it
|
||||
if (self.table.click) then
|
||||
self.table.click (self, button)
|
||||
end
|
||||
end
|
||||
|
||||
function LibHotCorners:CreateAddonWidget (frame, button_table, index, side)
|
||||
|
||||
--> create the button
|
||||
local button = CreateFrame ("button", "LibHotCorners" .. side .. button_table.fname, frame)
|
||||
button:SetFrameLevel (frame:GetFrameLevel()+1)
|
||||
local button = CreateFrame ("button", "LibHotCorners" .. side .. button_table.fname, frame, "HotCornersButtonTemplate")
|
||||
|
||||
--> write some attributes
|
||||
button.index = index
|
||||
@@ -217,15 +287,10 @@ end
|
||||
button:SetNormalTexture (button_table.icon)
|
||||
button:SetHighlightTexture (button_table.icon)
|
||||
|
||||
--> set the point and size
|
||||
button:SetSize (32, 32)
|
||||
button:Hide()
|
||||
|
||||
--> set the scripts
|
||||
button:SetScript ("OnEnter", WidgetOnEnter)
|
||||
button:SetScript ("OnLeave", WidgetOnLeave)
|
||||
button:SetScript ("OnMouseDown", WidgetOnMouseDown)
|
||||
button:SetScript ("OnMouseUp", WidgetOnMouseUp)
|
||||
if (string.lower (button_table.icon):find ([[\icons\]])) then
|
||||
button:GetNormalTexture():SetTexCoord (0.078125, 0.9375, 0.078125, 0.9375)
|
||||
button:GetHighlightTexture():SetTexCoord (0.078125, 0.9375, 0.078125, 0.9375)
|
||||
end
|
||||
|
||||
return button
|
||||
end
|
||||
@@ -1,3 +1,67 @@
|
||||
<Ui xmlns="http://www.blizzard.com/wow/ui/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.blizzard.com/wow/ui/..\FrameXML\UI.xsd">
|
||||
|
||||
<Frame name="HotCornersFrameCornerTemplate" frameStrata="FULLSCREEN" virtual="true" parent="UIParent">
|
||||
<Size x="1" y="1"/>
|
||||
<Backdrop bgFile="Interface\DialogFrame\UI-DialogBox-Background" tile="true">
|
||||
<TileSize>
|
||||
<AbsValue val="40"/>
|
||||
</TileSize>
|
||||
<BackgroundInsets>
|
||||
<AbsInset left="0" right="0" top="0" bottom="0"/>
|
||||
</BackgroundInsets>
|
||||
</Backdrop>
|
||||
|
||||
<Scripts>
|
||||
<OnEnter>
|
||||
HotCornersOnEnter (self)
|
||||
</OnEnter>
|
||||
<OnLeave>
|
||||
HotCornersOnLeave (self)
|
||||
</OnLeave>
|
||||
</Scripts>
|
||||
</Frame>
|
||||
|
||||
<Frame name="HotCornersQuickCornerButtonTemplate" frameStrata="FULLSCREEN" virtual="true">
|
||||
<Size x="1" y="1"/>
|
||||
<Anchors>
|
||||
<Anchor point="TOPLEFT" relativeTo="$parent" relativePoint="TOPLEFT" x="0" y="0"/>
|
||||
</Anchors>
|
||||
|
||||
<Scripts>
|
||||
<OnCreate>
|
||||
self:SetFrameLevel (self:GetParent():GetFrameLevel()+2)
|
||||
</OnCreate>
|
||||
<OnClick>
|
||||
HotCornersOnQuickClick (self, button)
|
||||
</OnClick>
|
||||
<OnEnter>
|
||||
HotCornersOnEnter (self:GetParent())
|
||||
</OnEnter>
|
||||
</Scripts>
|
||||
</Frame>
|
||||
|
||||
<Frame name="HotCornersButtonTemplate" frameStrata="FULLSCREEN" hidden="true" virtual="true">
|
||||
<Size x="32" y="32"/>
|
||||
|
||||
<Scripts>
|
||||
<OnCreate>
|
||||
self:SetFrameLevel (self:GetParent():GetFrameLevel()+2)
|
||||
</OnCreate>
|
||||
<OnEnter>
|
||||
HotCornersButtonOnEnter (self)
|
||||
</OnEnter>
|
||||
<OnLeave>
|
||||
HotCornersButtonOnLeave (self)
|
||||
</OnLeave>
|
||||
<OnMouseDown>
|
||||
HotCornersButtonOnMouseDown (self, button)
|
||||
</OnMouseDown>
|
||||
<OnMouseUp>
|
||||
HotCornersButtonOnMouseUp (self, button)
|
||||
</OnMouseUp>
|
||||
</Scripts>
|
||||
</Frame>
|
||||
|
||||
<Script file="LibHotCorners.lua"/>
|
||||
|
||||
</Ui>
|
||||
@@ -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.5a" --options iniciando junto
|
||||
_detalhes.userversion = "v1.13.8"
|
||||
_detalhes.version = "Alpha 017"
|
||||
_detalhes.realversion = 17
|
||||
|
||||
|
||||
@@ -219,6 +219,30 @@ function combate:seta_data (tipo)
|
||||
end
|
||||
end
|
||||
|
||||
function combate:GetCombatName (try_find)
|
||||
if (self.is_pvp) then
|
||||
return self.is_pvp.name
|
||||
|
||||
elseif (self.is_boss) then
|
||||
return self.is_boss.encounter
|
||||
|
||||
elseif (self.is_tras) then
|
||||
return Loc ["STRING_SEGMENT_TRASH"]
|
||||
|
||||
else
|
||||
if (self.enemy) then
|
||||
return self.enemy
|
||||
end
|
||||
|
||||
if (try_find) then
|
||||
return _detalhes:FindEnemy()
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
return Loc ["STRING_UNKNOW"]
|
||||
end
|
||||
|
||||
function combate:GetActorList (container)
|
||||
return self [container]._ActorTable
|
||||
end
|
||||
|
||||
+74
-33
@@ -64,7 +64,6 @@ local ToKFunctions = _detalhes.ToKFunctions
|
||||
local SelectedToKFunction = ToKFunctions [1]
|
||||
local UsingCustomRightText = false
|
||||
|
||||
|
||||
local CLASS_ICON_TCOORDS = _G.CLASS_ICON_TCOORDS
|
||||
|
||||
local info = _detalhes.janela_info
|
||||
@@ -875,13 +874,12 @@ function atributo_damage:RefreshWindow (instancia, tabela_do_combate, forcar, ex
|
||||
return _detalhes:EndRefresh (instancia, total, tabela_do_combate, showing) --> retorna a tabela que precisa ganhar o refresh
|
||||
end
|
||||
|
||||
--estra mostrando ALL então posso seguir o padrão correto? primeiro, atualiza a scroll bar...
|
||||
--print ("AMOUT: " .. amount)
|
||||
instancia:AtualizarScrollBar (amount)
|
||||
|
||||
--depois faz a atualização normal dele através dos iterators
|
||||
local qual_barra = 1
|
||||
local barras_container = instancia.barras --> evita buscar N vezes a key .barras dentro da instância
|
||||
local percentage_type = instancia.row_info.percent_type
|
||||
|
||||
if (not true) then --> follow tests, not working atm.
|
||||
local myPos = showing._NameIndexTable [_detalhes.playername]
|
||||
@@ -901,7 +899,7 @@ function atributo_damage:RefreshWindow (instancia, tabela_do_combate, forcar, ex
|
||||
print (myPos, cima, baixo)
|
||||
|
||||
for i = cima, baixo, 1 do --> vai atualizar só o range que esta sendo mostrado
|
||||
conteudo[i]:AtualizaBarra (instancia, barras_container, qual_barra, i, total, sub_atributo, forcar, keyName) --> instância, index, total, valor da 1º barra
|
||||
conteudo[i]:AtualizaBarra (instancia, barras_container, qual_barra, i, total, sub_atributo, forcar, keyName, combat_time, percentage_type) --> instância, index, total, valor da 1º barra
|
||||
qual_barra = qual_barra+1
|
||||
end
|
||||
|
||||
@@ -955,13 +953,13 @@ function atributo_damage:RefreshWindow (instancia, tabela_do_combate, forcar, ex
|
||||
gump:Fade (row1, "out")
|
||||
|
||||
for i = instancia.barraS[1], iter_last, 1 do --> vai atualizar só o range que esta sendo mostrado
|
||||
conteudo[i]:AtualizaBarra (instancia, barras_container, qual_barra, i, total, sub_atributo, forcar, keyName, combat_time) --> instância, index, total, valor da 1º barra
|
||||
conteudo[i]:AtualizaBarra (instancia, barras_container, qual_barra, i, total, sub_atributo, forcar, keyName, combat_time, percentage_type) --> instância, index, total, valor da 1º barra
|
||||
qual_barra = qual_barra+1
|
||||
end
|
||||
|
||||
else
|
||||
for i = instancia.barraS[1], instancia.barraS[2], 1 do --> vai atualizar só o range que esta sendo mostrado
|
||||
conteudo[i]:AtualizaBarra (instancia, barras_container, qual_barra, i, total, sub_atributo, forcar, keyName, combat_time) --> instância, index, total, valor da 1º barra
|
||||
conteudo[i]:AtualizaBarra (instancia, barras_container, qual_barra, i, total, sub_atributo, forcar, keyName, combat_time, percentage_type) --> instância, index, total, valor da 1º barra
|
||||
qual_barra = qual_barra+1
|
||||
end
|
||||
end
|
||||
@@ -991,13 +989,13 @@ function atributo_damage:RefreshWindow (instancia, tabela_do_combate, forcar, ex
|
||||
gump:Fade (row1, "out")
|
||||
|
||||
for i = iter_last, instancia.barraS[1], -1 do --> vai atualizar só o range que esta sendo mostrado
|
||||
conteudo[i]:AtualizaBarra (instancia, barras_container, qual_barra, i, total, sub_atributo, forcar, keyName, combat_time) --> instância, index, total, valor da 1º barra
|
||||
conteudo[i]:AtualizaBarra (instancia, barras_container, qual_barra, i, total, sub_atributo, forcar, keyName, combat_time, percentage_type) --> instância, index, total, valor da 1º barra
|
||||
qual_barra = qual_barra+1
|
||||
end
|
||||
|
||||
else
|
||||
for i = instancia.barraS[2], instancia.barraS[1], -1 do --> vai atualizar só o range que esta sendo mostrado
|
||||
conteudo[i]:AtualizaBarra (instancia, barras_container, qual_barra, i, total, sub_atributo, forcar, keyName, combat_time) --> instância, index, total, valor da 1º barra
|
||||
conteudo[i]:AtualizaBarra (instancia, barras_container, qual_barra, i, total, sub_atributo, forcar, keyName, combat_time, percentage_type) --> instância, index, total, valor da 1º barra
|
||||
qual_barra = qual_barra+1
|
||||
end
|
||||
end
|
||||
@@ -1073,7 +1071,7 @@ end
|
||||
local actor_class_color_r, actor_class_color_g, actor_class_color_b
|
||||
|
||||
--self = esta classe de dano
|
||||
function atributo_damage:AtualizaBarra (instancia, barras_container, qual_barra, lugar, total, sub_atributo, forcar, keyName, combat_time)
|
||||
function atributo_damage:AtualizaBarra (instancia, barras_container, qual_barra, lugar, total, sub_atributo, forcar, keyName, combat_time, percentage_type)
|
||||
-- instância, container das barras, qual barra, colocação, total?, sub atributo, forçar refresh, key
|
||||
|
||||
local esta_barra = barras_container [qual_barra] --> pega a referência da barra na janela
|
||||
@@ -1093,8 +1091,15 @@ function atributo_damage:AtualizaBarra (instancia, barras_container, qual_barra,
|
||||
|
||||
local damage_total = self.total --> total de dano que este jogador deu
|
||||
local dps
|
||||
local porcentagem = self [keyName] / total * 100
|
||||
|
||||
local porcentagem
|
||||
local esta_porcentagem
|
||||
|
||||
if (percentage_type == 1) then
|
||||
porcentagem = _cstr ("%.1f", self [keyName] / total * 100)
|
||||
elseif (percentage_type == 2) then
|
||||
porcentagem = _cstr ("%.1f", self [keyName] / instancia.top * 100)
|
||||
end
|
||||
|
||||
--tempo da shadow não é mais calculado pela timemachine
|
||||
if ((_detalhes.time_type == 2 and self.grupo) or not _detalhes:CaptureGet ("damage") or not self.shadow) then --not self.shadow is overall but...
|
||||
@@ -1128,7 +1133,7 @@ function atributo_damage:AtualizaBarra (instancia, barras_container, qual_barra,
|
||||
|
||||
-- >>>>>>>>>>>>>>> texto da direita
|
||||
if (instancia.atributo == 5) then --> custom
|
||||
esta_barra.texto_direita:SetText (_detalhes:ToK (self.custom) .." ".. div_abre .. _cstr ("%.1f", porcentagem).."%" .. div_fecha) --seta o texto da direita
|
||||
esta_barra.texto_direita:SetText (_detalhes:ToK (self.custom) .." (" .. porcentagem .. "%)") --seta o texto da direita
|
||||
esta_porcentagem = _math_floor ((self.custom/instancia.top) * 100) --> determina qual o tamanho da barra
|
||||
else
|
||||
|
||||
@@ -1139,9 +1144,9 @@ function atributo_damage:AtualizaBarra (instancia, barras_container, qual_barra,
|
||||
local formated_dps = SelectedToKFunction (_, dps)
|
||||
|
||||
if (UsingCustomRightText) then
|
||||
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (formated_damage, formated_dps, _cstr ("%.1f", porcentagem)))
|
||||
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (formated_damage, formated_dps, porcentagem))
|
||||
else
|
||||
esta_barra.texto_direita:SetText (formated_damage .." ".. div_abre .. formated_dps .. ", ".. _cstr ("%.1f", porcentagem).."%" .. div_fecha) --seta o texto da direita
|
||||
esta_barra.texto_direita:SetText (formated_damage .. " (" .. formated_dps .. ", " .. porcentagem .. "%)") --seta o texto da direita
|
||||
end
|
||||
esta_porcentagem = _math_floor ((damage_total/instancia.top) * 100) --> determina qual o tamanho da barra
|
||||
|
||||
@@ -1152,9 +1157,9 @@ function atributo_damage:AtualizaBarra (instancia, barras_container, qual_barra,
|
||||
local formated_dps = SelectedToKFunction (_, dps)
|
||||
|
||||
if (UsingCustomRightText) then
|
||||
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (formated_dps, formated_damage, _cstr ("%.1f", porcentagem)))
|
||||
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (formated_dps, formated_damage, porcentagem))
|
||||
else
|
||||
esta_barra.texto_direita:SetText (formated_dps .. " " .. div_abre .. formated_damage .. ", " .. _cstr ("%.1f", porcentagem) .. "%" .. div_fecha) --seta o texto da direita
|
||||
esta_barra.texto_direita:SetText (formated_dps .. " (" .. formated_damage .. ", " .. porcentagem .. "%)") --seta o texto da direita
|
||||
end
|
||||
esta_porcentagem = _math_floor ((dps/instancia.top) * 100) --> determina qual o tamanho da barra
|
||||
|
||||
@@ -1163,9 +1168,9 @@ function atributo_damage:AtualizaBarra (instancia, barras_container, qual_barra,
|
||||
local formated_damage_taken = SelectedToKFunction (_, self.damage_taken)
|
||||
|
||||
if (UsingCustomRightText) then
|
||||
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (formated_damage_taken, "", _cstr ("%.1f", porcentagem)))
|
||||
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (formated_damage_taken, "", porcentagem))
|
||||
else
|
||||
esta_barra.texto_direita:SetText (formated_damage_taken .." ".. div_abre .. _cstr ("%.1f", porcentagem) .. "%" .. div_fecha) --seta o texto da direita --
|
||||
esta_barra.texto_direita:SetText (formated_damage_taken .." (" .. porcentagem .. "%)") --seta o texto da direita --
|
||||
end
|
||||
esta_porcentagem = _math_floor ((self.damage_taken/instancia.top) * 100) --> determina qual o tamanho da barra
|
||||
|
||||
@@ -1174,9 +1179,9 @@ function atributo_damage:AtualizaBarra (instancia, barras_container, qual_barra,
|
||||
local formated_friendly_fire = SelectedToKFunction (_, self.friendlyfire_total)
|
||||
|
||||
if (UsingCustomRightText) then
|
||||
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (formated_friendly_fire, "", _cstr ("%.1f", porcentagem)))
|
||||
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (formated_friendly_fire, "", porcentagem))
|
||||
else
|
||||
esta_barra.texto_direita:SetText (formated_friendly_fire .. " " .. div_abre .. _cstr ("%.1f", porcentagem) .. "%" .. div_fecha) --seta o texto da direita --
|
||||
esta_barra.texto_direita:SetText (formated_friendly_fire .. " (" .. porcentagem .. "%)") --seta o texto da direita --
|
||||
end
|
||||
esta_porcentagem = _math_floor ((self.friendlyfire_total/instancia.top) * 100) --> determina qual o tamanho da barra
|
||||
|
||||
@@ -1187,9 +1192,9 @@ function atributo_damage:AtualizaBarra (instancia, barras_container, qual_barra,
|
||||
local formated_dps = SelectedToKFunction (_, dps)
|
||||
|
||||
if (UsingCustomRightText) then
|
||||
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (formated_damage, formated_dps, _cstr ("%.1f", porcentagem)))
|
||||
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (formated_damage, formated_dps, porcentagem))
|
||||
else
|
||||
esta_barra.texto_direita:SetText (formated_damage .. " " .. div_abre .. formated_dps .. ", " .. _cstr ("%.1f", porcentagem) .. "%" .. div_fecha) --seta o texto da direita
|
||||
esta_barra.texto_direita:SetText (formated_damage .. " (" .. formated_dps .. ", " .. porcentagem .. "%)") --seta o texto da direita
|
||||
end
|
||||
esta_porcentagem = _math_floor ((damage_total/instancia.top) * 100) --> determina qual o tamanho da barra
|
||||
|
||||
@@ -2097,10 +2102,21 @@ function atributo_damage:MontaInfoDamageDone()
|
||||
|
||||
--> add pets
|
||||
local ActorPets = self.pets
|
||||
--local class_color = RAID_CLASS_COLORS [self.classe] and RAID_CLASS_COLORS [self.classe].colorStr
|
||||
local class_color = "FFDDDDDD"
|
||||
for _, PetName in _ipairs (ActorPets) do
|
||||
local PetActor = instancia.showing (class_type, PetName)
|
||||
if (PetActor) then
|
||||
_table_insert (ActorSkillsSortTable, {PetName, PetActor.total, PetActor.total/ActorTotalDamage*100, PetName:gsub ((" <.*"), ""), "Interface\\AddOns\\Details\\images\\classes_small"})
|
||||
local PetSkillsContainer = PetActor.spell_tables._ActorTable
|
||||
for _spellid, _skill in _pairs (PetSkillsContainer) do --> da foreach em cada spellid do container
|
||||
local nome, _, icone = _GetSpellInfo (_spellid)
|
||||
if (class_color) then
|
||||
_table_insert (ActorSkillsSortTable, {_spellid, _skill.total, _skill.total/ActorTotalDamage*100, nome .. " (|c" .. class_color .. PetName:gsub ((" <.*"), "") .. "|r)", icone, PetActor})
|
||||
else
|
||||
_table_insert (ActorSkillsSortTable, {_spellid, _skill.total, _skill.total/ActorTotalDamage*100, nome .. " (" .. PetName:gsub ((" <.*"), "") .. ")", icone, PetActor})
|
||||
end
|
||||
end
|
||||
--_table_insert (ActorSkillsSortTable, {PetName, PetActor.total, PetActor.total/ActorTotalDamage*100, PetName:gsub ((" <.*"), ""), "Interface\\AddOns\\Details\\images\\classes_small"})
|
||||
end
|
||||
end
|
||||
|
||||
@@ -2120,6 +2136,7 @@ function atributo_damage:MontaInfoDamageDone()
|
||||
self:FocusLock (barra, tabela[1])
|
||||
|
||||
self:UpdadeInfoBar (barra, index, tabela[1], tabela[4], tabela[2], max_, tabela[3], tabela[5], true)
|
||||
barra.other_actor = tabela [6]
|
||||
end
|
||||
|
||||
--> TOP INIMIGOS
|
||||
@@ -2196,12 +2213,14 @@ function atributo_damage:MontaInfoDamageDone()
|
||||
end
|
||||
else
|
||||
local meus_inimigos = {}
|
||||
conteudo = self.targets._ActorTable
|
||||
|
||||
--> my target container
|
||||
conteudo = self.targets._ActorTable
|
||||
for _, tabela in _ipairs (conteudo) do
|
||||
_table_insert (meus_inimigos, {tabela.nome, tabela.total, tabela.total/total*100})
|
||||
end
|
||||
|
||||
--> sort
|
||||
_table_sort (meus_inimigos, function(a, b) return a[2] > b[2] end )
|
||||
|
||||
local amt_alvos = #meus_inimigos
|
||||
@@ -2236,7 +2255,7 @@ function atributo_damage:MontaInfoDamageDone()
|
||||
if (barra.isAlvo) then
|
||||
GameTooltip:Hide()
|
||||
GameTooltip:SetOwner (barra, "ANCHOR_TOPRIGHT")
|
||||
if (not barra.minha_tabela:MontaTooltipAlvos (barra, index)) then
|
||||
if (not barra.minha_tabela:MontaTooltipAlvos (barra, index, instancia)) then
|
||||
return
|
||||
end
|
||||
GameTooltip:Show()
|
||||
@@ -2469,7 +2488,7 @@ function atributo_damage:MontaDetalhesDamageTaken (nome, barra)
|
||||
end
|
||||
|
||||
------ Detalhe Info Damage Done e Dps
|
||||
function atributo_damage:MontaDetalhesDamageDone (spellid, barra)
|
||||
function atributo_damage:MontaDetalhesDamageDone (spellid, barra, instancia)
|
||||
|
||||
if (_type (spellid) == "string") then
|
||||
|
||||
@@ -2535,11 +2554,18 @@ function atributo_damage:MontaDetalhesDamageDone (spellid, barra)
|
||||
return
|
||||
end
|
||||
|
||||
local esta_magia = self.spell_tables._ActorTable [spellid]
|
||||
|
||||
local esta_magia
|
||||
if (barra.other_actor) then
|
||||
esta_magia = barra.other_actor.spell_tables._ActorTable [spellid]
|
||||
else
|
||||
esta_magia = self.spell_tables._ActorTable [spellid]
|
||||
end
|
||||
|
||||
if (not esta_magia) then
|
||||
return
|
||||
end
|
||||
|
||||
|
||||
--> icone direito superior
|
||||
local nome, rank, icone = _GetSpellInfo (spellid)
|
||||
local infospell = {nome, rank, icone}
|
||||
@@ -2709,14 +2735,15 @@ function atributo_damage:MontaTooltipDamageTaken (esta_barra, index)
|
||||
|
||||
end
|
||||
|
||||
function atributo_damage:MontaTooltipAlvos (esta_barra, index)
|
||||
function atributo_damage:MontaTooltipAlvos (esta_barra, index, instancia)
|
||||
-- eu ja sei quem é o alvo a mostrar os detalhes
|
||||
-- dar foreach no container de habilidades -- pegar os alvos da habilidade -- e ver se dentro do container tem o meu alvo.
|
||||
|
||||
local inimigo = esta_barra.nome_inimigo
|
||||
local container = self.spell_tables._ActorTable
|
||||
local habilidades = {}
|
||||
local total = self.total_without_pet
|
||||
--local total = self.total_without_pet
|
||||
local total = self.total
|
||||
|
||||
for spellid, tabela in _pairs (container) do
|
||||
--> tabela = classe_damage_habilidade
|
||||
@@ -2724,11 +2751,25 @@ function atributo_damage:MontaTooltipAlvos (esta_barra, index)
|
||||
for _, tabela in _ipairs (alvos) do
|
||||
--> tabela = classe_target
|
||||
if (tabela.nome == inimigo) then
|
||||
habilidades [#habilidades+1] = {spellid, tabela.total}
|
||||
local nome, _, icone = _GetSpellInfo (spellid)
|
||||
habilidades [#habilidades+1] = {nome, tabela.total, icone}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
--> add pets
|
||||
local ActorPets = self.pets
|
||||
for _, PetName in _ipairs (ActorPets) do
|
||||
local PetActor = instancia.showing (class_type, PetName)
|
||||
if (PetActor) then
|
||||
local PetSkillsContainer = PetActor.spell_tables._ActorTable
|
||||
for _spellid, _skill in _pairs (PetSkillsContainer) do --> da foreach em cada spellid do container
|
||||
local nome, _, icone = _GetSpellInfo (_spellid)
|
||||
habilidades [#habilidades+1] = {nome .. " (" .. PetName:gsub ((" <.*"), "") .. ")", _skill.total, icone}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
table.sort (habilidades, function (a, b) return a[2] > b[2] end)
|
||||
|
||||
GameTooltip:AddLine (index..". "..inimigo)
|
||||
@@ -2736,12 +2777,12 @@ function atributo_damage:MontaTooltipAlvos (esta_barra, index)
|
||||
GameTooltip:AddLine (" ")
|
||||
|
||||
for index, tabela in _ipairs (habilidades) do
|
||||
local nome, rank, icone = _GetSpellInfo (tabela[1])
|
||||
|
||||
if (index < 8) then
|
||||
GameTooltip:AddDoubleLine (index..". |T"..icone..":0|t "..nome, _detalhes:comma_value (tabela[2]).." (".._cstr("%.1f", tabela[2]/total*100).."%)", 1, 1, 1, 1, 1, 1)
|
||||
GameTooltip:AddDoubleLine (index..". |T"..tabela[3]..":0|t "..tabela[1], _detalhes:comma_value (tabela[2]).." (".._cstr("%.1f", tabela[2]/total*100).."%)", 1, 1, 1, 1, 1, 1)
|
||||
--GameTooltip:AddTexture (icone)
|
||||
else
|
||||
GameTooltip:AddDoubleLine (index..". "..nome, _detalhes:comma_value (tabela[2]).." (".._cstr("%.1f", tabela[2]/total*100).."%)", .65, .65, .65, .65, .65, .65)
|
||||
GameTooltip:AddDoubleLine (index..". "..tabela[1], _detalhes:comma_value (tabela[2]).." (".._cstr("%.1f", tabela[2]/total*100).."%)", .65, .65, .65, .65, .65, .65)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -283,6 +283,7 @@ function atributo_energy:RefreshWindow (instancia, tabela_do_combate, forcar, ex
|
||||
|
||||
local qual_barra = 1
|
||||
local barras_container = instancia.barras
|
||||
local percentage_type = instancia.row_info.percent_type
|
||||
|
||||
local combat_time = instancia.showing:GetCombatTime()
|
||||
UsingCustomRightText = instancia.row_info.textR_enable_custom_text
|
||||
@@ -326,13 +327,13 @@ function atributo_energy:RefreshWindow (instancia, tabela_do_combate, forcar, ex
|
||||
gump:Fade (row1, "out")
|
||||
|
||||
for i = instancia.barraS[1], iter_last, 1 do --> vai atualizar só o range que esta sendo mostrado
|
||||
conteudo[i]:AtualizaBarra (instancia, barras_container, qual_barra, i, total, sub_atributo, forcar, keyName, combat_time) --> instância, index, total, valor da 1º barra
|
||||
conteudo[i]:AtualizaBarra (instancia, barras_container, qual_barra, i, total, sub_atributo, forcar, keyName, combat_time, percentage_type) --> instância, index, total, valor da 1º barra
|
||||
qual_barra = qual_barra+1
|
||||
end
|
||||
|
||||
else
|
||||
for i = instancia.barraS[1], instancia.barraS[2], 1 do --> vai atualizar só o range que esta sendo mostrado
|
||||
conteudo[i]:AtualizaBarra (instancia, barras_container, qual_barra, i, total, sub_atributo, forcar) --> instância, index, total, valor da 1º barra
|
||||
conteudo[i]:AtualizaBarra (instancia, barras_container, qual_barra, i, total, sub_atributo, forcar, keyName, combat_time, percentage_type) --> instância, index, total, valor da 1º barra
|
||||
qual_barra = qual_barra+1
|
||||
end
|
||||
end
|
||||
@@ -361,13 +362,13 @@ function atributo_energy:RefreshWindow (instancia, tabela_do_combate, forcar, ex
|
||||
gump:Fade (row1, "out")
|
||||
|
||||
for i = iter_last, instancia.barraS[1], -1 do --> vai atualizar só o range que esta sendo mostrado
|
||||
conteudo[i]:AtualizaBarra (instancia, barras_container, qual_barra, i, total, sub_atributo, forcar, keyName, combat_time) --> instância, index, total, valor da 1º barra
|
||||
conteudo[i]:AtualizaBarra (instancia, barras_container, qual_barra, i, total, sub_atributo, forcar, keyName, combat_time, percentage_type) --> instância, index, total, valor da 1º barra
|
||||
qual_barra = qual_barra+1
|
||||
end
|
||||
|
||||
else
|
||||
for i = instancia.barraS[2], instancia.barraS[1], 1 do --> vai atualizar só o range que esta sendo mostrado
|
||||
conteudo[i]:AtualizaBarra (instancia, barras_container, qual_barra, i, total, sub_atributo, forcar) --> instância, index, total, valor da 1º barra
|
||||
conteudo[i]:AtualizaBarra (instancia, barras_container, qual_barra, i, total, sub_atributo, forcar, keyName, combat_time, percentage_type) --> instância, index, total, valor da 1º barra
|
||||
qual_barra = qual_barra+1
|
||||
end
|
||||
end
|
||||
@@ -413,7 +414,7 @@ end
|
||||
|
||||
local actor_class_color_r, actor_class_color_g, actor_class_color_b
|
||||
|
||||
function atributo_energy:AtualizaBarra (instancia, barras_container, qual_barra, lugar, total, sub_atributo, forcar)
|
||||
function atributo_energy:AtualizaBarra (instancia, barras_container, qual_barra, lugar, total, sub_atributo, forcar, keyName, combat_time, percentage_type)
|
||||
|
||||
local esta_barra = instancia.barras[qual_barra] --> pega a referência da barra na janela
|
||||
|
||||
@@ -431,15 +432,23 @@ function atributo_energy:AtualizaBarra (instancia, barras_container, qual_barra,
|
||||
self.colocacao = lugar
|
||||
|
||||
local esta_e_energy_total = self [keyName] --> total de dano que este jogador deu
|
||||
local porcentagem = esta_e_energy_total / total * 100
|
||||
|
||||
-- local porcentagem = esta_e_energy_total / total * 100
|
||||
local porcentagem
|
||||
if (percentage_type == 1) then
|
||||
porcentagem = _cstr ("%.1f", esta_e_energy_total / total * 100)
|
||||
elseif (percentage_type == 2) then
|
||||
porcentagem = _cstr ("%.1f", esta_e_energy_total / instancia.top * 100)
|
||||
end
|
||||
|
||||
local esta_porcentagem = _math_floor ((esta_e_energy_total/instancia.top) * 100)
|
||||
|
||||
local formated_energy = SelectedToKFunction (_, esta_e_energy_total)
|
||||
|
||||
if (UsingCustomRightText) then
|
||||
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (formated_energy, "", _cstr ("%.1f", porcentagem)))
|
||||
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (formated_energy, "", porcentagem))
|
||||
else
|
||||
esta_barra.texto_direita:SetText (formated_energy .. " " .. div_abre .. _cstr ("%.1f", porcentagem) .. "%" .. div_fecha) --seta o texto da direita
|
||||
esta_barra.texto_direita:SetText (formated_energy .. " (" .. porcentagem .. "%)") --seta o texto da direita
|
||||
end
|
||||
|
||||
if (esta_barra.mouse_over and not instancia.baseframe.isMoving) then --> precisa atualizar o tooltip
|
||||
|
||||
+28
-19
@@ -362,6 +362,7 @@ function atributo_heal:RefreshWindow (instancia, tabela_do_combate, forcar, expo
|
||||
--depois faz a atualização normal dele através dos iterators
|
||||
local qual_barra = 1
|
||||
local barras_container = instancia.barras --> evita buscar N vezes a key .barras dentro da instância
|
||||
local percentage_type = instancia.row_info.percent_type
|
||||
|
||||
--print (sub_atributo, total, keyName)
|
||||
|
||||
@@ -407,7 +408,7 @@ function atributo_heal:RefreshWindow (instancia, tabela_do_combate, forcar, expo
|
||||
gump:Fade (row1, "out")
|
||||
|
||||
for i = instancia.barraS[1], iter_last, 1 do --> vai atualizar só o range que esta sendo mostrado
|
||||
conteudo[i]:AtualizaBarra (instancia, barras_container, qual_barra, i, total, sub_atributo, forcar, keyName, combat_time) --> instância, index, total, valor da 1º barra
|
||||
conteudo[i]:AtualizaBarra (instancia, barras_container, qual_barra, i, total, sub_atributo, forcar, keyName, combat_time, percentage_type) --> instância, index, total, valor da 1º barra
|
||||
qual_barra = qual_barra+1
|
||||
end
|
||||
else
|
||||
@@ -435,12 +436,12 @@ function atributo_heal:RefreshWindow (instancia, tabela_do_combate, forcar, expo
|
||||
gump:Fade (row1, "out")
|
||||
|
||||
for i = iter_last, instancia.barraS[1], -1 do --> vai atualizar só o range que esta sendo mostrado
|
||||
conteudo[i]:AtualizaBarra (instancia, barras_container, qual_barra, i, total, sub_atributo, forcar, keyName, combat_time) --> instância, index, total, valor da 1º barra
|
||||
conteudo[i]:AtualizaBarra (instancia, barras_container, qual_barra, i, total, sub_atributo, forcar, keyName, combat_time, percentage_type) --> instância, index, total, valor da 1º barra
|
||||
qual_barra = qual_barra+1
|
||||
end
|
||||
else
|
||||
for i = instancia.barraS[1], instancia.barraS[2], 1 do --> vai atualizar só o range que esta sendo mostrado
|
||||
conteudo[i]:AtualizaBarra (instancia, barras_container, qual_barra, i, total, sub_atributo, forcar, keyName, combat_time) --> instância, index, total, valor da 1º barra
|
||||
conteudo[i]:AtualizaBarra (instancia, barras_container, qual_barra, i, total, sub_atributo, forcar, keyName, combat_time, percentage_type) --> instância, index, total, valor da 1º barra
|
||||
qual_barra = qual_barra+1
|
||||
end
|
||||
end
|
||||
@@ -448,7 +449,7 @@ function atributo_heal:RefreshWindow (instancia, tabela_do_combate, forcar, expo
|
||||
|
||||
elseif (instancia.bars_sort_direction == 2) then --bottom to top
|
||||
for i = instancia.barraS[2], instancia.barraS[1], 1 do --> vai atualizar só o range que esta sendo mostrado
|
||||
conteudo[i]:AtualizaBarra (instancia, barras_container, qual_barra, i, total, sub_atributo, forcar, keyName, combat_time) --> instância, index, total, valor da 1º barra
|
||||
conteudo[i]:AtualizaBarra (instancia, barras_container, qual_barra, i, total, sub_atributo, forcar, keyName, combat_time, percentage_type) --> instância, index, total, valor da 1º barra
|
||||
qual_barra = qual_barra+1
|
||||
end
|
||||
|
||||
@@ -499,7 +500,7 @@ end
|
||||
local actor_class_color_r, actor_class_color_g, actor_class_color_b
|
||||
|
||||
--function atributo_heal:AtualizaBarra (instancia, qual_barra, lugar, total, sub_atributo, forcar)
|
||||
function atributo_heal:AtualizaBarra (instancia, barras_container, qual_barra, lugar, total, sub_atributo, forcar, keyName, combat_time)
|
||||
function atributo_heal:AtualizaBarra (instancia, barras_container, qual_barra, lugar, total, sub_atributo, forcar, keyName, combat_time, percentage_type)
|
||||
|
||||
local esta_barra = instancia.barras[qual_barra] --> pega a referência da barra na janela
|
||||
|
||||
@@ -518,8 +519,16 @@ function atributo_heal:AtualizaBarra (instancia, barras_container, qual_barra, l
|
||||
|
||||
local healing_total = self.total --> total de dano que este jogador deu
|
||||
local hps
|
||||
local porcentagem = self [keyName] / total * 100
|
||||
|
||||
--local porcentagem = self [keyName] / total * 100
|
||||
local porcentagem
|
||||
local esta_porcentagem
|
||||
|
||||
if (percentage_type == 1) then
|
||||
porcentagem = _cstr ("%.1f", self [keyName] / total * 100)
|
||||
elseif (percentage_type == 2) then
|
||||
porcentagem = _cstr ("%.1f", self [keyName] / instancia.top * 100)
|
||||
end
|
||||
|
||||
if ((_detalhes.time_type == 2 and self.grupo) or (not _detalhes:CaptureGet ("heal") and not _detalhes:CaptureGet ("aura")) or not self.shadow) then
|
||||
if (not self.shadow and combat_time == 0) then
|
||||
@@ -552,7 +561,7 @@ function atributo_heal:AtualizaBarra (instancia, barras_container, qual_barra, l
|
||||
|
||||
-- >>>>>>>>>>>>>>> texto da direita
|
||||
if (instancia.atributo == 5) then --> custom
|
||||
esta_barra.texto_direita:SetText (_detalhes:ToK (self.custom) .." ".. div_abre .. _cstr ("%.1f", porcentagem).."%" .. div_fecha) --seta o texto da direita
|
||||
esta_barra.texto_direita:SetText (_detalhes:ToK (self.custom) .. " (" .. porcentagem .. "%)") --seta o texto da direita
|
||||
esta_porcentagem = _math_floor ((self.custom/instancia.top) * 100) --> determina qual o tamanho da barra
|
||||
else
|
||||
if (sub_atributo == 1) then --> mostrando healing done
|
||||
@@ -562,9 +571,9 @@ function atributo_heal:AtualizaBarra (instancia, barras_container, qual_barra, l
|
||||
local formated_hps = SelectedToKFunction (_, hps)
|
||||
|
||||
if (UsingCustomRightText) then
|
||||
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (formated_heal, formated_hps, _cstr ("%.1f", porcentagem)))
|
||||
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (formated_heal, formated_hps, porcentagem))
|
||||
else
|
||||
esta_barra.texto_direita:SetText (formated_heal .." ".. div_abre .. formated_hps .. ", " .. _cstr ("%.1f", porcentagem) .. "%" .. div_fecha) --seta o texto da direita
|
||||
esta_barra.texto_direita:SetText (formated_heal .." (" .. formated_hps .. ", " .. porcentagem .. "%)") --seta o texto da direita
|
||||
end
|
||||
esta_porcentagem = _math_floor ((healing_total/instancia.top) * 100) --> determina qual o tamanho da barra
|
||||
|
||||
@@ -575,9 +584,9 @@ function atributo_heal:AtualizaBarra (instancia, barras_container, qual_barra, l
|
||||
local formated_hps = SelectedToKFunction (_, hps)
|
||||
|
||||
if (UsingCustomRightText) then
|
||||
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (formated_hps, formated_heal, _cstr ("%.1f", porcentagem)))
|
||||
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (formated_hps, formated_heal, porcentagem))
|
||||
else
|
||||
esta_barra.texto_direita:SetText (formated_hps .. " " .. div_abre .. formated_heal .. ", " .. _cstr ("%.1f", porcentagem) .. "%" .. div_fecha) --seta o texto da direita
|
||||
esta_barra.texto_direita:SetText (formated_hps .. " (" .. formated_heal .. ", " .. porcentagem .. "%)") --seta o texto da direita
|
||||
end
|
||||
esta_porcentagem = _math_floor ((hps/instancia.top) * 100) --> determina qual o tamanho da barra
|
||||
|
||||
@@ -586,9 +595,9 @@ function atributo_heal:AtualizaBarra (instancia, barras_container, qual_barra, l
|
||||
local formated_overheal = SelectedToKFunction (_, self.totalover)
|
||||
|
||||
if (UsingCustomRightText) then
|
||||
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (formated_overheal, "", _cstr ("%.1f", porcentagem)))
|
||||
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (formated_overheal, "", porcentagem))
|
||||
else
|
||||
esta_barra.texto_direita:SetText (formated_overheal .." " .. div_abre .. _cstr ("%.1f", porcentagem) .. "%" .. div_fecha) --seta o texto da direita --_cstr("%.1f", dps) .. " - ".. DPS do damage taken não será possivel correto?
|
||||
esta_barra.texto_direita:SetText (formated_overheal .." (" .. porcentagem .. "%)") --seta o texto da direita --_cstr("%.1f", dps) .. " - ".. DPS do damage taken não será possivel correto?
|
||||
end
|
||||
esta_porcentagem = _math_floor ((self.totalover/instancia.top) * 100) --> determina qual o tamanho da barra
|
||||
|
||||
@@ -597,9 +606,9 @@ function atributo_heal:AtualizaBarra (instancia, barras_container, qual_barra, l
|
||||
local formated_healtaken = SelectedToKFunction (_, self.healing_taken)
|
||||
|
||||
if (UsingCustomRightText) then
|
||||
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (formated_healtaken, "", _cstr ("%.1f", porcentagem)))
|
||||
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (formated_healtaken, "", porcentagem))
|
||||
else
|
||||
esta_barra.texto_direita:SetText (formated_healtaken .. " " .. div_abre .. _cstr ("%.1f", porcentagem) .. "%" .. div_fecha) --seta o texto da direita --_cstr("%.1f", dps) .. " - ".. DPS do damage taken não será possivel correto?
|
||||
esta_barra.texto_direita:SetText (formated_healtaken .. " (" .. porcentagem .. "%)") --seta o texto da direita --_cstr("%.1f", dps) .. " - ".. DPS do damage taken não será possivel correto?
|
||||
end
|
||||
esta_porcentagem = _math_floor ((self.healing_taken/instancia.top) * 100) --> determina qual o tamanho da barra
|
||||
|
||||
@@ -608,9 +617,9 @@ function atributo_heal:AtualizaBarra (instancia, barras_container, qual_barra, l
|
||||
local formated_enemyheal = SelectedToKFunction (_, self.heal_enemy_amt)
|
||||
|
||||
if (UsingCustomRightText) then
|
||||
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (formated_enemyheal, "", _cstr ("%.1f", porcentagem)))
|
||||
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (formated_enemyheal, "", porcentagem))
|
||||
else
|
||||
esta_barra.texto_direita:SetText (formated_enemyheal .. " " .. div_abre .. _cstr ("%.1f", porcentagem) .. "%" .. div_fecha) --seta o texto da direita --_cstr("%.1f", dps) .. " - ".. DPS do damage taken não será possivel correto?
|
||||
esta_barra.texto_direita:SetText (formated_enemyheal .. " (" .. porcentagem .. "%)") --seta o texto da direita --_cstr("%.1f", dps) .. " - ".. DPS do damage taken não será possivel correto?
|
||||
end
|
||||
esta_porcentagem = _math_floor ((self.heal_enemy_amt/instancia.top) * 100) --> determina qual o tamanho da barra
|
||||
|
||||
@@ -619,9 +628,9 @@ function atributo_heal:AtualizaBarra (instancia, barras_container, qual_barra, l
|
||||
local formated_absorbs = SelectedToKFunction (_, self.totalabsorb)
|
||||
|
||||
if (UsingCustomRightText) then
|
||||
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (formated_absorbs, "", _cstr ("%.1f", porcentagem)))
|
||||
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (formated_absorbs, "", porcentagem))
|
||||
else
|
||||
esta_barra.texto_direita:SetText (formated_absorbs .. " " .. div_abre .. _cstr ("%.1f", porcentagem) .. "%" .. div_fecha) --seta o texto da direita --_cstr("%.1f", dps) .. " - ".. DPS do damage taken não será possivel correto?
|
||||
esta_barra.texto_direita:SetText (formated_absorbs .. " (" .. porcentagem .. "%)") --seta o texto da direita --_cstr("%.1f", dps) .. " - ".. DPS do damage taken não será possivel correto?
|
||||
end
|
||||
esta_porcentagem = _math_floor ((self.totalabsorb/instancia.top) * 100) --> determina qual o tamanho da barra
|
||||
end
|
||||
|
||||
@@ -74,12 +74,12 @@ end
|
||||
function _detalhes:InstanciaCallFunction (funcao, ...)
|
||||
for index, instancia in _ipairs (_detalhes.tabela_instancias) do
|
||||
if (instancia:IsAtiva()) then --> só reabre se ela estiver ativa
|
||||
funcao (_, instancia, ...) -- > ? seria isso?
|
||||
funcao (_, instancia, ...)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
--> chama a função para ser executada em todas as instâncias (internal)
|
||||
--> chama a função para ser executada em todas as instâncias (internal)
|
||||
function _detalhes:InstanciaCallFunctionOffline (funcao, ...)
|
||||
for index, instancia in _ipairs (_detalhes.tabela_instancias) do
|
||||
funcao (_, instancia, ...)
|
||||
@@ -194,7 +194,7 @@ end
|
||||
|
||||
if (lower == self.meu_id) then
|
||||
--> os icones dos plugins estao hostiados nessa instancia.
|
||||
_detalhes.ToolBar:ReorganizeIcons (nil, true)
|
||||
_detalhes.ToolBar:ReorganizeIcons (true) --não precisa recarregar toda a skin
|
||||
end
|
||||
|
||||
if (_detalhes.switch.current_instancia and _detalhes.switch.current_instancia == self) then
|
||||
@@ -299,7 +299,7 @@ end
|
||||
|
||||
if (lower == self.meu_id) then
|
||||
--> os icones dos plugins precisam ser hostiados nessa instancia.
|
||||
_detalhes.ToolBar:ReorganizeIcons (nil, true)
|
||||
_detalhes.ToolBar:ReorganizeIcons (true) --> não precisa recarregar toda a skin
|
||||
end
|
||||
|
||||
if (not self.iniciada) then
|
||||
@@ -363,6 +363,43 @@ end
|
||||
end
|
||||
------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
function _detalhes:DeleteInstance (id)
|
||||
|
||||
local instance = _detalhes:GetInstance (id)
|
||||
|
||||
if (not instance) then
|
||||
return false
|
||||
end
|
||||
|
||||
--verifica se esta aberta
|
||||
if (instance:IsEnabled()) then
|
||||
instance:ShutDown()
|
||||
end
|
||||
|
||||
--fixas os snaps nas janelas superiores
|
||||
for i = id+1, #_detalhes.tabela_instancias do
|
||||
local this_instance = _detalhes:GetInstance (i)
|
||||
|
||||
--down the id
|
||||
this_instance.meu_id = i-1
|
||||
|
||||
--fix the snaps
|
||||
for index, id in _pairs (this_instance.snap) do
|
||||
if (id == i+1) then --snap na proxima instancia
|
||||
this_instance.snap [index] = i
|
||||
elseif (id == i-1) then --snap na instancia anterior
|
||||
this_instance.snap [index] = i-2
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
--remover do container tabela_instancias
|
||||
tremove (_detalhes.tabela_instancias, id)
|
||||
|
||||
end
|
||||
|
||||
|
||||
------------------------------------------------------------------------------------------------------------------------
|
||||
--> cria uma nova instância e a joga para o container de instâncias
|
||||
|
||||
function _detalhes:CreateInstance (id)
|
||||
@@ -887,9 +924,6 @@ end
|
||||
--> change the attribute
|
||||
_detalhes:TrocaTabela (new_instance, 0, 1, 1)
|
||||
|
||||
--> handle icons
|
||||
new_instance:DefaultIcons (true, true, true, true)
|
||||
|
||||
--> internal stuff
|
||||
new_instance.row_height = new_instance.row_info.height + new_instance.row_info.space.between
|
||||
|
||||
@@ -928,14 +962,20 @@ end
|
||||
end
|
||||
end
|
||||
|
||||
--> apply all changed attributes
|
||||
instance:ChangeSkin()
|
||||
end
|
||||
|
||||
--> apply all changed attributes
|
||||
new_instance:ChangeSkin()
|
||||
|
||||
return new_instance
|
||||
end
|
||||
------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
function _detalhes:FixToolbarMenu (instance)
|
||||
--print ("fixing...", instance.meu_id)
|
||||
--instance:ToolbarMenuButtons()
|
||||
end
|
||||
|
||||
--> ao reiniciar o addon esta função é rodada para recriar a janela da instância
|
||||
--> search key: ~restaura ~inicio ~start
|
||||
function _detalhes:RestauraJanela (index, temp)
|
||||
@@ -1051,11 +1091,6 @@ function _detalhes:RestauraJanela (index, temp)
|
||||
self:ReajustaGump()
|
||||
self:SaveMainWindowPosition()
|
||||
|
||||
-- chama 6 vezes a função de mudar skin...
|
||||
|
||||
self:DefaultIcons (true, true, true, true)
|
||||
|
||||
|
||||
self.iniciada = true
|
||||
self:AtivarInstancia (temp)
|
||||
|
||||
@@ -1937,9 +1972,9 @@ function _detalhes:monta_relatorio (este_relatorio, custom)
|
||||
local report_lines = {}
|
||||
|
||||
if (self.atributo == 5) then --> custom
|
||||
report_lines [#report_lines+1] = "Details! " .. Loc ["STRING_CUSTOM_REPORT"] .. " " .. self.customName
|
||||
report_lines [#report_lines+1] = "Details!: " .. self.customName .. " " .. Loc ["STRING_CUSTOM_REPORT"]
|
||||
else
|
||||
report_lines [#report_lines+1] = "Details! " .. Loc ["STRING_REPORT"] .. " " .. _detalhes.sub_atributos [self.atributo].lista [self.sub_atributo]
|
||||
report_lines [#report_lines+1] = "Details!: " .. _detalhes.sub_atributos [self.atributo].lista [self.sub_atributo]
|
||||
end
|
||||
|
||||
local barras = self.barras
|
||||
@@ -2046,7 +2081,7 @@ function _detalhes:monta_relatorio (este_relatorio, custom)
|
||||
stringlen = _detalhes.fontstring_len:GetStringWidth()
|
||||
end
|
||||
|
||||
report_lines [#report_lines+1] = i..". ".. name .." ".. _cstr ("%.2f", amount/total*100) .. "% (" .. _math_floor (dps) .. ", " .. _detalhes:ToK ( _math_floor (amount) ) .. ")"
|
||||
report_lines [#report_lines+1] = i..". ".. name .." ".. _cstr ("%.2f", amount/total*100) .. "% (" .. _detalhes:comma_value (_math_floor (dps)) .. ", " .. _detalhes:ToK ( _math_floor (amount) ) .. ")"
|
||||
else
|
||||
report_lines [#report_lines+1] = i..". ".. _thisActor.nome.." ".. _detalhes:comma_value ( _math_floor (amount) ).." (".._cstr ("%.1f", amount/total*100).."%)"
|
||||
end
|
||||
@@ -2148,7 +2183,7 @@ function _detalhes:monta_relatorio (este_relatorio, custom)
|
||||
stringlen = _detalhes.fontstring_len:GetStringWidth()
|
||||
end
|
||||
|
||||
report_lines [#report_lines+1] = i..". ".. name .." ".. _cstr ("%.2f", amount/total*100) .. "% (" .. _math_floor (dps) .. ", " .. _detalhes:ToK ( _math_floor (amount) ) .. ")"
|
||||
report_lines [#report_lines+1] = i..". ".. name .." ".. _cstr ("%.2f", amount/total*100) .. "% (" .. _detalhes:comma_value (_math_floor (dps)) .. ", " .. _detalhes:ToK ( _math_floor (amount) ) .. ")"
|
||||
else
|
||||
report_lines [#report_lines+1] = i..".".. _thisActor.nome.." ".. _detalhes:comma_value ( _math_floor (amount) ).." (".._cstr ("%.1f", amount/total*100).."%)"
|
||||
end
|
||||
@@ -2199,18 +2234,25 @@ function _detalhes:envia_relatorio (linhas, custom)
|
||||
if (not custom) then
|
||||
if (segmento == -1) then --overall
|
||||
luta = Loc ["STRING_REPORT_LAST"] .. " " .. #_detalhes.tabela_historico.tabelas .. " " .. Loc ["STRING_REPORT_FIGHTS"]
|
||||
|
||||
elseif (segmento == 0) then --current
|
||||
|
||||
if (_detalhes.tabela_vigente.is_boss) then
|
||||
local encounterName = _detalhes.tabela_vigente.is_boss.name
|
||||
if (encounterName) then
|
||||
luta = _detalhes.segmentos.current .. " " .. Loc ["STRING_AGAINST"] .. " " .. encounterName
|
||||
luta = encounterName
|
||||
end
|
||||
|
||||
elseif (_detalhes.tabela_vigente.is_pvp) then
|
||||
local battleground_name = _detalhes.tabela_vigente.is_pvp.name
|
||||
if (battleground_name) then
|
||||
luta = battleground_name
|
||||
end
|
||||
end
|
||||
|
||||
if (not luta) then
|
||||
if (_detalhes.tabela_vigente.enemy) then
|
||||
luta = _detalhes.segmentos.current .. " " .. Loc ["STRING_AGAINST"] .. " " .. _detalhes.tabela_vigente.enemy
|
||||
luta = _detalhes.tabela_vigente.enemy
|
||||
end
|
||||
end
|
||||
|
||||
@@ -2223,13 +2265,19 @@ function _detalhes:envia_relatorio (linhas, custom)
|
||||
if (_detalhes.tabela_historico.tabelas[1].is_boss) then
|
||||
local encounterName = _detalhes.tabela_historico.tabelas[1].is_boss.name
|
||||
if (encounterName) then
|
||||
luta = Loc ["STRING_REPORT_LASTFIGHT"] .. " " .. Loc ["STRING_AGAINST"] .. " " .. encounterName
|
||||
luta = encounterName .. " (" .. Loc ["STRING_REPORT_LASTFIGHT"] .. ")"
|
||||
end
|
||||
|
||||
elseif (_detalhes.tabela_historico.tabelas[1].is_pvp) then
|
||||
local battleground_name = _detalhes.tabela_historico.tabelas[1].is_pvp.name
|
||||
if (battleground_name) then
|
||||
luta = battleground_name .. " (" .. Loc ["STRING_REPORT_LASTFIGHT"] .. ")"
|
||||
end
|
||||
end
|
||||
|
||||
if (not luta) then
|
||||
if (_detalhes.tabela_historico.tabelas[1].enemy) then
|
||||
luta = Loc ["STRING_REPORT_LASTFIGHT"] .. " " .. Loc ["STRING_AGAINST"] .. " " .. _detalhes.tabela_historico.tabelas[1].enemy
|
||||
luta = _detalhes.tabela_historico.tabelas[1].enemy .. " (" .. Loc ["STRING_REPORT_LASTFIGHT"] .. ")"
|
||||
end
|
||||
end
|
||||
|
||||
@@ -2242,23 +2290,29 @@ function _detalhes:envia_relatorio (linhas, custom)
|
||||
if (_detalhes.tabela_historico.tabelas[segmento].is_boss) then
|
||||
local encounterName = _detalhes.tabela_historico.tabelas[segmento].is_boss.name
|
||||
if (encounterName) then
|
||||
luta = segmento .. " " .. Loc ["STRING_REPORT_PREVIOUSFIGHTS"] .. " " .. Loc ["STRING_AGAINST"] .. " " .. encounterName
|
||||
luta = encounterName .. " (" .. segmento .. " " .. Loc ["STRING_REPORT_PREVIOUSFIGHTS"] .. ")"
|
||||
end
|
||||
|
||||
elseif (_detalhes.tabela_historico.tabelas[segmento].is_pvp) then
|
||||
local battleground_name = _detalhes.tabela_historico.tabelas[segmento].is_pvp.name
|
||||
if (battleground_name) then
|
||||
luta = battleground_name .. " (" .. Loc ["STRING_REPORT_LASTFIGHT"] .. ")"
|
||||
end
|
||||
end
|
||||
|
||||
if (not luta) then
|
||||
if (_detalhes.tabela_historico.tabelas[segmento].enemy) then
|
||||
luta = segmento .. " " .. Loc ["STRING_REPORT_PREVIOUSFIGHTS"] .. " " .. Loc ["STRING_AGAINST"] .. " " .. _detalhes.tabela_historico.tabelas[segmento].enemy
|
||||
luta = _detalhes.tabela_historico.tabelas[segmento].enemy .. " (" .. segmento .. " " .. Loc ["STRING_REPORT_PREVIOUSFIGHTS"] .. ")"
|
||||
end
|
||||
end
|
||||
|
||||
if (not luta) then
|
||||
luta = segmento .. " " .. Loc ["STRING_REPORT_PREVIOUSFIGHTS"]
|
||||
luta = " (" .. segmento .. " " .. Loc ["STRING_REPORT_PREVIOUSFIGHTS"] .. ")"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
linhas[1] = linhas[1] .. ". " .. Loc ["STRING_REPORT_FIGHT"] .. ": " .. luta
|
||||
linhas[1] = linhas[1] .. " " .. Loc ["STRING_REPORT"] .. " " .. luta
|
||||
|
||||
end
|
||||
|
||||
|
||||
@@ -73,6 +73,10 @@ _detalhes.instance_defaults = {
|
||||
--menus:
|
||||
--anchor store the anchor point of main menu
|
||||
menu_anchor = {5, 1, side = 1},
|
||||
--icons on menu
|
||||
menu_icons = {true, true, true, true},
|
||||
--menu icons size multiplicator factor
|
||||
menu_icons_size = 1.0,
|
||||
--auto hide window borders
|
||||
menu_alpha = {enabled = false, iconstoo = true, onenter = 1, onleave = 1, ignorebars = false},
|
||||
--auto hide menu
|
||||
@@ -134,6 +138,8 @@ _detalhes.instance_defaults = {
|
||||
icon_file = [[Interface\AddOns\Details\images\classes_small]],
|
||||
no_icon = false,
|
||||
start_after_icon = true,
|
||||
--percent type
|
||||
percent_type = 1,
|
||||
|
||||
},
|
||||
--instance window color
|
||||
|
||||
@@ -465,6 +465,7 @@ function atributo_misc:RefreshWindow (instancia, tabela_do_combate, forcar, expo
|
||||
--depois faz a atualização normal dele através dos iterators
|
||||
local qual_barra = 1
|
||||
local barras_container = instancia.barras
|
||||
local percentage_type = instancia.row_info.percent_type
|
||||
|
||||
if (instancia.bars_sort_direction == 1) then
|
||||
for i = instancia.barraS[1], instancia.barraS[2], 1 do --> vai atualizar só o range que esta sendo mostrado
|
||||
@@ -569,18 +570,19 @@ function atributo_misc:RefreshWindow (instancia, tabela_do_combate, forcar, expo
|
||||
--depois faz a atualização normal dele através dos iterators
|
||||
local qual_barra = 1
|
||||
local barras_container = instancia.barras
|
||||
local percentage_type = instancia.row_info.percent_type
|
||||
|
||||
UsingCustomRightText = instancia.row_info.textR_enable_custom_text
|
||||
|
||||
if (instancia.bars_sort_direction == 1) then --top to bottom
|
||||
for i = instancia.barraS[1], instancia.barraS[2], 1 do --> vai atualizar só o range que esta sendo mostrado
|
||||
conteudo[i]:AtualizaBarra (instancia, barras_container, qual_barra, i, total, sub_atributo, forcar, keyName) --> instância, index, total, valor da 1º barra
|
||||
conteudo[i]:AtualizaBarra (instancia, barras_container, qual_barra, i, total, sub_atributo, forcar, keyName, nil, percentage_type) --> instância, index, total, valor da 1º barra
|
||||
qual_barra = qual_barra+1
|
||||
end
|
||||
|
||||
elseif (instancia.bars_sort_direction == 2) then --bottom to top
|
||||
for i = instancia.barraS[2], instancia.barraS[1], 1 do --> vai atualizar só o range que esta sendo mostrado
|
||||
conteudo[i]:AtualizaBarra (instancia, barras_container, qual_barra, i, total, sub_atributo, forcar, keyName) --> instância, index, total, valor da 1º barra
|
||||
conteudo[i]:AtualizaBarra (instancia, barras_container, qual_barra, i, total, sub_atributo, forcar, keyName, nil, percentage_type) --> instância, index, total, valor da 1º barra
|
||||
qual_barra = qual_barra+1
|
||||
end
|
||||
|
||||
@@ -628,7 +630,7 @@ end
|
||||
|
||||
local actor_class_color_r, actor_class_color_g, actor_class_color_b
|
||||
|
||||
function atributo_misc:AtualizaBarra (instancia, barras_container, qual_barra, lugar, total, sub_atributo, forcar, keyName, is_dead)
|
||||
function atributo_misc:AtualizaBarra (instancia, barras_container, qual_barra, lugar, total, sub_atributo, forcar, keyName, is_dead, percentage_type)
|
||||
|
||||
--print (self.ress)
|
||||
|
||||
@@ -651,13 +653,20 @@ function atributo_misc:AtualizaBarra (instancia, barras_container, qual_barra, l
|
||||
if (not meu_total) then
|
||||
return
|
||||
end
|
||||
local porcentagem = meu_total / total * 100
|
||||
|
||||
--local porcentagem = meu_total / total * 100
|
||||
if (not percentage_type or percentage_type == 1) then
|
||||
porcentagem = _cstr ("%.1f", meu_total / total * 100)
|
||||
elseif (percentage_type == 2) then
|
||||
porcentagem = _cstr ("%.1f", meu_total / instancia.top * 100)
|
||||
end
|
||||
|
||||
local esta_porcentagem = _math_floor ((meu_total/instancia.top) * 100)
|
||||
|
||||
if (UsingCustomRightText) then
|
||||
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (meu_total, "", _cstr ("%.1f", porcentagem)))
|
||||
esta_barra.texto_direita:SetText (instancia.row_info.textR_custom_text:ReplaceData (meu_total, "", porcentagem))
|
||||
else
|
||||
esta_barra.texto_direita:SetText (meu_total .." ".. div_abre .. _cstr ("%.1f", porcentagem).."%" .. div_fecha) --seta o texto da direita
|
||||
esta_barra.texto_direita:SetText (meu_total .." (" .. porcentagem .. "%)") --seta o texto da direita
|
||||
end
|
||||
|
||||
if (esta_barra.mouse_over and not instancia.baseframe.isMoving) then --> precisa atualizar o tooltip
|
||||
|
||||
@@ -79,6 +79,17 @@
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
for _, actor in _ipairs (_detalhes.tabela_vigente[class_type_dano]._ActorTable) do
|
||||
|
||||
if (actor.grupo and not actor.owner) then
|
||||
for index, target in _ipairs (actor.targets._ActorTable) do
|
||||
return target.nome
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
return Loc ["STRING_UNKNOW"]
|
||||
|
||||
+1
-1
@@ -2586,7 +2586,7 @@
|
||||
_detalhes:EntrarEmCombate()
|
||||
--> sinaliza que esse combate é pvp
|
||||
_current_combat.pvp = true
|
||||
_current_combat.is_boss = {index = 0, name = zoneName, zone = ZoneName, mapid = ZoneMapID, encounter = zoneType}
|
||||
_current_combat.is_pvp = {name = zoneName, zone = ZoneName, mapid = ZoneMapID}
|
||||
_detalhes.listener:RegisterEvent ("CHAT_MSG_BG_SYSTEM_NEUTRAL")
|
||||
end
|
||||
else
|
||||
|
||||
+2
-4
@@ -109,13 +109,11 @@
|
||||
end
|
||||
|
||||
if (PluginObject.__enabled) then
|
||||
_detalhes:SendEvent ("PLUGIN_ENABLED", PluginObject)
|
||||
return true, saved_table, true
|
||||
else
|
||||
_detalhes:SendEvent ("PLUGIN_DISABLED", PluginObject)
|
||||
return true, saved_table, false
|
||||
end
|
||||
|
||||
return true, saved_table
|
||||
|
||||
end
|
||||
|
||||
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -38,7 +38,6 @@
|
||||
end
|
||||
|
||||
_detalhes:ResetaGump (instancia)
|
||||
instancia:DefaultIcons (true, false, true, false)
|
||||
|
||||
_detalhes.raid = instancia.meu_id
|
||||
instancia:AtualizaGumpPrincipal (true)
|
||||
@@ -79,8 +78,6 @@
|
||||
instancia:ReajustaGump()
|
||||
end
|
||||
|
||||
instancia:DefaultIcons (true, true, true, true)
|
||||
|
||||
--> calcula se existem barras, etc...
|
||||
if (not instancia.rows_fit_in_window) then --> as barras não forma iniciadas ainda
|
||||
instancia.rows_fit_in_window = _math_floor (instancia.baseframe.BoxBarrasAltura / instancia.row_height)
|
||||
|
||||
@@ -60,7 +60,6 @@
|
||||
self.mostrando = "solo"
|
||||
end
|
||||
|
||||
self:DefaultIcons (true, false, true, false)
|
||||
_detalhes.SoloTables.instancia = self
|
||||
|
||||
--> default plugin
|
||||
@@ -115,7 +114,6 @@
|
||||
_detalhes.solo = nil --> destranca a janela solo para ser usada em outras instâncias
|
||||
self.mostrando = "normal"
|
||||
self:RestoreMainWindowPosition()
|
||||
self:DefaultIcons (true, true, true, true)
|
||||
|
||||
if (_G.DetailsWaitForPluginFrame:IsShown()) then
|
||||
_detalhes:CancelWaitForPlugin()
|
||||
|
||||
+50
-99
@@ -667,17 +667,9 @@ do
|
||||
|
||||
--> Create Plugin Frames
|
||||
function PDps:CreateChildObject (instance)
|
||||
|
||||
--> create main frame and widgets
|
||||
--> a statusbar frame is made of a panel with a member called 'text' which is a label
|
||||
local myframe = _detalhes.StatusBar:CreateChildFrame (instance, "DetailsStatusBarDps", DEFAULT_CHILD_WIDTH, DEFAULT_CHILD_HEIGHT)
|
||||
|
||||
--> create the table for the child
|
||||
--> a child table are the table which will hold parameters, default members:
|
||||
-- ["instance"] = instance where this child are,
|
||||
-- ["frame"] = myframe,
|
||||
-- ["text"] = myframe.text,
|
||||
-- ["mainPlugin"] = parent plugin
|
||||
local new_child = _detalhes.StatusBar:CreateChildTable (instance, PDps, myframe)
|
||||
|
||||
return new_child
|
||||
@@ -687,22 +679,7 @@ do
|
||||
function PDps:OnDetailsEvent (event)
|
||||
return
|
||||
end
|
||||
|
||||
--> standard on enable and disable functions, this is for hook model. If isn't declared, details will auto modify member .enabled state
|
||||
--function PDps:OnEnable()
|
||||
-- self.enabled = true
|
||||
--end
|
||||
--function PDps:OnDisable()
|
||||
-- self.enabled = false
|
||||
--end
|
||||
|
||||
--> setup function runs when player click with left mouse over plugin frame
|
||||
--> this is internal, but member Setup can be overwrite
|
||||
--> for exclude any options panel, set Setup to nil
|
||||
--function PDps:Setup()
|
||||
-- _detalhes.StatusBar:OpenOptionsForChild (self)
|
||||
--end
|
||||
|
||||
|
||||
--> Install
|
||||
-- _detalhes:InstallPlugin ( Plugin Type | Plugin Display Name | Plugin Icon | Plugin Object | Plugin Real Name )
|
||||
local install = _detalhes:InstallPlugin ("STATUSBAR", Loc ["STRING_PLUGIN_PDPSNAME"], "Interface\\Icons\\Achievement_brewery_3", PDps, "DETAILS_STATUSBAR_PLUGIN_PDPS")
|
||||
@@ -714,9 +691,9 @@ do
|
||||
--> Register needed events
|
||||
-- here we are redirecting the event to an specified function, otherwise events need to be handle inside "PDps:OnDetailsEvent (event)"
|
||||
_detalhes:RegisterEvent (PDps, "DETAILS_INSTANCE_CHANGESEGMENT", PDps.ChangeSegment)
|
||||
_detalhes:RegisterEvent (PDps, "DETAILS_DATA_RESET", PDps.DataReset)
|
||||
_detalhes:RegisterEvent (PDps, "COMBAT_PLAYER_ENTER", PDps.PlayerEnterCombat)
|
||||
_detalhes:RegisterEvent (PDps, "COMBAT_PLAYER_LEAVE", PDps.PlayerLeaveCombat)
|
||||
_detalhes:RegisterEvent (PDps, "DETAILS_DATA_RESET", PDps.DataReset)
|
||||
|
||||
end
|
||||
|
||||
@@ -729,102 +706,74 @@ do
|
||||
function PSegment:OnDetailsEvent (event)
|
||||
return
|
||||
end
|
||||
|
||||
function PSegment:NewCombat (combat_table)
|
||||
PSegment.can_schedule = 1
|
||||
PSegment:Change()
|
||||
end
|
||||
|
||||
function PSegment:SchduleGetName()
|
||||
PSegment:Change()
|
||||
end
|
||||
|
||||
function PSegment:Change (combat_table, segment_number)
|
||||
|
||||
for index, child in _ipairs (PSegment.childs) do
|
||||
|
||||
if (child.enabled and child.instance:IsEnabled()) then
|
||||
|
||||
|
||||
child.options.segmentType = child.options.segmentType or 1
|
||||
|
||||
if (not child.instance.showing) then
|
||||
return child.text:SetText ("Unknown")
|
||||
return child.text:SetText (Loc ["STRING_EMPTY_SEGMENT"])
|
||||
end
|
||||
|
||||
if (child.instance.segmento == -1) then --> overall
|
||||
child.text:SetText (Loc ["STRING_OVERALL"])
|
||||
|
||||
elseif (child.instance.segmento == 0) then --> combate atual
|
||||
|
||||
|
||||
if (child.options.segmentType == 1) then
|
||||
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
|
||||
local name = _detalhes.tabela_vigente:GetCombatName (true)
|
||||
|
||||
if (name and name ~= Loc ["STRING_UNKNOW"]) then
|
||||
if (child.options.segmentType == 2) then
|
||||
child.text:SetText (name)
|
||||
elseif (child.options.segmentType == 3) then
|
||||
child.text:SetText (name)
|
||||
end
|
||||
else
|
||||
child.text:SetText (child.instance.showing.enemy or "Unknown")
|
||||
child.text:SetText (Loc ["STRING_CURRENT"])
|
||||
if (_detalhes.in_combat and PSegment.can_schedule <= 2) then
|
||||
PSegment:ScheduleTimer ("SchduleGetName", 2)
|
||||
PSegment.can_schedule = PSegment.can_schedule + 1
|
||||
return
|
||||
end
|
||||
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)
|
||||
|
||||
elseif (child.options.segmentType == 2) then
|
||||
|
||||
if (child.instance.showing.is_boss) then
|
||||
child.text:SetText (child.instance.showing.is_boss.encounter)
|
||||
else
|
||||
local name = child.instance.showing:GetCombatName (true)
|
||||
if (name ~= Loc ["STRING_UNKNOW"]) then
|
||||
if (child.options.segmentType == 2) then
|
||||
child.text:SetText (name)
|
||||
elseif (child.options.segmentType == 3) then
|
||||
child.text:SetText (name .. " #" .. child.instance.segmento)
|
||||
end
|
||||
else
|
||||
child.text:SetText (child.instance.showing.enemy or "Unknown")
|
||||
if (child.options.segmentType == 2) then
|
||||
child.text:SetText (Loc ["STRING_UNKNOW"])
|
||||
elseif (child.options.segmentType == 3) then
|
||||
child.text:SetText (Loc ["STRING_UNKNOW"] .. " #" .. child.instance.segmento)
|
||||
end
|
||||
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
|
||||
@@ -889,7 +838,8 @@ do
|
||||
|
||||
--> Register needed events
|
||||
_detalhes:RegisterEvent (PSegment, "DETAILS_INSTANCE_CHANGESEGMENT", PSegment.Change)
|
||||
_detalhes:RegisterEvent (PSegment, "COMBAT_PLAYER_ENTER", PSegment.Change)
|
||||
_detalhes:RegisterEvent (PSegment, "DETAILS_DATA_RESET", PSegment.Change)
|
||||
_detalhes:RegisterEvent (PSegment, "COMBAT_PLAYER_ENTER", PSegment.NewCombat)
|
||||
|
||||
end
|
||||
|
||||
@@ -1523,7 +1473,8 @@ end)
|
||||
_detalhes.StatusBar:ApplyOptions (window.child, "textcolor", {r, g, b, a})
|
||||
end
|
||||
local canceledColor = function()
|
||||
window.textcolortexture:SetTexture (unpack (ColorPickerFrame.previousValues))
|
||||
local r, g, b, a = unpack (ColorPickerFrame.previousValues)
|
||||
window.textcolortexture:SetTexture (r, g, b, a)
|
||||
_detalhes.StatusBar:ApplyOptions (window.child, "textcolor", {r, g, b, a})
|
||||
end
|
||||
local colorpick = function()
|
||||
|
||||
+12
-74
@@ -35,6 +35,9 @@
|
||||
button:SetHeight (h)
|
||||
end
|
||||
|
||||
button.x = 0
|
||||
button.y = 0
|
||||
|
||||
--> tooltip and function on click
|
||||
button.tooltip = tooltip
|
||||
button:SetScript ("OnClick", func)
|
||||
@@ -90,7 +93,7 @@
|
||||
end
|
||||
|
||||
_detalhes.ToolBar.Shown [#_detalhes.ToolBar.Shown+1] = Button
|
||||
Button:SetPoint ("left", LastIcon, "right", Button.x + x, Button.y)
|
||||
Button:SetPoint ("left", LastIcon.widget or LastIcon, "right", Button.x + x, Button.y)
|
||||
Button:Show()
|
||||
|
||||
if (Effect) then
|
||||
@@ -105,7 +108,7 @@
|
||||
end
|
||||
end
|
||||
|
||||
_detalhes.ToolBar:ReorganizeIcons (lastIcon)
|
||||
_detalhes.ToolBar:ReorganizeIcons (true)
|
||||
|
||||
return true
|
||||
end
|
||||
@@ -124,7 +127,7 @@
|
||||
table.remove (_detalhes.ToolBar.Shown, index)
|
||||
|
||||
--> reorganize icons
|
||||
_detalhes.ToolBar:ReorganizeIcons()
|
||||
_detalhes.ToolBar:ReorganizeIcons (true)
|
||||
|
||||
end
|
||||
|
||||
@@ -173,14 +176,13 @@
|
||||
_detalhes.ToolBar.__enabled = true
|
||||
|
||||
function _detalhes.ToolBar:OnInstanceOpen()
|
||||
_detalhes.ToolBar:ReorganizeIcons()
|
||||
_detalhes.ToolBar:ReorganizeIcons (true)
|
||||
end
|
||||
function _detalhes.ToolBar:OnInstanceClose()
|
||||
_detalhes.ToolBar:ReorganizeIcons()
|
||||
_detalhes.ToolBar:ReorganizeIcons (true)
|
||||
end
|
||||
|
||||
function _detalhes.ToolBar:ReorganizeIcons (lastIcon, just_refresh)
|
||||
|
||||
function _detalhes.ToolBar:ReorganizeIcons (just_refresh)
|
||||
--> get the lower number instance
|
||||
local lower_instance = _detalhes:GetLowerInstanceNumber()
|
||||
|
||||
@@ -192,75 +194,10 @@
|
||||
end
|
||||
|
||||
local instance = _detalhes:GetInstance (lower_instance)
|
||||
|
||||
|
||||
_detalhes:ResetButtonSnapTo (instance)
|
||||
_detalhes.ResetButtonInstance = lower_instance
|
||||
|
||||
if (#_detalhes.ToolBar.Shown > 0) then
|
||||
|
||||
local LastIcon
|
||||
|
||||
local x = 0
|
||||
local to_alpha = instance:GetInstanceIconsCurrentAlpha()
|
||||
|
||||
if (instance.plugins_grow_direction == 2) then --> right direction
|
||||
|
||||
if (instance.consolidate) then
|
||||
LastIcon = instance.consolidateButtonTexture
|
||||
x = -3
|
||||
else
|
||||
LastIcon = instance.lastIcon or instance.baseframe.cabecalho.report
|
||||
end
|
||||
|
||||
for _, ThisButton in ipairs (_detalhes.ToolBar.Shown) do
|
||||
ThisButton:ClearAllPoints()
|
||||
--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)
|
||||
else
|
||||
ThisButton:SetPoint ("left", LastIcon, "right", ThisButton.x + x, ThisButton.y)
|
||||
end
|
||||
|
||||
ThisButton:Show()
|
||||
ThisButton:SetAlpha (to_alpha)
|
||||
|
||||
LastIcon = ThisButton
|
||||
end
|
||||
|
||||
elseif (instance.plugins_grow_direction == 1) then --> left direction
|
||||
|
||||
if (instance.consolidate) then
|
||||
LastIcon = instance.consolidateButtonTexture
|
||||
else
|
||||
LastIcon = instance.baseframe.cabecalho.modo_selecao.widget
|
||||
end
|
||||
|
||||
for _, ThisButton in ipairs (_detalhes.ToolBar.Shown) do
|
||||
ThisButton:ClearAllPoints()
|
||||
|
||||
ThisButton:SetParent (instance.baseframe)
|
||||
ThisButton:SetFrameLevel (instance.baseframe:GetFrameLevel()+5)
|
||||
|
||||
ThisButton:SetPoint ("right", LastIcon, "left", ThisButton.x + x, ThisButton.y)
|
||||
|
||||
ThisButton:Show()
|
||||
ThisButton:SetAlpha (to_alpha)
|
||||
|
||||
LastIcon = ThisButton
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
if (not just_refresh) then
|
||||
for _, instancia in pairs (_detalhes.tabela_instancias) do
|
||||
if (instancia.baseframe and instancia:IsAtiva()) then
|
||||
@@ -270,7 +207,8 @@
|
||||
|
||||
instance:ChangeSkin()
|
||||
else
|
||||
instance:SetMenuAlpha()
|
||||
--instance:SetMenuAlpha()
|
||||
instance:ToolbarMenuButtons()
|
||||
end
|
||||
|
||||
return true
|
||||
|
||||
+5
-3
@@ -364,12 +364,13 @@
|
||||
end
|
||||
end
|
||||
|
||||
--[ --disabled consolidate menu
|
||||
if (_detalhes.lower_instance == self.meu_id or self.consolidate) then
|
||||
if (not self.consolidate) then
|
||||
if (self.baseframe:GetWidth() < 180) then
|
||||
--if (self.baseframe:GetWidth() < 180) then
|
||||
--> consolidate menus
|
||||
self:ConsolidateIcons()
|
||||
end
|
||||
--self:ConsolidateIcons() --disabled
|
||||
--end
|
||||
else
|
||||
if (self.baseframe:GetWidth() > 180 or _detalhes.lower_instance ~= self.meu_id) then
|
||||
--> un consolidade menus
|
||||
@@ -377,6 +378,7 @@
|
||||
end
|
||||
end
|
||||
end
|
||||
--]]
|
||||
|
||||
if (self.stretch_button_side == 2) then
|
||||
self:StretchButtonAnchor (2)
|
||||
|
||||
@@ -454,13 +454,13 @@ local SliderMetaFunctions = {}
|
||||
if (f.host.fine_tuning) then
|
||||
f.host:SetValue (current + f.host.fine_tuning)
|
||||
if (editbox and SliderMetaFunctions.editbox_typevalue:IsShown()) then
|
||||
SliderMetaFunctions.editbox_typevalue:SetText (tostring (string.format ("%.1f", current + f.host.fine_tuning)))
|
||||
SliderMetaFunctions.editbox_typevalue:SetText (tostring (string.format ("%.2f", current + f.host.fine_tuning)))
|
||||
end
|
||||
else
|
||||
if (f.host.useDecimals) then
|
||||
f.host:SetValue (current + 0.1)
|
||||
if (editbox and SliderMetaFunctions.editbox_typevalue:IsShown()) then
|
||||
SliderMetaFunctions.editbox_typevalue:SetText (string.format ("%.1f", current + 0.1))
|
||||
SliderMetaFunctions.editbox_typevalue:SetText (string.format ("%.2f", current + 0.1))
|
||||
end
|
||||
else
|
||||
f.host:SetValue (current + 1)
|
||||
@@ -506,13 +506,13 @@ local SliderMetaFunctions = {}
|
||||
if (f.host.fine_tuning) then
|
||||
f.host:SetValue (current - f.host.fine_tuning)
|
||||
if (editbox and SliderMetaFunctions.editbox_typevalue:IsShown()) then
|
||||
SliderMetaFunctions.editbox_typevalue:SetText (tostring (string.format ("%.1f", current - f.host.fine_tuning)))
|
||||
SliderMetaFunctions.editbox_typevalue:SetText (tostring (string.format ("%.2f", current - f.host.fine_tuning)))
|
||||
end
|
||||
else
|
||||
if (f.host.useDecimals) then
|
||||
f.host:SetValue (current - 0.1)
|
||||
if (editbox and SliderMetaFunctions.editbox_typevalue:IsShown()) then
|
||||
SliderMetaFunctions.editbox_typevalue:SetText (string.format ("%.1f", current - 0.1))
|
||||
SliderMetaFunctions.editbox_typevalue:SetText (string.format ("%.2f", current - 0.1))
|
||||
end
|
||||
else
|
||||
f.host:SetValue (current - 1)
|
||||
@@ -678,7 +678,7 @@ local SliderMetaFunctions = {}
|
||||
end
|
||||
|
||||
if (slider.MyObject.useDecimals) then
|
||||
slider.amt:SetText (string.format ("%.1f", amt))
|
||||
slider.amt:SetText (string.format ("%.2f", amt))
|
||||
else
|
||||
slider.amt:SetText (math.floor (amt))
|
||||
end
|
||||
|
||||
@@ -28,6 +28,17 @@ do
|
||||
end
|
||||
end
|
||||
|
||||
function _detalhes:GetClassColor (class)
|
||||
if (self.classe) then
|
||||
return _detalhes.class_colors [class.classe]
|
||||
|
||||
elseif (type (class) == "table" and class.classe) then
|
||||
return _detalhes.class_colors [class.classe]
|
||||
|
||||
end
|
||||
return _detalhes.class_colors [class]
|
||||
end
|
||||
|
||||
function _detalhes:GuessClass (t)
|
||||
|
||||
local Actor, container, tries = t[1], t[2], t[3]
|
||||
|
||||
+34
-11
@@ -63,7 +63,7 @@ local _
|
||||
author = "Details!",
|
||||
version = "1.0",
|
||||
site = "unknown",
|
||||
desc = "classic skin",
|
||||
desc = "classic skin.",
|
||||
|
||||
micro_frames = {color = {1, 1, 1, 1}, font = "Friz Quadrata TT", size = 10},
|
||||
|
||||
@@ -95,7 +95,7 @@ local _
|
||||
--overwrites
|
||||
instance_cprops = {
|
||||
hide_icon = true,
|
||||
menu_anchor = {-81, 1, side = 2},
|
||||
menu_anchor = {-81, 2, side = 2},
|
||||
instance_button_anchor = {-12, 3},
|
||||
instancebutton_info = {text_color = {.8, .6, .0, 0.8}, text_face = "Friz Quadrata TT", text_size = 10, color_overlay = {1, 1, 1, 1}},
|
||||
resetbutton_info = {text_color = {.8, .8, .8, 0.8}, text_color_small = {0, 0, 0, 0}, text_face = "Friz Quadrata TT", text_size = 12, color_overlay = {1, 1, 1, 1}, always_small = true},
|
||||
@@ -115,18 +115,18 @@ local _
|
||||
DetailsResetButton2Text2:SetText ("")
|
||||
|
||||
if (not just_updating and not instance:IsLowerInstance()) then
|
||||
instance:MenuAnchor (-67)
|
||||
instance:MenuAnchor (-64)
|
||||
end
|
||||
end,
|
||||
|
||||
})
|
||||
|
||||
|
||||
_detalhes:InstallSkin ("Flat Color", {
|
||||
file = [[Interface\AddOns\Details\images\skins\flat_skin]],
|
||||
author = "Details!",
|
||||
version = "1.0",
|
||||
site = "unknown",
|
||||
desc = "a flat skin",
|
||||
desc = "a simple skin with opaque colors.",
|
||||
|
||||
micro_frames = {color = {1, 1, 1, 1}, font = "Friz Quadrata TT", size = 10},
|
||||
|
||||
@@ -163,7 +163,7 @@ local _
|
||||
author = "Details!",
|
||||
version = "1.0",
|
||||
site = "unknown",
|
||||
desc = "a flat skin",
|
||||
desc = "skin with uniform gray color.",
|
||||
|
||||
--general
|
||||
can_change_alpha_head = true,
|
||||
@@ -179,6 +179,7 @@ local _
|
||||
--reset button
|
||||
reset_button_coords = {0.01904296875, 0.0673828125, 0.50244140625, 0.51708984375},
|
||||
reset_button_small_coords = {0.11669921875, 0.13720703125, 0.50244140625, 0.51708984375},
|
||||
reset_button_small_size = {14, 12},
|
||||
|
||||
--instance button
|
||||
instance_button_coords = {0.01904296875, 0.04736328125, 0.48388671875, 0.49853515625},
|
||||
@@ -210,11 +211,32 @@ local _
|
||||
--[[ when a skin is selected, all customized properties of the window is reseted and then the overwrites are applied]]
|
||||
--[[ for the complete cprop list see the file classe_instancia_include.lua]]
|
||||
instance_cprops = {
|
||||
resetbutton_info = {text_color = {0.7, 0.7, 0.7, 1}, text_face = "Friz Quadrata TT", text_size = 12, color_overlay = {1, 1, 1, 1}},
|
||||
row_info = {
|
||||
textL_outline = true,
|
||||
textR_outline = true,
|
||||
texture = "Details Serenity",
|
||||
icon_file = [[Interface\AddOns\Details\images\classes_small_alpha]],
|
||||
start_after_icon = false,
|
||||
texture_background = "Details Serenity",
|
||||
texture_background_class_color = false,
|
||||
fixed_texture_background_color = {0, 0, 0, .2},
|
||||
},
|
||||
resetbutton_info = {text_color = {0.7, 0.7, 0.7, 1}, text_color_small = {0, 0, 0, 0}, text_face = "Friz Quadrata TT", text_size = 12, color_overlay = {1, 1, 1, 1}},
|
||||
instancebutton_info = {text_color = {.7, .7, .7, 1}, text_face = "Friz Quadrata TT", text_size = 12, color_overlay = {1, 1, 1, 1}},
|
||||
menu_anchor = {-18, 1},
|
||||
instance_button_anchor = {-27, 3},
|
||||
hide_icon = true,
|
||||
bg_alpha = 0.3,
|
||||
wallpaper = {
|
||||
enabled = true,
|
||||
width = 244.0000362689358,
|
||||
height = 96.00000674770899,
|
||||
texcoord = {0.001000000014901161, 0.3424842834472656, 0.5739999771118164, 1},
|
||||
overlay = {0, 0, 0, 0.498038113117218},
|
||||
anchor = "all",
|
||||
alpha = 0.4980392451398075,
|
||||
texture = "Interface\\Glues\\CREDITS\\Fellwood5",
|
||||
},
|
||||
}
|
||||
|
||||
})
|
||||
@@ -349,7 +371,7 @@ local _
|
||||
author = "Details!",
|
||||
version = "1.0",
|
||||
site = "unknown",
|
||||
desc = "a flat skin",
|
||||
desc = "skin based on ElvUI addon.",
|
||||
|
||||
--general
|
||||
can_change_alpha_head = true,
|
||||
@@ -360,7 +382,7 @@ local _
|
||||
icon_plugins_size = {19, 18},
|
||||
|
||||
--micro frames
|
||||
micro_frames = {color = {.7, .7, .7, 1}, font = "Arial Narrow", size = 11},
|
||||
micro_frames = {color = {0.525490, 0.525490, 0.525490, 1}, font = "Arial Narrow", size = 11},
|
||||
|
||||
--reset button
|
||||
reset_button_coords = {0.01904296875, 0.0673828125, 0.50244140625, 0.51708984375},
|
||||
@@ -376,6 +398,7 @@ local _
|
||||
--close button
|
||||
close_button_coords = {0.01904296875, 0.03369140625, 0.52197265625, 0.53662109375},
|
||||
close_button_size = {18, 18},
|
||||
reset_button_small_size = {22, 15},
|
||||
|
||||
-- the four anchors (for when the toolbar is on the top side)
|
||||
icon_point_anchor = {-35, -0.5},
|
||||
@@ -400,10 +423,10 @@ local _
|
||||
--[[ when a skin is selected, all customized properties of the window is reseted and then the overwrites are applied]]
|
||||
--[[ for the complete cprop list see the file classe_instancia_include.lua]]
|
||||
instance_cprops = {
|
||||
resetbutton_info = {text_color = {0.7, 0.7, 0.7, 1}, text_color_small = {0, 0, 0, 0}, text_face = "Friz Quadrata TT", text_size = 12, color_overlay = {1, 1, 1, 1}},
|
||||
resetbutton_info = {text_color = {0.7, 0.7, 0.7, 1}, text_color_small = {0, 0, 0, 0}, text_face = "Friz Quadrata TT", text_size = 12, color_overlay = {1, 1, 1, 1}, always_small = true},
|
||||
instancebutton_info = {text_color = {.7, .7, .7, 1}, text_face = "Friz Quadrata TT", text_size = 12, color_overlay = {1, 1, 1, 1}},
|
||||
menu_anchor = {-20, 1},
|
||||
instance_button_anchor = {-27, 3},
|
||||
instance_button_anchor = {-17, 3},
|
||||
hide_icon = true,
|
||||
desaturated_menu = true,
|
||||
bg_alpha = 0.3,
|
||||
|
||||
@@ -62,6 +62,7 @@ do
|
||||
[124464] = {name = GetSpellInfo (124464) .. " (" .. Loc ["STRING_MASTERY"] .. ")"}, --> shadow word: pain mastery proc (priest)
|
||||
[124465] = {name = GetSpellInfo (124465) .. " (" .. Loc ["STRING_MASTERY"] .. ")"}, --> vampiric touch mastery proc (priest)
|
||||
[124468] = {name = GetSpellInfo (124468) .. " (" .. Loc ["STRING_MASTERY"] .. ")"}, --> mind flay mastery proc (priest)
|
||||
[124469] = {name = GetSpellInfo (124469) .. " (" .. Loc ["STRING_MASTERY"] .. ")"}, --> mind sear mastery proc (priest)
|
||||
|
||||
[121414] = {name = GetSpellInfo (121414) .. " (Glaive #1)"}, --> glaive toss (hunter)
|
||||
[120761] = {name = GetSpellInfo (120761) .. " (Glaive #2)"}, --> glaive toss (hunter)
|
||||
|
||||
@@ -1850,11 +1850,11 @@ local row_on_enter = function (self)
|
||||
|
||||
-- ~erro
|
||||
if (self.spellid == "enemies") then --> damage taken enemies
|
||||
if (not self.minha_tabela or not self.minha_tabela:MontaTooltipDamageTaken (self, self._index)) then -- > poderia ser aprimerado para uma tailcall
|
||||
if (not self.minha_tabela or not self.minha_tabela:MontaTooltipDamageTaken (self, self._index, info.instancia)) then -- > poderia ser aprimerado para uma tailcall
|
||||
return
|
||||
end
|
||||
|
||||
elseif (not self.minha_tabela or not self.minha_tabela:MontaTooltipAlvos (self, self._index)) then -- > poderia ser aprimerado para uma tailcall
|
||||
elseif (not self.minha_tabela or not self.minha_tabela:MontaTooltipAlvos (self, self._index, info.instancia)) then -- > poderia ser aprimerado para uma tailcall
|
||||
return
|
||||
|
||||
end
|
||||
@@ -1883,7 +1883,7 @@ local row_on_enter = function (self)
|
||||
info.showing = self._index --> diz o index da barra que esta sendo mostrado na direita
|
||||
|
||||
info.jogador.detalhes = self.show --> minha tabela = jogador = jogador.detales = spellid ou nome que esta sendo mostrado na direita
|
||||
info.jogador:MontaDetalhes (self.show, self) --> passa a spellid ou nome e a barra
|
||||
info.jogador:MontaDetalhes (self.show, self, info.instancia) --> passa a spellid ou nome e a barra
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
+460
-205
@@ -318,16 +318,16 @@ function _detalhes:OpenOptionsWindow (instance)
|
||||
|
||||
--> left panel buttons
|
||||
|
||||
local menus = { --labels nos menus
|
||||
{"Display", "Combat", "Profiles"},
|
||||
{"Skin Selection", "Row Settings", "Row Texts and Extra Bars", "Show & Hide Settings", "Window Settings", "Attribute Text", "Menus: Left Buttons", "Menus: Right Buttons", "Wallpaper"},
|
||||
{"Performance Tweaks", "Data Collector"},
|
||||
{"Plugins Management", "Spell Customization", "Data for Charts"}
|
||||
}
|
||||
local menus = { --labels nos menus
|
||||
{"Display", "Combat", "Profiles"},
|
||||
{"Skin Selection", "Row Settings", "Row Texts", "Show & Hide Settings", "Window Settings", "Attribute Text", "Menus: Left Buttons", "Menus: Right Buttons", "Wallpaper", "Miscellaneous"},
|
||||
|
||||
{"Data Collector", "Performance Tweaks", "Plugins Management", "Spell Customization", "Data for Charts"}
|
||||
}
|
||||
|
||||
local menus2 = {
|
||||
"Display", "Combat",
|
||||
"Skin Selection", "Row Settings", "Row Texts and Extra Bars", "Window Settings", "Menus: Left Buttons", "Menus: Right Buttons", "Wallpaper",
|
||||
"Skin Selection", "Row Settings", "Row Texts", "Window Settings", "Menus: Left Buttons", "Menus: Right Buttons", "Wallpaper", "Miscellaneous",
|
||||
"Performance Tweaks", "Data Collector",
|
||||
"Plugins Management", "Profiles", "Attribute Text", "Spell Customization", "Data for Charts", "Show & Hide Settings"
|
||||
}
|
||||
@@ -386,15 +386,16 @@ function _detalhes:OpenOptionsWindow (instance)
|
||||
g_appearance_texture:SetPoint ("topleft", g_appearance, "topleft", 0, 0)
|
||||
|
||||
--performance
|
||||
local g_performance = g:NewButton (window, _, "$parentPerformanceButton", "g_appearance", 150, 33, function() end, 0x3)
|
||||
--[
|
||||
--local g_performance = g:NewButton (window, _, "$parentPerformanceButton", "g_appearance", 150, 33, function() end, 0x3)
|
||||
|
||||
g:NewLabel (window, _, "$parentperformance_settings_text", "PerformanceSettingsLabel", Loc ["STRING_OPTIONS_PERFORMANCE"], "GameFontNormal", 12)
|
||||
window.PerformanceSettingsLabel:SetPoint ("topleft", g_performance, "topleft", 35, -11)
|
||||
--g:NewLabel (window, _, "$parentperformance_settings_text", "PerformanceSettingsLabel", Loc ["STRING_OPTIONS_PERFORMANCE"], "GameFontNormal", 12)
|
||||
--window.PerformanceSettingsLabel:SetPoint ("topleft", g_performance, "topleft", 35, -11)
|
||||
|
||||
local g_performance_texture = g:NewImage (window, [[Interface\AddOns\Details\images\options_window]], 160, 33, nil, nil, "PerformanceSettingsTexture", "$parentPerformanceSettingsTexture")
|
||||
g_performance_texture:SetTexCoord (0, 0.15625, 0.751953125, 0.7841796875)
|
||||
g_performance_texture:SetPoint ("topleft", g_performance, "topleft", 0, 0)
|
||||
|
||||
--local g_performance_texture = g:NewImage (window, [[Interface\AddOns\Details\images\options_window]], 160, 33, nil, nil, "PerformanceSettingsTexture", "$parentPerformanceSettingsTexture")
|
||||
--g_performance_texture:SetTexCoord (0, 0.15625, 0.751953125, 0.7841796875)
|
||||
--g_performance_texture:SetPoint ("topleft", g_performance, "topleft", 0, 0)
|
||||
--]]
|
||||
--advanced
|
||||
local g_advanced = g:NewButton (window, _, "$parentAdvancedButton", "g_advanced", 150, 33, function() end, 0x4)
|
||||
|
||||
@@ -409,11 +410,11 @@ function _detalhes:OpenOptionsWindow (instance)
|
||||
|
||||
|
||||
--> index dos menus
|
||||
local menus_settings = {1, 2, 13, 3, 4, 5, 17, 6, 14, 7, 8, 9, 10, 11, 12, 15, 16}
|
||||
local menus_settings = {1, 2, 13, 3, 4, 5, 17, 6, 14, 7, 8, 9, 18, 11, 10, 12, 15, 16}
|
||||
|
||||
|
||||
--> create menus
|
||||
local anchors = {g_settings, g_appearance, g_performance, g_advanced}
|
||||
local anchors = {g_settings, g_appearance, g_advanced} --g_performance
|
||||
local y = -90
|
||||
local sub_menu_index = 1
|
||||
|
||||
@@ -502,6 +503,7 @@ function _detalhes:OpenOptionsWindow (instance)
|
||||
[15] = {}, --spellcustom
|
||||
[16] = {}, --charts data
|
||||
[17] = {}, --instance settings
|
||||
[18] = {}, --miscellaneous settings
|
||||
} --> vai armazenar os frames das opções
|
||||
|
||||
|
||||
@@ -616,6 +618,7 @@ function _detalhes:OpenOptionsWindow (instance)
|
||||
table.insert (window.options [15], window:create_box_no_scroll (15))
|
||||
table.insert (window.options [16], window:create_box_no_scroll (16))
|
||||
table.insert (window.options [17], window:create_box_no_scroll (17))
|
||||
table.insert (window.options [18], window:create_box_no_scroll (18))
|
||||
|
||||
function window:hide_all_options()
|
||||
for _, frame in ipairs (window.options) do
|
||||
@@ -723,6 +726,275 @@ function _detalhes:OpenOptionsWindow (instance)
|
||||
tinsert (_detalhes.savedCustomSpells, {1244684, a, b})
|
||||
--]]
|
||||
|
||||
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
-- Advanced Settings - Miscellaneous ~18
|
||||
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
function window:CreateFrame18()
|
||||
|
||||
local frame18 = window.options [18][1]
|
||||
|
||||
local titulo_misc_settings = g:NewLabel (frame18, _, "$parentTituloMiscSettingsText", "MiscSettingsLabel", Loc ["STRING_OPTIONS_MISCTITLE"], "GameFontNormal", 16)
|
||||
local titulo_misc_settings_desc = g:NewLabel (frame18, _, "$parentTituloMiscSettingsText2", "Misc2SettingsLabel", Loc ["STRING_OPTIONS_MISCTITLE2"], "GameFontNormal", 9, "white")
|
||||
titulo_misc_settings_desc.width = 350
|
||||
titulo_misc_settings_desc.height = 20
|
||||
|
||||
--> auto switch
|
||||
g:NewLabel (frame18, _, "$parentAutoSwitchLabel", "autoSwitchLabel", Loc ["STRING_OPTIONS_AUTO_SWITCH"], "GameFontHighlightLeft")
|
||||
--
|
||||
local onSelectAutoSwitch = function (_, _, switch_to)
|
||||
if (switch_to == 0) then
|
||||
_G.DetailsOptionsWindow.instance.auto_switch_to = nil
|
||||
return
|
||||
end
|
||||
|
||||
local selected = window.lastSwitchList [switch_to]
|
||||
|
||||
if (selected [1] == "raid") then
|
||||
local name = _detalhes.RaidTables.Menu [selected [2]] [1]
|
||||
selected [2] = name
|
||||
_G.DetailsOptionsWindow.instance.auto_switch_to = selected
|
||||
else
|
||||
_G.DetailsOptionsWindow.instance.auto_switch_to = selected
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
local buildSwitchMenu = function()
|
||||
|
||||
window.lastSwitchList = {}
|
||||
local t = {{value = 0, label = "NONE", onclick = onSelectAutoSwitch, icon = [[Interface\Glues\LOGIN\Glues-CheckBox-Check]]}}
|
||||
|
||||
local attributes = _detalhes.sub_atributos
|
||||
local i = 1
|
||||
|
||||
for atributo, sub_atributo in ipairs (attributes) do
|
||||
local icones = sub_atributo.icones
|
||||
for index, att_name in ipairs (sub_atributo.lista) do
|
||||
local texture, texcoord = unpack (icones [index])
|
||||
tinsert (t, {value = i, label = att_name, onclick = onSelectAutoSwitch, icon = texture, texcoord = texcoord})
|
||||
window.lastSwitchList [i] = {atributo, index, i}
|
||||
i = i + 1
|
||||
end
|
||||
end
|
||||
|
||||
for index, ptable in ipairs (_detalhes.RaidTables.Menu) do
|
||||
tinsert (t, {value = i, label = ptable [1], onclick = onSelectAutoSwitch, icon = ptable [2]})
|
||||
window.lastSwitchList [i] = {"raid", index, i}
|
||||
i = i + 1
|
||||
end
|
||||
|
||||
return t
|
||||
end
|
||||
|
||||
local d = g:NewDropDown (frame18, _, "$parentAutoSwitchDropdown", "autoSwitchDropdown", 160, 20, buildSwitchMenu, 1) -- func, default
|
||||
d.onenter_backdrop = dropdown_backdrop_onenter
|
||||
d.onleave_backdrop = dropdown_backdrop_onleave
|
||||
d:SetBackdrop (dropdown_backdrop)
|
||||
d:SetBackdropColor (unpack (dropdown_backdrop_onleave))
|
||||
|
||||
frame18.autoSwitchDropdown:SetPoint ("left", frame18.autoSwitchLabel, "right", 2, 0)
|
||||
|
||||
frame18.autoSwitchDropdown.info = Loc ["STRING_OPTIONS_AUTO_SWITCH_DESC"]
|
||||
|
||||
window:create_line_background (frame18, frame18.autoSwitchLabel, frame18.autoSwitchDropdown)
|
||||
frame18.autoSwitchDropdown:SetHook ("OnEnter", background_on_enter)
|
||||
frame18.autoSwitchDropdown:SetHook ("OnLeave", background_on_leave)
|
||||
|
||||
--> auto current segment
|
||||
g:NewSwitch (frame18, _, "$parentAutoCurrentSlider", "autoCurrentSlider", 60, 20, _, _, instance.auto_current)
|
||||
|
||||
-- Auto Current Segment
|
||||
|
||||
g:NewLabel (frame18, _, "$parentAutoCurrentLabel", "autoCurrentLabel", Loc ["STRING_OPTIONS_INSTANCE_CURRENT"], "GameFontHighlightLeft")
|
||||
|
||||
frame18.autoCurrentSlider:SetPoint ("left", frame18.autoCurrentLabel, "right", 2)
|
||||
frame18.autoCurrentSlider.OnSwitch = function (self, instance, value)
|
||||
instance.auto_current = value
|
||||
end
|
||||
|
||||
frame18.autoCurrentSlider.info = Loc ["STRING_OPTIONS_INSTANCE_CURRENT_DESC"]
|
||||
window:create_line_background (frame18, frame18.autoCurrentLabel, frame18.autoCurrentSlider)
|
||||
frame18.autoCurrentSlider:SetHook ("OnEnter", background_on_enter)
|
||||
frame18.autoCurrentSlider:SetHook ("OnLeave", background_on_leave)
|
||||
|
||||
--> show total bar
|
||||
|
||||
g:NewLabel (frame18, _, "$parentTotalBarLabel", "totalBarLabel", Loc ["STRING_OPTIONS_SHOW_TOTALBAR"], "GameFontHighlightLeft")
|
||||
g:NewSwitch (frame18, _, "$parentTotalBarSlider", "totalBarSlider", 60, 20, _, _, instance.total_bar.enabled)
|
||||
|
||||
frame18.totalBarSlider:SetPoint ("left", frame18.totalBarLabel, "right", 2)
|
||||
frame18.totalBarSlider.OnSwitch = function (self, instance, value)
|
||||
instance.total_bar.enabled = value
|
||||
instance:InstanceReset()
|
||||
end
|
||||
|
||||
frame18.totalBarSlider.info = Loc ["STRING_OPTIONS_SHOW_TOTALBAR_DESC"]
|
||||
window:create_line_background (frame18, frame18.totalBarLabel, frame18.totalBarSlider)
|
||||
frame18.totalBarSlider:SetHook ("OnEnter", background_on_enter)
|
||||
frame18.totalBarSlider:SetHook ("OnLeave", background_on_leave)
|
||||
|
||||
--> total bar color
|
||||
local totalbarcolor_callback = function (button, r, g, b, a)
|
||||
_G.DetailsOptionsWindow.instance.total_bar.color[1] = r
|
||||
_G.DetailsOptionsWindow.instance.total_bar.color[2] = g
|
||||
_G.DetailsOptionsWindow.instance.total_bar.color[3] = b
|
||||
_G.DetailsOptionsWindow.instance:InstanceReset()
|
||||
end
|
||||
g:NewColorPickButton (frame18, "$parentTotalBarColorPick", "totalBarColorPick", totalbarcolor_callback)
|
||||
g:NewLabel (frame18, _, "$parentTotalBarColorPickLabel", "totalBarPickColorLabel", Loc ["STRING_OPTIONS_COLOR"], "GameFontHighlightLeft")
|
||||
frame18.totalBarColorPick:SetPoint ("left", frame18.totalBarPickColorLabel, "right", 2, 0)
|
||||
|
||||
frame18.totalBarColorPick.info = Loc ["STRING_OPTIONS_SHOW_TOTALBAR_COLOR_DESC"]
|
||||
window:create_line_background (frame18, frame18.totalBarPickColorLabel, frame18.totalBarColorPick)
|
||||
frame18.totalBarColorPick:SetHook ("OnEnter", background_on_enter)
|
||||
frame18.totalBarColorPick:SetHook ("OnLeave", background_on_leave)
|
||||
|
||||
--> total bar only in group
|
||||
g:NewLabel (frame18, _, "$parentTotalBarOnlyInGroupLabel", "totalBarOnlyInGroupLabel", Loc ["STRING_OPTIONS_SHOW_TOTALBAR_INGROUP"], "GameFontHighlightLeft")
|
||||
g:NewSwitch (frame18, _, "$parentTotalBarOnlyInGroupSlider", "totalBarOnlyInGroupSlider", 60, 20, _, _, instance.total_bar.only_in_group)
|
||||
|
||||
frame18.totalBarOnlyInGroupSlider:SetPoint ("left", frame18.totalBarOnlyInGroupLabel, "right", 2)
|
||||
frame18.totalBarOnlyInGroupSlider.OnSwitch = function (self, instance, value)
|
||||
instance.total_bar.only_in_group = value
|
||||
instance:InstanceReset()
|
||||
end
|
||||
|
||||
frame18.totalBarOnlyInGroupSlider.info = Loc ["STRING_OPTIONS_SHOW_TOTALBAR_INGROUP_DESC"]
|
||||
window:create_line_background (frame18, frame18.totalBarOnlyInGroupLabel, frame18.totalBarOnlyInGroupSlider)
|
||||
frame18.totalBarOnlyInGroupSlider:SetHook ("OnEnter", background_on_enter)
|
||||
frame18.totalBarOnlyInGroupSlider:SetHook ("OnLeave", background_on_leave)
|
||||
|
||||
--> total bar icon
|
||||
local totalbar_pickicon_callback = function (texture)
|
||||
instance.total_bar.icon = texture
|
||||
frame18.totalBarIconTexture:SetTexture (texture)
|
||||
instance:InstanceReset()
|
||||
end
|
||||
local totalbar_pickicon = function()
|
||||
g:IconPick (totalbar_pickicon_callback)
|
||||
end
|
||||
g:NewLabel (frame18, _, "$parentTotalBarIconLabel", "totalBarIconLabel", Loc ["STRING_OPTIONS_SHOW_TOTALBAR_ICON"], "GameFontHighlightLeft")
|
||||
g:NewImage (frame18, nil, 20, 20, nil, nil, "totalBarIconTexture", "$parentTotalBarIconTexture")
|
||||
g:NewButton (frame18, _, "$parentTotalBarIconButton", "totalBarIconButton", 20, 20, totalbar_pickicon)
|
||||
frame18.totalBarIconButton:InstallCustomTexture()
|
||||
frame18.totalBarIconButton:SetPoint ("left", frame18.totalBarIconLabel, "right", 2, 0)
|
||||
frame18.totalBarIconTexture:SetPoint ("left", frame18.totalBarIconLabel, "right", 2, 0)
|
||||
|
||||
frame18.totalBarIconButton.info = Loc ["STRING_OPTIONS_SHOW_TOTALBAR_ICON_DESC"]
|
||||
window:create_line_background (frame18, frame18.totalBarIconLabel, frame18.totalBarIconButton)
|
||||
frame18.totalBarIconButton:SetHook ("OnEnter", background_on_enter)
|
||||
frame18.totalBarIconButton:SetHook ("OnLeave", background_on_leave)
|
||||
|
||||
--> instances
|
||||
g:NewLabel (frame18, _, "$parentInstancesMiscAnchor", "instancesMiscLabel", Loc ["STRING_OPTIONS_INSTANCES"], "GameFontNormal")
|
||||
|
||||
g:NewLabel (frame18, _, "$parentDeleteInstanceLabel", "deleteInstanceLabel", Loc ["STRING_OPTIONS_INSTANCE_DELETE"], "GameFontHighlightLeft")
|
||||
|
||||
local onSelectDeleteInstance = function (_, _, selected)
|
||||
frame18.deleteInstanceButton.selected_instance = selected
|
||||
end
|
||||
|
||||
local buildSelectDeleteInstance = function()
|
||||
local InstanceList = {}
|
||||
for index = 1, math.min (#_detalhes.tabela_instancias, _detalhes.instances_amount), 1 do
|
||||
local _this_instance = _detalhes.tabela_instancias [index]
|
||||
|
||||
--> pegar o que ela ta mostrando
|
||||
local atributo = _this_instance.atributo
|
||||
local sub_atributo = _this_instance.sub_atributo
|
||||
|
||||
if (atributo == 5) then --> custom
|
||||
local CustomObject = _detalhes.custom [sub_atributo]
|
||||
|
||||
if (CustomObject) then
|
||||
InstanceList [#InstanceList+1] = {value = index, label = _detalhes.atributos.lista [atributo] .. " - " .. CustomObject.name, onclick = onSelectDeleteInstance, icon = CustomObject.icon}
|
||||
else
|
||||
InstanceList [#InstanceList+1] = {value = index, label = "unknown" .. " - " .. " invalid custom", onclick = onSelectDeleteInstance, icon = [[Interface\COMMON\VOICECHAT-MUTED]]}
|
||||
end
|
||||
|
||||
else
|
||||
local modo = _this_instance.modo
|
||||
|
||||
if (modo == 1) then --alone
|
||||
atributo = _detalhes.SoloTables.Mode or 1
|
||||
local SoloInfo = _detalhes.SoloTables.Menu [atributo]
|
||||
if (SoloInfo) then
|
||||
InstanceList [#InstanceList+1] = {value = index, label = "#".. index .. " " .. SoloInfo [1], onclick = onSelectDeleteInstance, icon = SoloInfo [2]}
|
||||
else
|
||||
InstanceList [#InstanceList+1] = {value = index, label = "#".. index .. " unknown", onclick = onSelectDeleteInstance, icon = ""}
|
||||
end
|
||||
|
||||
elseif (modo == 4) then --raid
|
||||
atributo = _detalhes.RaidTables.Mode or 1
|
||||
local RaidInfo = _detalhes.RaidTables.Menu [atributo]
|
||||
if (RaidInfo) then
|
||||
InstanceList [#InstanceList+1] = {value = index, label = "#".. index .. " " .. RaidInfo [1], onclick = onSelectDeleteInstance, icon = RaidInfo [2]}
|
||||
else
|
||||
InstanceList [#InstanceList+1] = {value = index, label = "#".. index .. " unknown", onclick = onSelectDeleteInstance, icon = ""}
|
||||
end
|
||||
else
|
||||
InstanceList [#InstanceList+1] = {value = index, label = "#".. index .. " " .. _detalhes.atributos.lista [atributo] .. " - " .. _detalhes.sub_atributos [atributo].lista [sub_atributo], onclick = onSelectDeleteInstance, icon = _detalhes.sub_atributos [atributo].icones[sub_atributo] [1], texcoord = _detalhes.sub_atributos [atributo].icones[sub_atributo] [2]}
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
return InstanceList
|
||||
end
|
||||
|
||||
local d = g:NewDropDown (frame18, _, "$parentDeleteInstanceDropdown", "deleteInstanceDropdown", 160, 20, buildSelectDeleteInstance, 0) -- func, default
|
||||
d.onenter_backdrop = dropdown_backdrop_onenter
|
||||
d.onleave_backdrop = dropdown_backdrop_onleave
|
||||
d:SetBackdrop (dropdown_backdrop)
|
||||
d:SetBackdropColor (unpack (dropdown_backdrop_onleave))
|
||||
|
||||
frame18.deleteInstanceDropdown:SetPoint ("left", frame18.deleteInstanceLabel, "right", 2, 0)
|
||||
|
||||
frame18.deleteInstanceDropdown.info = Loc ["STRING_OPTIONS_INSTANCE_DELETE_DESC"]
|
||||
|
||||
window:create_line_background (frame18, frame18.deleteInstanceLabel, frame18.deleteInstanceDropdown)
|
||||
frame18.deleteInstanceDropdown:SetHook ("OnEnter", background_on_enter)
|
||||
frame18.deleteInstanceDropdown:SetHook ("OnLeave", background_on_leave)
|
||||
|
||||
local delete_instance = function (self)
|
||||
if (self.selected_instance) then
|
||||
_detalhes:DeleteInstance (self.selected_instance)
|
||||
ReloadUI()
|
||||
end
|
||||
end
|
||||
|
||||
local confirm_button = CreateFrame ("button", "DetailsDeleteInstanceButton", frame18, "OptionsButtonTemplate")
|
||||
confirm_button:SetSize (60, 20)
|
||||
confirm_button:SetPoint ("left", frame18.deleteInstanceDropdown.widget, "right", 2, 0)
|
||||
confirm_button:SetText ("confirm")
|
||||
confirm_button:SetScript ("OnClick", delete_instance)
|
||||
frame18.deleteInstanceButton = confirm_button
|
||||
|
||||
--local confirm_button = g:NewButton (frame18, nil, "$parentDeleteInstanceButton", "deleteInstanceButton", 60, 20, delete_instance, nil, nil, nil, "delete")
|
||||
--confirm_button:InstallCustomTexture()
|
||||
|
||||
--> anchors
|
||||
|
||||
titulo_misc_settings:SetPoint (10, -10)
|
||||
titulo_misc_settings_desc:SetPoint (10, -30)
|
||||
|
||||
g:NewLabel (frame18, _, "$parentSwitchesAnchor", "switchesAnchorLabel", "Switches:", "GameFontNormal")
|
||||
frame18.switchesAnchorLabel:SetPoint (10, -70)
|
||||
frame18.autoSwitchLabel:SetPoint (10, -95)
|
||||
frame18.autoCurrentLabel:SetPoint (10, -120) --auto current
|
||||
|
||||
g:NewLabel (frame18, _, "$parentTotalBarAnchor", "totalBarAnchorLabel", "Total Bar:", "GameFontNormal")
|
||||
frame18.totalBarAnchorLabel:SetPoint (10, -155)
|
||||
frame18.totalBarIconLabel:SetPoint (10, -180)
|
||||
--frame18.totalBarPickColorLabel:SetPoint (10, -415)
|
||||
frame18.totalBarPickColorLabel:SetPoint ("left", frame18.totalBarIconTexture, "right", 10, 0)
|
||||
frame18.totalBarLabel:SetPoint (10, -205)
|
||||
frame18.totalBarOnlyInGroupLabel:SetPoint (10, -230)
|
||||
|
||||
frame18.instancesMiscLabel:SetPoint (10, -265)
|
||||
frame18.deleteInstanceLabel:SetPoint (10, -290)
|
||||
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
-- Advanced Settings - Chart Data ~17
|
||||
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
@@ -1082,6 +1354,7 @@ function window:CreateFrame16()
|
||||
--> name
|
||||
local capture_name = g:NewLabel (addframe, nil, "$parentNameLabel", "nameLabel", "Name: ")
|
||||
local capture_name_entry = g:NewTextEntry (addframe, nil, "$parentNameEntry", "nameEntry", 160, 20, function() end)
|
||||
capture_name_entry:SetMaxLetters (16)
|
||||
capture_name_entry:SetPoint ("left", capture_name, "right", 2, 0)
|
||||
|
||||
--> function
|
||||
@@ -1228,7 +1501,7 @@ function window:CreateFrame16()
|
||||
return _detalhes:Msg ("Function is invalid.")
|
||||
end
|
||||
|
||||
_detalhes:RegisterUserTimeCapture (name, func, icon, author, version)
|
||||
_detalhes:TimeDataRegister (name, func, nil, author, version, icon, true)
|
||||
|
||||
panel:Refresh()
|
||||
|
||||
@@ -1994,90 +2267,11 @@ function window:CreateFrame2()
|
||||
frame2.timetypeDropdown:SetHook ("OnEnter", background_on_enter)
|
||||
frame2.timetypeDropdown:SetHook ("OnLeave", background_on_leave)
|
||||
|
||||
--> auto switch
|
||||
g:NewLabel (frame2, _, "$parentAutoSwitchLabel", "autoSwitchLabel", Loc ["STRING_OPTIONS_AUTO_SWITCH"], "GameFontHighlightLeft")
|
||||
--
|
||||
local onSelectAutoSwitch = function (_, _, switch_to)
|
||||
if (switch_to == 0) then
|
||||
_G.DetailsOptionsWindow.instance.auto_switch_to = nil
|
||||
return
|
||||
end
|
||||
|
||||
local selected = window.lastSwitchList [switch_to]
|
||||
|
||||
if (selected [1] == "raid") then
|
||||
local name = _detalhes.RaidTables.Menu [selected [2]] [1]
|
||||
selected [2] = name
|
||||
_G.DetailsOptionsWindow.instance.auto_switch_to = selected
|
||||
else
|
||||
_G.DetailsOptionsWindow.instance.auto_switch_to = selected
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
local buildSwitchMenu = function()
|
||||
|
||||
window.lastSwitchList = {}
|
||||
local t = {{value = 0, label = "NONE", onclick = onSelectAutoSwitch, icon = [[Interface\Glues\LOGIN\Glues-CheckBox-Check]]}}
|
||||
|
||||
local attributes = _detalhes.sub_atributos
|
||||
local i = 1
|
||||
|
||||
for atributo, sub_atributo in ipairs (attributes) do
|
||||
local icones = sub_atributo.icones
|
||||
for index, att_name in ipairs (sub_atributo.lista) do
|
||||
local texture, texcoord = unpack (icones [index])
|
||||
tinsert (t, {value = i, label = att_name, onclick = onSelectAutoSwitch, icon = texture, texcoord = texcoord})
|
||||
window.lastSwitchList [i] = {atributo, index, i}
|
||||
i = i + 1
|
||||
end
|
||||
end
|
||||
|
||||
for index, ptable in ipairs (_detalhes.RaidTables.Menu) do
|
||||
tinsert (t, {value = i, label = ptable [1], onclick = onSelectAutoSwitch, icon = ptable [2]})
|
||||
window.lastSwitchList [i] = {"raid", index, i}
|
||||
i = i + 1
|
||||
end
|
||||
|
||||
return t
|
||||
end
|
||||
|
||||
local d = g:NewDropDown (frame2, _, "$parentAutoSwitchDropdown", "autoSwitchDropdown", 160, 20, buildSwitchMenu, 1) -- func, default
|
||||
d.onenter_backdrop = dropdown_backdrop_onenter
|
||||
d.onleave_backdrop = dropdown_backdrop_onleave
|
||||
d:SetBackdrop (dropdown_backdrop)
|
||||
d:SetBackdropColor (unpack (dropdown_backdrop_onleave))
|
||||
|
||||
frame2.autoSwitchDropdown:SetPoint ("left", frame2.autoSwitchLabel, "right", 2, 0)
|
||||
|
||||
frame2.autoSwitchDropdown.info = Loc ["STRING_OPTIONS_AUTO_SWITCH_DESC"]
|
||||
|
||||
window:create_line_background (frame2, frame2.autoSwitchLabel, frame2.autoSwitchDropdown)
|
||||
frame2.autoSwitchDropdown:SetHook ("OnEnter", background_on_enter)
|
||||
frame2.autoSwitchDropdown:SetHook ("OnLeave", background_on_leave)
|
||||
|
||||
--> auto current segment
|
||||
g:NewSwitch (frame2, _, "$parentAutoCurrentSlider", "autoCurrentSlider", 60, 20, _, _, instance.auto_current)
|
||||
|
||||
-- Auto Current Segment
|
||||
--> anchors
|
||||
|
||||
g:NewLabel (frame2, _, "$parentAutoCurrentLabel", "autoCurrentLabel", Loc ["STRING_OPTIONS_INSTANCE_CURRENT"], "GameFontHighlightLeft")
|
||||
|
||||
frame2.autoCurrentSlider:SetPoint ("left", frame2.autoCurrentLabel, "right", 2)
|
||||
frame2.autoCurrentSlider.OnSwitch = function (self, instance, value)
|
||||
instance.auto_current = value
|
||||
end
|
||||
|
||||
frame2.autoCurrentSlider.info = Loc ["STRING_OPTIONS_INSTANCE_CURRENT_DESC"]
|
||||
window:create_line_background (frame2, frame2.autoCurrentLabel, frame2.autoCurrentSlider)
|
||||
frame2.autoCurrentSlider:SetHook ("OnEnter", background_on_enter)
|
||||
frame2.autoCurrentSlider:SetHook ("OnLeave", background_on_leave)
|
||||
|
||||
frame2.fragsPvpLabel:SetPoint (10, -75)
|
||||
frame2.timetypeLabel:SetPoint (10, -100)
|
||||
|
||||
frame2.autoSwitchLabel:SetPoint (10, -135)
|
||||
frame2.autoCurrentLabel:SetPoint (10, -160) --auto current
|
||||
|
||||
end
|
||||
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
@@ -2334,7 +2528,8 @@ function window:CreateFrame3()
|
||||
local buildSkinMenu = function()
|
||||
local skinOptions = {}
|
||||
for skin_name, skin_table in pairs (_detalhes.skins) do
|
||||
skinOptions [#skinOptions+1] = {value = skin_name, label = skin_name, onclick = onSelectSkin, icon = "Interface\\GossipFrame\\TabardGossipIcon", desc = skin_table.desc}
|
||||
local desc = "Author: |cFFFFFFFF" .. skin_table.author .. "|r\nVersion: |cFFFFFFFF" .. skin_table.version .. "|r\nSite: |cFFFFFFFF" .. skin_table.site .. "|r\nDesc: |cFFFFFFFF" .. skin_table.desc .. "|r"
|
||||
skinOptions [#skinOptions+1] = {value = skin_name, label = skin_name, onclick = onSelectSkin, icon = "Interface\\GossipFrame\\TabardGossipIcon", desc = desc}
|
||||
end
|
||||
return skinOptions
|
||||
end
|
||||
@@ -3015,6 +3210,35 @@ function window:CreateFrame5()
|
||||
frame5.textRightOutlineSlider:SetHook ("OnEnter", background_on_enter)
|
||||
frame5.textRightOutlineSlider:SetHook ("OnLeave", background_on_leave)
|
||||
|
||||
--> percent type
|
||||
local onSelectPercent = function (_, instance, percentType)
|
||||
instance:SetBarTextSettings (nil, nil, nil, nil, nil, nil, nil, nil, nil, percentType)
|
||||
end
|
||||
|
||||
local buildPercentMenu = function()
|
||||
local percentTable = {
|
||||
{value = 1, label = "Relative to Total", onclick = onSelectPercent, icon = [[Interface\GROUPFRAME\UI-GROUP-MAINTANKICON]]},
|
||||
{value = 2, label = "Relative to Top Player", onclick = onSelectPercent, icon = [[Interface\GROUPFRAME\UI-Group-LeaderIcon]]}
|
||||
}
|
||||
return percentTable
|
||||
end
|
||||
|
||||
local d = g:NewDropDown (frame5, _, "$parentPercentDropdown", "percentDropdown", DROPDOWN_WIDTH, 20, buildPercentMenu, nil)
|
||||
d.onenter_backdrop = dropdown_backdrop_onenter
|
||||
d.onleave_backdrop = dropdown_backdrop_onleave
|
||||
d:SetBackdrop (dropdown_backdrop)
|
||||
d:SetBackdropColor (unpack (dropdown_backdrop_onleave))
|
||||
|
||||
g:NewLabel (frame5, _, "$parentPercentLabel", "percentLabel", Loc ["STRING_OPTIONS_PERCENT_TYPE"], "GameFontHighlightLeft")
|
||||
frame5.percentDropdown:SetPoint ("left", frame5.percentLabel, "right", 2)
|
||||
|
||||
frame5.percentDropdown.info = Loc ["STRING_OPTIONS_PERCENT_TYPE_DESC"]
|
||||
window:create_line_background (frame5, frame5.percentLabel, frame5.percentDropdown)
|
||||
frame5.percentDropdown:SetHook ("OnEnter", background_on_enter)
|
||||
frame5.percentDropdown:SetHook ("OnLeave", background_on_leave)
|
||||
|
||||
|
||||
|
||||
--> right text customization
|
||||
|
||||
g:NewLabel (frame5, _, "$parentCutomRightTextLabel", "cutomRightTextLabel", Loc ["STRING_OPTIONS_BARRIGHTTEXTCUSTOM"], "GameFontHighlightLeft")
|
||||
@@ -3033,7 +3257,7 @@ function window:CreateFrame5()
|
||||
--text entry
|
||||
g:NewLabel (frame5, _, "$parentCutomRightText2Label", "cutomRightTextEntryLabel", Loc ["STRING_OPTIONS_BARRIGHTTEXTCUSTOM2"], "GameFontHighlightLeft")
|
||||
g:NewTextEntry (frame5, _, "$parentCutomRightTextEntry", "cutomRightTextEntry", 180, 20)
|
||||
frame5.cutomRightTextEntry:SetPoint ("left", frame5.cutomRightTextEntryLabel, "right", 2, 0)
|
||||
frame5.cutomRightTextEntry:SetPoint ("left", frame5.cutomRightTextEntryLabel, "right", 2, -1)
|
||||
|
||||
--frame5.cutomRightTextEntry.tooltip = "type the customized text"
|
||||
frame5.cutomRightTextEntry:SetHook ("OnTextChanged", function()
|
||||
@@ -3077,74 +3301,6 @@ function window:CreateFrame5()
|
||||
frame5.customRightTextButton:GetNormalTexture():SetDesaturated (true)
|
||||
frame5.customRightTextButton.tooltip = "Reset to Default"
|
||||
|
||||
--> show total bar
|
||||
|
||||
g:NewLabel (frame5, _, "$parentTotalBarLabel", "totalBarLabel", Loc ["STRING_OPTIONS_SHOW_TOTALBAR"], "GameFontHighlightLeft")
|
||||
g:NewSwitch (frame5, _, "$parentTotalBarSlider", "totalBarSlider", 60, 20, _, _, instance.total_bar.enabled)
|
||||
|
||||
frame5.totalBarSlider:SetPoint ("left", frame5.totalBarLabel, "right", 2)
|
||||
frame5.totalBarSlider.OnSwitch = function (self, instance, value)
|
||||
instance.total_bar.enabled = value
|
||||
instance:InstanceReset()
|
||||
end
|
||||
|
||||
frame5.totalBarSlider.info = Loc ["STRING_OPTIONS_SHOW_TOTALBAR_DESC"]
|
||||
window:create_line_background (frame5, frame5.totalBarLabel, frame5.totalBarSlider)
|
||||
frame5.totalBarSlider:SetHook ("OnEnter", background_on_enter)
|
||||
frame5.totalBarSlider:SetHook ("OnLeave", background_on_leave)
|
||||
|
||||
--> total bar color
|
||||
local totalbarcolor_callback = function (button, r, g, b, a)
|
||||
_G.DetailsOptionsWindow.instance.total_bar.color[1] = r
|
||||
_G.DetailsOptionsWindow.instance.total_bar.color[2] = g
|
||||
_G.DetailsOptionsWindow.instance.total_bar.color[3] = b
|
||||
_G.DetailsOptionsWindow.instance:InstanceReset()
|
||||
end
|
||||
g:NewColorPickButton (frame5, "$parentTotalBarColorPick", "totalBarColorPick", totalbarcolor_callback)
|
||||
g:NewLabel (frame5, _, "$parentTotalBarColorPickLabel", "totalBarPickColorLabel", Loc ["STRING_OPTIONS_COLOR"], "GameFontHighlightLeft")
|
||||
frame5.totalBarColorPick:SetPoint ("left", frame5.totalBarPickColorLabel, "right", 2, 0)
|
||||
|
||||
frame5.totalBarColorPick.info = Loc ["STRING_OPTIONS_SHOW_TOTALBAR_COLOR_DESC"]
|
||||
window:create_line_background (frame5, frame5.totalBarPickColorLabel, frame5.totalBarColorPick)
|
||||
frame5.totalBarColorPick:SetHook ("OnEnter", background_on_enter)
|
||||
frame5.totalBarColorPick:SetHook ("OnLeave", background_on_leave)
|
||||
|
||||
--> total bar only in group
|
||||
g:NewLabel (frame5, _, "$parentTotalBarOnlyInGroupLabel", "totalBarOnlyInGroupLabel", Loc ["STRING_OPTIONS_SHOW_TOTALBAR_INGROUP"], "GameFontHighlightLeft")
|
||||
g:NewSwitch (frame5, _, "$parentTotalBarOnlyInGroupSlider", "totalBarOnlyInGroupSlider", 60, 20, _, _, instance.total_bar.only_in_group)
|
||||
|
||||
frame5.totalBarOnlyInGroupSlider:SetPoint ("left", frame5.totalBarOnlyInGroupLabel, "right", 2)
|
||||
frame5.totalBarOnlyInGroupSlider.OnSwitch = function (self, instance, value)
|
||||
instance.total_bar.only_in_group = value
|
||||
instance:InstanceReset()
|
||||
end
|
||||
|
||||
frame5.totalBarOnlyInGroupSlider.info = Loc ["STRING_OPTIONS_SHOW_TOTALBAR_INGROUP_DESC"]
|
||||
window:create_line_background (frame5, frame5.totalBarOnlyInGroupLabel, frame5.totalBarOnlyInGroupSlider)
|
||||
frame5.totalBarOnlyInGroupSlider:SetHook ("OnEnter", background_on_enter)
|
||||
frame5.totalBarOnlyInGroupSlider:SetHook ("OnLeave", background_on_leave)
|
||||
|
||||
--> total bar icon
|
||||
local totalbar_pickicon_callback = function (texture)
|
||||
instance.total_bar.icon = texture
|
||||
frame5.totalBarIconTexture:SetTexture (texture)
|
||||
instance:InstanceReset()
|
||||
end
|
||||
local totalbar_pickicon = function()
|
||||
g:IconPick (totalbar_pickicon_callback)
|
||||
end
|
||||
g:NewLabel (frame5, _, "$parentTotalBarIconLabel", "totalBarIconLabel", Loc ["STRING_OPTIONS_SHOW_TOTALBAR_ICON"], "GameFontHighlightLeft")
|
||||
g:NewImage (frame5, nil, 20, 20, nil, nil, "totalBarIconTexture", "$parentTotalBarIconTexture")
|
||||
g:NewButton (frame5, _, "$parentTotalBarIconButton", "totalBarIconButton", 20, 20, totalbar_pickicon)
|
||||
frame5.totalBarIconButton:InstallCustomTexture()
|
||||
frame5.totalBarIconButton:SetPoint ("left", frame5.totalBarIconLabel, "right", 2, 0)
|
||||
frame5.totalBarIconTexture:SetPoint ("left", frame5.totalBarIconLabel, "right", 2, 0)
|
||||
|
||||
frame5.totalBarIconButton.info = Loc ["STRING_OPTIONS_SHOW_TOTALBAR_ICON_DESC"]
|
||||
window:create_line_background (frame5, frame5.totalBarIconLabel, frame5.totalBarIconButton)
|
||||
frame5.totalBarIconButton:SetHook ("OnEnter", background_on_enter)
|
||||
frame5.totalBarIconButton:SetHook ("OnLeave", background_on_leave)
|
||||
|
||||
--> anchors
|
||||
titulo_texts:SetPoint (10, -10)
|
||||
titulo_texts_desc:SetPoint (10, -30)
|
||||
@@ -3156,18 +3312,14 @@ function window:CreateFrame5()
|
||||
frame5.classColorsLeftTextLabel:SetPoint (10, -170) --left color by class
|
||||
frame5.classColorsRightTextLabel:SetPoint (10, -195) --right color by class
|
||||
frame5.fixedTextColorLabel:SetPoint (10, -220)
|
||||
frame5.percentLabel:SetPoint (10, -245)
|
||||
|
||||
g:NewLabel (frame5, _, "$parentCustomRightTextAnchor", "customRightTextAnchorLabel", "Custom Right Text", "GameFontNormal")
|
||||
frame5.customRightTextAnchorLabel:SetPoint (10, -255)
|
||||
frame5.cutomRightTextLabel:SetPoint (10, -280)
|
||||
frame5.cutomRightTextEntryLabel:SetPoint (10, -305)
|
||||
frame5.customRightTextAnchorLabel:SetPoint (10, -280)
|
||||
frame5.cutomRightTextLabel:SetPoint (10, -305)
|
||||
frame5.cutomRightTextEntryLabel:SetPoint (10, -330)
|
||||
|
||||
g:NewLabel (frame5, _, "$parentTotalBarAnchor", "totalBarAnchorLabel", "Total Bar", "GameFontNormal")
|
||||
frame5.totalBarAnchorLabel:SetPoint (10, -340)
|
||||
frame5.totalBarIconLabel:SetPoint (10, -365)
|
||||
frame5.totalBarPickColorLabel:SetPoint (10, -390)
|
||||
frame5.totalBarLabel:SetPoint (10, -415)
|
||||
frame5.totalBarOnlyInGroupLabel:SetPoint (10, -440)
|
||||
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
@@ -3412,6 +3564,9 @@ function window:CreateFrame6()
|
||||
frame6.statusbarColorPick:SetPoint ("left", frame6.statusbarColorLabel, "right", 2, 0)
|
||||
window:CreateLineBackground (frame6, "statusbarColorPick", "statusbarColorLabel", Loc ["STRING_OPTIONS_INSTANCE_STATUSBARCOLOR_DESC"])
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
--anchors
|
||||
titulo_instance:SetPoint (10, -10)
|
||||
@@ -3432,6 +3587,7 @@ function window:CreateFrame6()
|
||||
frame6.statusbarLabel:SetPoint (10, -305) --statusbar
|
||||
frame6.statusbarColorLabel:SetPoint (10, -330)
|
||||
|
||||
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
@@ -3451,7 +3607,7 @@ function window:CreateFrame7()
|
||||
s:SetBackdrop (slider_backdrop)
|
||||
s:SetBackdropColor (unpack (slider_backdrop_color))
|
||||
s:SetThumbSize (50)
|
||||
local s = g:NewSlider (frame7, _, "$parentMenuAnchorYSlider", "menuAnchorYSlider", SLIDER_WIDTH, 20, -10, 10, 1, instance.menu_anchor[2])
|
||||
local s = g:NewSlider (frame7, _, "$parentMenuAnchorYSlider", "menuAnchorYSlider", SLIDER_WIDTH, 20, -30, 30, 1, instance.menu_anchor[2])
|
||||
s:SetBackdrop (slider_backdrop)
|
||||
s:SetBackdropColor (unpack (slider_backdrop_color))
|
||||
s:SetThumbSize (50)
|
||||
@@ -3560,8 +3716,7 @@ function window:CreateFrame7()
|
||||
frame7.pluginIconsDirectionSlider:SetPoint ("left", frame7.pluginIconsDirectionLabel, "right", 2)
|
||||
frame7.pluginIconsDirectionSlider.OnSwitch = function (self, instance, value)
|
||||
instance.plugins_grow_direction = value
|
||||
--instance:DefaultIcons()
|
||||
_detalhes.ToolBar:ReorganizeIcons (nil, true)
|
||||
instance:ToolbarMenuButtons()
|
||||
end
|
||||
frame7.pluginIconsDirectionSlider.thumb:SetSize (40, 12)
|
||||
|
||||
@@ -3570,6 +3725,91 @@ function window:CreateFrame7()
|
||||
frame7.pluginIconsDirectionSlider:SetHook ("OnEnter", background_on_enter)
|
||||
frame7.pluginIconsDirectionSlider:SetHook ("OnLeave", background_on_leave)
|
||||
|
||||
--> show or hide buttons
|
||||
local label_icons = g:NewLabel (frame7, _, "$parentShowButtonsLabel", "showButtonsLabel", Loc ["STRING_OPTIONS_MENU_SHOWBUTTONS"], "GameFontHighlightLeft")
|
||||
local icon1 = g:NewImage (frame7, [[Interface\GossipFrame\HealerGossipIcon]], 20, 20, "border", nil, "icon1", nil)
|
||||
local icon2 = g:NewImage (frame7, [[Interface\GossipFrame\TrainerGossipIcon]], 20, 20, "border", nil, "icon2", nil)
|
||||
local icon3 = g:NewImage (frame7, [[Interface\AddOns\Details\images\sword]], 20, 20, "border", nil, "icon3", nil)
|
||||
local icon4 = g:NewImage (frame7, [[Interface\COMMON\VOICECHAT-ON]], 20, 20, "border", nil, "icon4", nil)
|
||||
|
||||
local X1 = g:NewImage (frame7, [[Interface\Glues\LOGIN\Glues-CheckBox-Check]], 16, 16, nil, nil, "x1", nil)
|
||||
local X2 = g:NewImage (frame7, [[Interface\Glues\LOGIN\Glues-CheckBox-Check]], 16, 16, nil, nil, "x2", nil)
|
||||
local X3 = g:NewImage (frame7, [[Interface\Glues\LOGIN\Glues-CheckBox-Check]], 16, 16, nil, nil, "x3", nil)
|
||||
local X4 = g:NewImage (frame7, [[Interface\Glues\LOGIN\Glues-CheckBox-Check]], 16, 16, nil, nil, "x4", nil)
|
||||
X1:SetVertexColor (1, 1, 1, .9)
|
||||
X2:SetVertexColor (1, 1, 1, .9)
|
||||
X3:SetVertexColor (1, 1, 1, .9)
|
||||
X4:SetVertexColor (1, 1, 1, .9)
|
||||
local x_container = {X1, X2, X3, X4}
|
||||
|
||||
local func = function (menu_button, arg1, arg2)
|
||||
local instance = _G.DetailsOptionsWindow.instance
|
||||
instance.menu_icons [menu_button] = not instance.menu_icons [menu_button]
|
||||
instance:ToolbarMenuButtons()
|
||||
|
||||
if (instance.menu_icons [menu_button]) then
|
||||
x_container [menu_button]:Hide()
|
||||
else
|
||||
x_container [menu_button]:Show()
|
||||
end
|
||||
end
|
||||
|
||||
local button1 = g:NewButton (frame7, _, "$parentShowButtons1", "showButtons1Button", 21, 21, func, 1)
|
||||
button1:InstallCustomTexture()
|
||||
local button2 = g:NewButton (frame7, _, "$parentShowButtons2", "showButtons2Button", 21, 21, func, 2)
|
||||
button2:InstallCustomTexture()
|
||||
local button3 = g:NewButton (frame7, _, "$parentShowButtons3", "showButtons3Button", 21, 21, func, 3)
|
||||
button3:InstallCustomTexture()
|
||||
local button4 = g:NewButton (frame7, _, "$parentShowButtons4", "showButtons4Button", 21, 21, func, 4)
|
||||
button4:InstallCustomTexture()
|
||||
|
||||
function frame7:update_icon_buttons (instance)
|
||||
for i = 1, 4 do
|
||||
if (instance.menu_icons [i]) then
|
||||
x_container [i]:Hide()
|
||||
else
|
||||
x_container [i]:Show()
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
button1:SetPoint ("left", label_icons, "right", 5, 0)
|
||||
icon1:SetPoint ("left", label_icons, "right", 5, 0)
|
||||
X1:SetPoint ("center", button1, "center")
|
||||
|
||||
button2:SetPoint ("left", icon1, "right", 2, 0)
|
||||
icon2:SetPoint ("left", icon1, "right", 2, 0)
|
||||
X2:SetPoint ("center", button2, "center")
|
||||
|
||||
button3:SetPoint ("left", icon2, "right", 2, 0)
|
||||
icon3:SetPoint ("left", icon2, "right", 2, 0)
|
||||
X3:SetPoint ("center", button3, "center")
|
||||
|
||||
button4:SetPoint ("left", icon3, "right", 2, 0)
|
||||
icon4:SetPoint ("left", icon3, "right", -2, 0)
|
||||
X4:SetPoint ("center", button4, "center")
|
||||
|
||||
window:CreateLineBackground (frame7, "showButtons1Button", "showButtonsLabel", Loc ["STRING_OPTIONS_MENU_SHOWBUTTONS_DESC"])
|
||||
|
||||
--icon sizes
|
||||
local s = g:NewSlider (frame7, _, "$parentMenuIconSizeSlider", "menuIconSizeSlider", SLIDER_WIDTH, 20, 0.4, 1.6, 0.05, instance.menu_icons_size, true)
|
||||
s:SetBackdrop (slider_backdrop)
|
||||
s:SetBackdropColor (unpack (slider_backdrop_color))
|
||||
s.useDecimals = true
|
||||
s.fine_tuning = 0.05
|
||||
|
||||
g:NewLabel (frame7, _, "$parentMenuIconSizeLabel", "menuIconSizeLabel", Loc ["STRING_OPTIONS_MENU_BUTTONSSIZE"], "GameFontHighlightLeft")
|
||||
|
||||
frame7.menuIconSizeSlider:SetPoint ("left", frame7.menuIconSizeLabel, "right", 2, -1)
|
||||
|
||||
frame7.menuIconSizeSlider:SetHook ("OnValueChange", function (self, instance, value)
|
||||
instance:ToolbarMenuButtonsSize (value)
|
||||
end)
|
||||
|
||||
frame7.menuIconSizeSlider.info = Loc ["STRING_OPTIONS_MENU_BUTTONSSIZE_DESC"]
|
||||
window:create_line_background (frame7, frame7.menuIconSizeLabel, frame7.menuIconSizeSlider)
|
||||
frame7.menuIconSizeSlider:SetHook ("OnEnter", background_on_enter)
|
||||
frame7.menuIconSizeSlider:SetHook ("OnLeave", background_on_leave)
|
||||
--auto hide menus
|
||||
--text anchor on options menu
|
||||
g:NewLabel (frame7, _, "$parentAutoHideLabelAnchor", "autoHideLabel", Loc ["STRING_OPTIONS_MENU_AUTOHIDE_ANCHOR"], "GameFontNormal")
|
||||
@@ -3602,10 +3842,12 @@ function window:CreateFrame7()
|
||||
frame7.desaturateMenuLabel:SetPoint (10, -145)
|
||||
frame7.hideIconLabel:SetPoint (10, -170)
|
||||
frame7.pluginIconsDirectionLabel:SetPoint (10, -195)
|
||||
label_icons:SetPoint (10, -220)
|
||||
frame7.menuIconSizeLabel:SetPoint (10, -245)
|
||||
|
||||
frame7.autoHideLabel:SetPoint (10, -230)
|
||||
frame7.autoHideLeftMenuLabel:SetPoint (10, -255)
|
||||
frame7.autoHideRightMenuLabel:SetPoint (10, -280)
|
||||
frame7.autoHideLabel:SetPoint (10, -280)
|
||||
frame7.autoHideLeftMenuLabel:SetPoint (10, -305)
|
||||
frame7.autoHideRightMenuLabel:SetPoint (10, -330)
|
||||
|
||||
|
||||
|
||||
@@ -4849,7 +5091,7 @@ end
|
||||
|
||||
window ["CreateFrame" .. panel_index]()
|
||||
|
||||
if (panel_index == 17) then
|
||||
if (panel_index == 18) then
|
||||
_detalhes:CancelTimer (window.create_thread)
|
||||
window:create_left_menu()
|
||||
|
||||
@@ -4872,7 +5114,7 @@ end
|
||||
|
||||
else
|
||||
|
||||
for i = 1, 17 do
|
||||
for i = 1, 18 do
|
||||
window ["CreateFrame" .. i]()
|
||||
end
|
||||
window:create_left_menu()
|
||||
@@ -4919,22 +5161,15 @@ function window:update_all (editing_instance)
|
||||
_G.DetailsOptionsWindow2FragsPvpSlider.MyObject:SetValue (_detalhes.only_pvp_frags)
|
||||
_G.DetailsOptionsWindow2TTDropdown.MyObject:Select (_detalhes.time_type)
|
||||
|
||||
_G.DetailsOptionsWindow2AutoCurrentSlider.MyObject:SetFixedParameter (editing_instance)
|
||||
_G.DetailsOptionsWindow2AutoCurrentSlider.MyObject:SetValue (editing_instance.auto_current)
|
||||
|
||||
--> window 4
|
||||
_G.DetailsOptionsWindow4BarStartSlider.MyObject:SetFixedParameter (editing_instance)
|
||||
_G.DetailsOptionsWindow4BarStartSlider.MyObject:SetValue (editing_instance.row_info.start_after_icon)
|
||||
|
||||
--> window 5
|
||||
_G.DetailsOptionsWindow5TotalBarSlider.MyObject:SetFixedParameter (editing_instance)
|
||||
_G.DetailsOptionsWindow5TotalBarSlider.MyObject:SetValue (editing_instance.total_bar.enabled)
|
||||
|
||||
_G.DetailsOptionsWindow5TotalBarColorPick.MyObject:SetColor (unpack (editing_instance.total_bar.color))
|
||||
|
||||
_G.DetailsOptionsWindow5TotalBarOnlyInGroupSlider.MyObject:SetFixedParameter (editing_instance)
|
||||
_G.DetailsOptionsWindow5TotalBarOnlyInGroupSlider.MyObject:SetValue (editing_instance.total_bar.only_in_group)
|
||||
_G.DetailsOptionsWindow5TotalBarIconTexture.MyObject:SetTexture (editing_instance.total_bar.icon)
|
||||
_G.DetailsOptionsWindow5PercentDropdown.MyObject:SetFixedParameter (editing_instance)
|
||||
_G.DetailsOptionsWindow5PercentDropdown.MyObject:Select (editing_instance.row_info.percent_type)
|
||||
|
||||
_G.DetailsOptionsWindow5CutomRightTextSlider.MyObject:SetFixedParameter (editing_instance)
|
||||
_G.DetailsOptionsWindow5CutomRightTextSlider.MyObject:SetValue (editing_instance.row_info.textR_enable_custom_text)
|
||||
@@ -4952,7 +5187,7 @@ function window:update_all (editing_instance)
|
||||
|
||||
_G.DetailsOptionsWindow6InstanceMicroDisplaysSideSlider.MyObject:SetFixedParameter (editing_instance)
|
||||
_G.DetailsOptionsWindow6InstanceMicroDisplaysSideSlider.MyObject:SetValue (editing_instance.micro_displays_side)
|
||||
|
||||
|
||||
--> window 7
|
||||
_G.DetailsOptionsWindow7AutoHideRightMenuSwitch.MyObject:SetFixedParameter (editing_instance)
|
||||
_G.DetailsOptionsWindow7AutoHideRightMenuSwitch.MyObject:SetValue (editing_instance.auto_hide_menu.right)
|
||||
@@ -4963,6 +5198,8 @@ function window:update_all (editing_instance)
|
||||
_G.DetailsOptionsWindow7MenuAnchorSideSlider.MyObject:SetFixedParameter (editing_instance)
|
||||
_G.DetailsOptionsWindow7MenuAnchorSideSlider.MyObject:SetValue (editing_instance.menu_anchor.side)
|
||||
|
||||
_G.DetailsOptionsWindow7:update_icon_buttons (editing_instance)
|
||||
|
||||
--> window 8
|
||||
_G.DetailsOptionsWindow8InstanceButtonAnchorXSlider.MyObject:SetFixedParameter (editing_instance)
|
||||
_G.DetailsOptionsWindow8InstanceButtonAnchorXSlider.MyObject:SetValue (editing_instance.instance_button_anchor[1])
|
||||
@@ -5023,6 +5260,31 @@ function window:update_all (editing_instance)
|
||||
_G.DetailsOptionsWindow17MenuOnEnterLeaveAlphaSwitch.MyObject:SetValue (editing_instance.menu_alpha.enabled)
|
||||
_G.DetailsOptionsWindow17MenuOnEnterLeaveAlphaIconsTooSwitch.MyObject:SetValue (editing_instance.menu_alpha.ignorebars)
|
||||
|
||||
--> window 18
|
||||
--auto switch
|
||||
local autoswitch = instance.auto_switch_to
|
||||
if (autoswitch) then
|
||||
if (autoswitch [1] == "raid") then
|
||||
_G.DetailsOptionsWindow18AutoSwitchDropdown.MyObject:Select (autoswitch[2])
|
||||
else
|
||||
_G.DetailsOptionsWindow18AutoSwitchDropdown.MyObject:Select (autoswitch[3]+1, true)
|
||||
end
|
||||
else
|
||||
_G.DetailsOptionsWindow18AutoSwitchDropdown.MyObject:Select (1, true)
|
||||
end
|
||||
|
||||
_G.DetailsOptionsWindow18AutoCurrentSlider.MyObject:SetFixedParameter (editing_instance)
|
||||
_G.DetailsOptionsWindow18AutoCurrentSlider.MyObject:SetValue (editing_instance.auto_current)
|
||||
|
||||
_G.DetailsOptionsWindow18TotalBarSlider.MyObject:SetFixedParameter (editing_instance)
|
||||
_G.DetailsOptionsWindow18TotalBarSlider.MyObject:SetValue (editing_instance.total_bar.enabled)
|
||||
|
||||
_G.DetailsOptionsWindow18TotalBarColorPick.MyObject:SetColor (unpack (editing_instance.total_bar.color))
|
||||
|
||||
_G.DetailsOptionsWindow18TotalBarOnlyInGroupSlider.MyObject:SetFixedParameter (editing_instance)
|
||||
_G.DetailsOptionsWindow18TotalBarOnlyInGroupSlider.MyObject:SetValue (editing_instance.total_bar.only_in_group)
|
||||
_G.DetailsOptionsWindow18TotalBarIconTexture.MyObject:SetTexture (editing_instance.total_bar.icon)
|
||||
|
||||
----------
|
||||
_G.DetailsOptionsWindow8ResetTextColorPick.MyObject:SetColor (unpack (editing_instance.resetbutton_info.text_color))
|
||||
_G.DetailsOptionsWindow8ResetTextSizeSlider.MyObject:SetValue (editing_instance.resetbutton_info.text_size)
|
||||
@@ -5072,20 +5334,13 @@ function window:update_all (editing_instance)
|
||||
|
||||
_G.DetailsOptionsWindow7MenuAnchorYSlider.MyObject:SetFixedParameter (editing_instance)
|
||||
_G.DetailsOptionsWindow7MenuAnchorYSlider.MyObject:SetValue (editing_instance.menu_anchor[2])
|
||||
|
||||
_G.DetailsOptionsWindow7MenuIconSizeSlider.MyObject:SetFixedParameter (editing_instance)
|
||||
_G.DetailsOptionsWindow7MenuIconSizeSlider.MyObject:SetValue (editing_instance.menu_icons_size)
|
||||
|
||||
----------------------------------------------------------------
|
||||
|
||||
--auto switch
|
||||
local autoswitch = instance.auto_switch_to
|
||||
if (autoswitch) then
|
||||
if (autoswitch [1] == "raid") then
|
||||
_G.DetailsOptionsWindow2AutoSwitchDropdown.MyObject:Select (autoswitch[2])
|
||||
else
|
||||
_G.DetailsOptionsWindow2AutoSwitchDropdown.MyObject:Select (autoswitch[3]+1, true)
|
||||
end
|
||||
else
|
||||
_G.DetailsOptionsWindow2AutoSwitchDropdown.MyObject:Select (1, true)
|
||||
end
|
||||
|
||||
|
||||
--resetTextColor
|
||||
_G.DetailsOptionsWindow8ResetTextFontDropdown.MyObject:SetFixedParameter (editing_instance)
|
||||
|
||||
+150
-125
@@ -1521,7 +1521,7 @@ 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.baseframe.button_stretch:SetFrameStrata ("FULLSCREEN")
|
||||
_detalhes:SendEvent ("DETAILS_INSTANCE_ENDSTRETCH", nil, esta_instancia.baseframe)
|
||||
end
|
||||
instancia.stretchToo = nil
|
||||
@@ -1539,7 +1539,7 @@ local function button_stretch_scripts (baseframe, backgrounddisplay, instancia)
|
||||
|
||||
baseframe:SetFrameStrata (baseframe_strata)
|
||||
instancia.rowframe:SetFrameStrata (baseframe_strata)
|
||||
baseframe.button_stretch:SetFrameStrata ("FULLSCREEN")
|
||||
--baseframe.button_stretch:SetFrameStrata ("FULLSCREEN")
|
||||
|
||||
_detalhes:SnapTextures (false)
|
||||
|
||||
@@ -2101,7 +2101,7 @@ function gump:CriaJanelaPrincipal (ID, instancia, criando)
|
||||
baseframe.button_stretch = CreateFrame ("button", nil, baseframe)
|
||||
baseframe.button_stretch:SetPoint ("bottom", baseframe, "top", 0, 20)
|
||||
baseframe.button_stretch:SetPoint ("right", baseframe, "right", -27, 0)
|
||||
baseframe.button_stretch:SetFrameStrata ("FULLSCREEN")
|
||||
--baseframe.button_stretch:SetFrameStrata ("FULLSCREEN")
|
||||
|
||||
local stretch_texture = baseframe.button_stretch:CreateTexture (nil, "overlay")
|
||||
stretch_texture:SetTexture (DEFAULT_SKIN)
|
||||
@@ -2560,7 +2560,7 @@ function gump:CriaNovaBarra (instancia, index)
|
||||
return esta_barra
|
||||
end
|
||||
|
||||
function _detalhes:SetBarTextSettings (size, font, fixedcolor, leftcolorbyclass, rightcolorbyclass, leftoutline, rightoutline, customrighttextenabled, customrighttext)
|
||||
function _detalhes:SetBarTextSettings (size, font, fixedcolor, leftcolorbyclass, rightcolorbyclass, leftoutline, rightoutline, customrighttextenabled, customrighttext, percentage_type)
|
||||
|
||||
--> size
|
||||
if (size) then
|
||||
@@ -2600,7 +2600,7 @@ function _detalhes:SetBarTextSettings (size, font, fixedcolor, leftcolorbyclass,
|
||||
self.row_info.textR_outline = rightoutline
|
||||
end
|
||||
|
||||
--custom right text
|
||||
--> custom right text
|
||||
if (type (customrighttextenabled) == "boolean") then
|
||||
self.row_info.textR_enable_custom_text = customrighttextenabled
|
||||
end
|
||||
@@ -2608,6 +2608,11 @@ function _detalhes:SetBarTextSettings (size, font, fixedcolor, leftcolorbyclass,
|
||||
self.row_info.textR_custom_text = customrighttext
|
||||
end
|
||||
|
||||
--> percent type
|
||||
if (percentage_type) then
|
||||
self.row_info.percent_type = percentage_type
|
||||
end
|
||||
|
||||
self:InstanceReset()
|
||||
self:InstanceRefreshRows()
|
||||
end
|
||||
@@ -3472,7 +3477,7 @@ function _detalhes:ConsolidateIcons()
|
||||
|
||||
self.consolidateButton:Show()
|
||||
|
||||
self:DefaultIcons()
|
||||
self:ToolbarMenuButtons()
|
||||
|
||||
return self:MenuAnchor()
|
||||
end
|
||||
@@ -3482,109 +3487,127 @@ function _detalhes:UnConsolidateIcons()
|
||||
self.consolidate = false
|
||||
|
||||
if (not self.consolidateButton) then
|
||||
return self:DefaultIcons()
|
||||
return self:ToolbarMenuButtons()
|
||||
end
|
||||
|
||||
self.consolidateButton:Hide()
|
||||
|
||||
self:DefaultIcons()
|
||||
self:ToolbarMenuButtons()
|
||||
|
||||
return self:MenuAnchor()
|
||||
end
|
||||
|
||||
function _detalhes:GetMenuAnchorPoint()
|
||||
local toolbar_side = self.toolbar_side
|
||||
local menu_side = self.menu_anchor.side
|
||||
|
||||
if (menu_side == 1) then --left
|
||||
if (toolbar_side == 1) then --top
|
||||
return self.menu_points [1], "bottomleft", "bottomright"
|
||||
elseif (toolbar_side == 2) then --bottom
|
||||
return self.menu_points [1], "topleft", "topright"
|
||||
end
|
||||
elseif (menu_side == 2) then --right
|
||||
if (toolbar_side == 1) then --top
|
||||
return self.menu_points [2], "topleft", "bottomleft"
|
||||
elseif (toolbar_side == 2) then --bottom
|
||||
return self.menu_points [2], "topleft", "topleft"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
--> search key: ~icon
|
||||
function _detalhes:DefaultIcons (_mode, _segment, _attributes, _report)
|
||||
function _detalhes:ToolbarMenuButtonsSize (size)
|
||||
size = size or self.menu_icons_size
|
||||
self.menu_icons_size = size
|
||||
return self:ToolbarMenuButtons()
|
||||
end
|
||||
function _detalhes:ToolbarMenuButtons (_mode, _segment, _attributes, _report)
|
||||
|
||||
if (_mode == nil) then
|
||||
_mode = self.icons[1]
|
||||
_mode = self.menu_icons[1]
|
||||
end
|
||||
if (_segment == nil) then
|
||||
_segment = self.icons[2]
|
||||
_segment = self.menu_icons[2]
|
||||
end
|
||||
if (_attributes == nil) then
|
||||
_attributes = self.icons[3]
|
||||
_attributes = self.menu_icons[3]
|
||||
end
|
||||
if (_report == nil) then
|
||||
_report = self.icons[4]
|
||||
_report = self.menu_icons[4]
|
||||
end
|
||||
|
||||
if (self.consolidate and not self.consolidateButton:IsShown()) then
|
||||
self.consolidateButton:Show()
|
||||
elseif (not self.consolidate and self.consolidateButton:IsShown()) then
|
||||
self.consolidateButton:Hide()
|
||||
end
|
||||
|
||||
local baseToolbar = self.baseframe.cabecalho
|
||||
local icons = {baseToolbar.modo_selecao, baseToolbar.segmento, baseToolbar.atributo, baseToolbar.report}
|
||||
local options = {_mode, _segment, _attributes, _report}
|
||||
local anchors = {{0, 0}, {0, 0}, {0, 0}, {-6, 0}}
|
||||
self.menu_icons[1] = _mode
|
||||
self.menu_icons[2] = _segment
|
||||
self.menu_icons[3] = _attributes
|
||||
self.menu_icons[4] = _report
|
||||
|
||||
for index = 1, #icons do
|
||||
if (type (options[index]) == "boolean") then
|
||||
if (options[index]) then
|
||||
icons [index]:Show()
|
||||
self.icons[index] = true
|
||||
local buttons = {self.baseframe.cabecalho.modo_selecao, self.baseframe.cabecalho.segmento, self.baseframe.cabecalho.atributo, self.baseframe.cabecalho.report}
|
||||
|
||||
local anchor_frame, point1, point2 = self:GetMenuAnchorPoint()
|
||||
local got_anchor = false
|
||||
self.lastIcon = nil
|
||||
|
||||
local size = self.menu_icons_size
|
||||
|
||||
--> normal buttons
|
||||
for index, button in ipairs (buttons) do
|
||||
if (self.menu_icons [index]) then
|
||||
button:ClearAllPoints()
|
||||
if (got_anchor) then
|
||||
button:SetPoint ("left", self.lastIcon, "right")
|
||||
else
|
||||
icons [index]:Hide()
|
||||
self.icons[index] = false
|
||||
button:SetPoint (point1, anchor_frame, point2)
|
||||
got_anchor = button
|
||||
end
|
||||
self.lastIcon = button
|
||||
button:SetParent (self.baseframe)
|
||||
button:SetFrameLevel (self.baseframe.UPFrame:GetFrameLevel()+1)
|
||||
button:Show()
|
||||
|
||||
if (buttons[4] == button) then
|
||||
button:SetSize (8*size, 16*size)
|
||||
else
|
||||
button:SetSize (16*size, 16*size)
|
||||
end
|
||||
else
|
||||
button:Hide()
|
||||
end
|
||||
end
|
||||
|
||||
local _gotFirst = false
|
||||
for index = 1, #icons do
|
||||
local _thisIcon = icons [index]
|
||||
if (_thisIcon:IsShown()) then
|
||||
if (not _gotFirst) then
|
||||
|
||||
_thisIcon:ClearAllPoints()
|
||||
|
||||
if (self.consolidate) then
|
||||
_thisIcon:SetPoint ("topleft", self.consolidateFrame, "topleft", -3, -5)
|
||||
_thisIcon:SetParent (self.consolidateFrame)
|
||||
else
|
||||
_thisIcon:SetPoint ("bottomleft", baseToolbar.ball, "bottomright", anchors[index][1] + self.menu_anchor [1], anchors[index][2] + self.menu_anchor [2])
|
||||
_thisIcon:SetParent (self.baseframe)
|
||||
_thisIcon:SetFrameLevel (self.baseframe.UPFrame:GetFrameLevel()+1)
|
||||
|
||||
end
|
||||
|
||||
_gotFirst = true
|
||||
else
|
||||
for dex = index-1, 1, -1 do
|
||||
local _thisIcon2 = icons [dex]
|
||||
if (_thisIcon2:IsShown()) then
|
||||
|
||||
_thisIcon:ClearAllPoints()
|
||||
|
||||
if (self.consolidate) then
|
||||
_thisIcon:SetPoint ("topleft", _thisIcon2.widget or _thisIcon2, "bottomleft", anchors[index][1], anchors[index][2]-2)
|
||||
_thisIcon:SetParent (self.consolidateFrame)
|
||||
|
||||
--> plugins buttons
|
||||
if (self:IsLowerInstance()) then
|
||||
if (#_detalhes.ToolBar.Shown > 0) then
|
||||
for index, button in ipairs (_detalhes.ToolBar.Shown) do
|
||||
button:ClearAllPoints()
|
||||
if (got_anchor) then
|
||||
if (self.plugins_grow_direction == 2) then --right (default)
|
||||
if (self.lastIcon == buttons[4]) then
|
||||
button:SetPoint ("left", self.lastIcon.widget or self.lastIcon, "right", 2, 0) --, button.x, button.y
|
||||
else
|
||||
_thisIcon:SetPoint ("left", _thisIcon2.widget or _thisIcon2, "right", 0 + anchors[index][1], 0 + anchors[index][2])
|
||||
_thisIcon:SetParent (self.baseframe)
|
||||
_thisIcon:SetFrameLevel (self.baseframe.UPFrame:GetFrameLevel()+1)
|
||||
button:SetPoint ("left", self.lastIcon.widget or self.lastIcon, "right") --, button.x, button.y
|
||||
end
|
||||
elseif (self.plugins_grow_direction == 1) then --left
|
||||
if (index == 1) then
|
||||
button:SetPoint ("right", got_anchor.widget or got_anchor, "left") --, button.x, button.y
|
||||
else
|
||||
button:SetPoint ("right", self.lastIcon.widget or self.lastIcon, "left") --, button.x, button.y
|
||||
end
|
||||
break
|
||||
end
|
||||
else
|
||||
button:SetPoint (point1, anchor_frame, point2)
|
||||
got_anchor = button
|
||||
end
|
||||
self.lastIcon = button
|
||||
button:SetParent (self.baseframe)
|
||||
button:SetFrameLevel (self.baseframe.UPFrame:GetFrameLevel()+1)
|
||||
button:Show()
|
||||
|
||||
button:SetSize (16*size, 16*size)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
for index = #icons, 1, -1 do
|
||||
if (icons [index]:IsShown()) then
|
||||
self.lastIcon = icons [index]
|
||||
break
|
||||
end
|
||||
end
|
||||
|
||||
if (not self.lastIcon) then
|
||||
self.lastIcon = baseToolbar.ball
|
||||
end
|
||||
|
||||
_detalhes.ToolBar:ReorganizeIcons()
|
||||
|
||||
return true
|
||||
end
|
||||
|
||||
@@ -3930,7 +3953,7 @@ end
|
||||
|
||||
function _detalhes:RestoreUIPanelButton (button)
|
||||
--> restaura o botão
|
||||
button.Left:SetTexture ([[Interface\Buttons\UI-Panel-Button-Down]])
|
||||
button.Left:SetTexture ([[Interface\Buttons\UI-Panel-Button-Up]])
|
||||
button.Left:SetTexCoord (0, 0.0937, 0, 0.6875)
|
||||
button.Left:SetSize (12, 22)
|
||||
button.Right:Show()
|
||||
@@ -4166,17 +4189,17 @@ function _detalhes:ChangeSkin (skin_name)
|
||||
_detalhes.ResetButton.Left:SetTexture (skin_file)
|
||||
_detalhes.ResetButton.Left:SetTexCoord (unpack (this_skin.reset_button_coords))
|
||||
_detalhes.ResetButton.Left:SetSize (_detalhes.ResetButton:GetSize())
|
||||
|
||||
_detalhes.ResetButton2.Left:SetTexture (skin_file)
|
||||
_detalhes.ResetButton2.Left:SetTexCoord (unpack (this_skin.reset_button_small_coords or this_skin.reset_button_coords))
|
||||
_detalhes.ResetButton2.Left:SetSize (_detalhes.ResetButton2:GetSize())
|
||||
|
||||
|
||||
if (this_skin.reset_button_small_size) then
|
||||
_detalhes.ResetButton2:SetSize (unpack (this_skin.reset_button_small_size))
|
||||
else
|
||||
_detalhes.ResetButton2:SetSize (22, 15)
|
||||
end
|
||||
|
||||
_detalhes.ResetButton2.Left:SetTexture (skin_file)
|
||||
_detalhes.ResetButton2.Left:SetTexCoord (unpack (this_skin.reset_button_small_coords or this_skin.reset_button_coords))
|
||||
_detalhes.ResetButton2.Left:SetSize (_detalhes.ResetButton2:GetSize())
|
||||
|
||||
--> remove propriedades do botão da blizzard
|
||||
_detalhes:DisableUIPanelButton (_detalhes.ResetButton)
|
||||
_detalhes:DisableUIPanelButton (_detalhes.ResetButton2)
|
||||
@@ -4367,7 +4390,7 @@ function _detalhes:ChangeSkin (skin_name)
|
||||
self:SetCombatAlpha (nil, nil, true)
|
||||
|
||||
--> update icons
|
||||
_detalhes.ToolBar:ReorganizeIcons (nil, true) --call self:SetMenuAlpha()
|
||||
_detalhes.ToolBar:ReorganizeIcons (true) --call self:SetMenuAlpha()
|
||||
|
||||
--> refresh options panel if opened
|
||||
if (_G.DetailsOptionsWindow and _G.DetailsOptionsWindow:IsShown()) then
|
||||
@@ -4951,54 +4974,38 @@ function _detalhes:MenuAnchor (x, y)
|
||||
self.menu_anchor [1] = x
|
||||
self.menu_anchor [2] = y
|
||||
|
||||
local menu_points = self.menu_points -- = {MenuAnchorLeft, MenuAnchorRight}
|
||||
|
||||
if (self.menu_anchor.side == 1) then --> left
|
||||
if (self.consolidate) then
|
||||
self.consolidateButton:ClearAllPoints()
|
||||
--self.baseframe.cabecalho.modo_selecao:ClearAllPoints()
|
||||
|
||||
menu_points [1]:ClearAllPoints()
|
||||
if (self.toolbar_side == 1) then --> top
|
||||
--self.baseframe.cabecalho.modo_selecao:SetPoint ("bottomleft", self.baseframe.cabecalho.ball, "bottomright", x, y)
|
||||
menu_points [1]:SetPoint ("bottomleft", self.baseframe.cabecalho.ball, "bottomright", x, y)
|
||||
|
||||
if (self.toolbar_side == 1) then --> top
|
||||
self.consolidateButton:SetPoint ("bottomleft", self.baseframe.cabecalho.ball, "bottomright", x, y)
|
||||
|
||||
else --> bottom
|
||||
|
||||
self.consolidateButton:SetPoint ("topleft", self.baseframe.cabecalho.ball, "topright", x, y*-1)
|
||||
end
|
||||
|
||||
else --> not consolidated
|
||||
self.baseframe.cabecalho.modo_selecao:ClearAllPoints()
|
||||
|
||||
if (self.toolbar_side == 1) then --> top
|
||||
self.baseframe.cabecalho.modo_selecao:SetPoint ("bottomleft", self.baseframe.cabecalho.ball, "bottomright", x, y)
|
||||
|
||||
else --> bottom
|
||||
self.baseframe.cabecalho.modo_selecao:SetPoint ("topleft", self.baseframe.cabecalho.ball, "topright", x, y*-1)
|
||||
else --> bottom
|
||||
--self.baseframe.cabecalho.modo_selecao:SetPoint ("topleft", self.baseframe.cabecalho.ball, "topright", x, y*-1)
|
||||
menu_points [1]:SetPoint ("topleft", self.baseframe.cabecalho.ball, "topright", x, y*-1)
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
elseif (self.menu_anchor.side == 2) then --> right
|
||||
if (self.consolidate) then
|
||||
self.consolidateButton:ClearAllPoints()
|
||||
--self.baseframe.cabecalho.modo_selecao:ClearAllPoints()
|
||||
menu_points [2]:ClearAllPoints()
|
||||
if (self.toolbar_side == 1) then --> top
|
||||
--self.baseframe.cabecalho.modo_selecao:SetPoint ("topleft", self.baseframe.cabecalho.ball_r, "bottomleft", x, y+16)
|
||||
menu_points [2]:SetPoint ("topleft", self.baseframe.cabecalho.ball_r, "bottomleft", x, y+16)
|
||||
|
||||
if (self.toolbar_side == 1) then --> top
|
||||
self.consolidateButton:SetPoint ("bottomright", self.baseframe, "topright", x, y)
|
||||
|
||||
else --> bottom
|
||||
|
||||
self.consolidateButton:SetPoint ("topleft", self.baseframe.cabecalho.ball, "topright", x, y*-1)
|
||||
end
|
||||
|
||||
else --> not consolidated
|
||||
self.baseframe.cabecalho.modo_selecao:ClearAllPoints()
|
||||
|
||||
if (self.toolbar_side == 1) then --> top
|
||||
self.baseframe.cabecalho.modo_selecao:SetPoint ("topleft", self.baseframe.cabecalho.ball_r, "bottomleft", x, y+16)
|
||||
|
||||
else --> bottom
|
||||
self.baseframe.cabecalho.modo_selecao:SetPoint ("topleft", self.baseframe.cabecalho.ball_r, "topleft", x, y*-1)
|
||||
else --> bottom
|
||||
--self.baseframe.cabecalho.modo_selecao:SetPoint ("topleft", self.baseframe.cabecalho.ball_r, "topleft", x, y*-1)
|
||||
menu_points [2]:SetPoint ("topleft", self.baseframe.cabecalho.ball_r, "topleft", x, y*-1)
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
self:ToolbarMenuButtons()
|
||||
|
||||
end
|
||||
|
||||
function _detalhes:HideMainIcon (value)
|
||||
@@ -5335,6 +5342,14 @@ function gump:CriaCabecalho (baseframe, instancia)
|
||||
baseframe.UPFrameConnect:SetResizable (true)
|
||||
BGFrame_scripts (baseframe.UPFrameConnect, baseframe, instancia)
|
||||
|
||||
baseframe.UPFrameLeftPart = CreateFrame ("frame", "DetailsUpFrameLeftPart"..instancia.meu_id, baseframe)
|
||||
baseframe.UPFrameLeftPart:SetPoint ("bottomleft", baseframe, "topleft", 0, 0)
|
||||
baseframe.UPFrameLeftPart:SetSize (22, 20)
|
||||
baseframe.UPFrameLeftPart:EnableMouse (true)
|
||||
baseframe.UPFrameLeftPart:SetMovable (true)
|
||||
baseframe.UPFrameLeftPart:SetResizable (true)
|
||||
BGFrame_scripts (baseframe.UPFrameLeftPart, baseframe, instancia)
|
||||
|
||||
--> anchors para os micro displays no lado de cima da janela
|
||||
local StatusBarLeftAnchor = CreateFrame ("frame", nil, baseframe)
|
||||
StatusBarLeftAnchor:SetPoint ("bottomleft", baseframe, "topleft", 0, 9)
|
||||
@@ -5355,6 +5370,14 @@ function gump:CriaCabecalho (baseframe, instancia)
|
||||
StatusBarRightAnchor:SetHeight (1)
|
||||
baseframe.cabecalho.StatusBarRightAnchor = StatusBarRightAnchor
|
||||
|
||||
local MenuAnchorLeft = CreateFrame ("frame", "DetailsMenuAnchorLeft"..instancia.meu_id, baseframe)
|
||||
MenuAnchorLeft:SetSize (1, 1)
|
||||
|
||||
local MenuAnchorRight = CreateFrame ("frame", "DetailsMenuAnchorRight"..instancia.meu_id, baseframe)
|
||||
MenuAnchorRight:SetSize (1, 1)
|
||||
|
||||
instancia.menu_points = {MenuAnchorLeft, MenuAnchorRight}
|
||||
|
||||
-- botões
|
||||
-------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -5553,7 +5576,8 @@ function gump:CriaCabecalho (baseframe, instancia)
|
||||
end)
|
||||
|
||||
--> SELECIONAR O ATRIBUTO ----------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
baseframe.cabecalho.atributo = gump:NewDetailsButton (baseframe, _, instancia, instancia.TrocaTabela, instancia, -3, 16, 16, [[Interface\AddOns\Details\images\sword]])
|
||||
baseframe.cabecalho.atributo = gump:NewButton (baseframe, nil, "DetailsAttributeButton"..instancia.meu_id, nil, 16, 16, instancia.TrocaTabela, instancia, -3, [[Interface\AddOns\Details\images\sword]])
|
||||
--baseframe.cabecalho.atributo = gump:NewDetailsButton (baseframe, _, instancia, instancia.TrocaTabela, instancia, -3, 16, 16, [[Interface\AddOns\Details\images\sword]])
|
||||
baseframe.cabecalho.atributo:SetFrameLevel (baseframe.UPFrame:GetFrameLevel()+1)
|
||||
baseframe.cabecalho.atributo:SetPoint ("left", baseframe.cabecalho.segmento.widget, "right", 0, 0)
|
||||
|
||||
@@ -5609,7 +5633,8 @@ function gump:CriaCabecalho (baseframe, instancia)
|
||||
_G.GameCooltip:CoolTipInject (baseframe.cabecalho.atributo)
|
||||
|
||||
--> REPORTAR ~report ----------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
baseframe.cabecalho.report = gump:NewDetailsButton (baseframe, _, instancia, _detalhes.Reportar, instancia, nil, 16, 16, [[Interface\COMMON\VOICECHAT-ON]])
|
||||
baseframe.cabecalho.report = gump:NewButton (baseframe, nil, "DetailsReportButton"..instancia.meu_id, nil, 8, 16, _detalhes.Reportar, instancia, nil, [[Interface\Addons\Details\Images\report_button]])
|
||||
--baseframe.cabecalho.report = gump:NewDetailsButton (baseframe, _, instancia, _detalhes.Reportar, instancia, nil, 16, 16, [[Interface\COMMON\VOICECHAT-ON]])
|
||||
baseframe.cabecalho.report:SetPoint ("left", baseframe.cabecalho.atributo, "right", -6, 0)
|
||||
baseframe.cabecalho.report:SetFrameLevel (baseframe.UPFrame:GetFrameLevel()+1)
|
||||
baseframe.cabecalho.report:SetScript ("OnEnter", function (self)
|
||||
@@ -5620,7 +5645,7 @@ function gump:CriaCabecalho (baseframe, instancia)
|
||||
|
||||
GameCooltip:Reset()
|
||||
GameCooltip:AddLine (Loc ["STRING_REPORT_BUTTON_TOOLTIP"])
|
||||
GameCooltip:SetOwner (baseframe.cabecalho.report)
|
||||
GameCooltip:SetOwner (baseframe.cabecalho.report.widget)
|
||||
GameCooltip:SetWallpaper (1, [[Interface\SPELLBOOK\Spellbook-Page-1]], {.6, 0.1, 0, 0.64453125}, {1, 1, 1, 0.1}, true)
|
||||
GameCooltip:Show()
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -225,7 +225,8 @@ local function CreatePluginFrames (data)
|
||||
end
|
||||
|
||||
--> create the button to show on toolbar [1] function OnClick [2] texture [3] tooltip [4] width or 14 [5] height or 14 [6] frame name or nil
|
||||
EncounterDetails.ToolbarButton = _detalhes.ToolBar:NewPluginToolbarButton (EncounterDetails.OpenWindow, "Interface\\Scenarios\\ScenarioIcon-Boss", Loc ["STRING_PLUGIN_NAME"], Loc ["STRING_TOOLTIP"], 12, 12, "ENCOUNTERDETAILS_BUTTON") --"Interface\\COMMON\\help-i"
|
||||
--EncounterDetails.ToolbarButton = _detalhes.ToolBar:NewPluginToolbarButton (EncounterDetails.OpenWindow, "Interface\\Scenarios\\ScenarioIcon-Boss", Loc ["STRING_PLUGIN_NAME"], Loc ["STRING_TOOLTIP"], 12, 12, "ENCOUNTERDETAILS_BUTTON") --"Interface\\COMMON\\help-i"
|
||||
EncounterDetails.ToolbarButton = _detalhes.ToolBar:NewPluginToolbarButton (EncounterDetails.OpenWindow, "Interface\\AddOns\\Details_EncounterDetails\\images\\icon", Loc ["STRING_PLUGIN_NAME"], Loc ["STRING_TOOLTIP"], 16, 16, "ENCOUNTERDETAILS_BUTTON") --"Interface\\COMMON\\help-i"
|
||||
--> setpoint anchors mod if needed
|
||||
EncounterDetails.ToolbarButton.y = 0.5
|
||||
EncounterDetails.ToolbarButton.x = 0
|
||||
|
||||
@@ -1,249 +0,0 @@
|
||||
--localization
|
||||
--> english
|
||||
do
|
||||
local Loc = LibStub("AceLocale-3.0"):NewLocale ("DetailsErrorReport", "enUS", true)
|
||||
if (Loc) then
|
||||
Loc ["STRING_PLUGIN_NAME"] = "Error Report"
|
||||
Loc ["STRING_TOOLTIP"] = "Did you found a bug? Report here!"
|
||||
Loc ["STRING_REPORT"] = "Details Report"
|
||||
Loc ["STRING_PROBLEM"] = "problem"
|
||||
Loc ["STRING_SUGESTION"] = "sugestion"
|
||||
Loc ["STRING_LUAERROR_DESC"] = "send a report about occurrence of lua errors"
|
||||
Loc ["STRING_ACCURACY_DESC"] = "you found something which isn't the amount that should be\nfor instance, some healing or damage spell doesn't have the correct amount calculated."
|
||||
Loc ["STRING_NOTWORK_DESC"] = "anything which should be doing something and actually isn't"
|
||||
Loc ["STRING_OTHER_DESC"] = "any other problem or perhaps a suggesting not involving the subjects above, can be reported here"
|
||||
Loc ["STRING_LUA_ERROR"] = "Lua Error"
|
||||
Loc ["STRING_ACCURACY_ERROR"] = "Instable Accuracy"
|
||||
Loc ["STRING_NOTWORK_ERROR"] = "Isn't Working"
|
||||
Loc ["STRING_OTHER_ERROR"] = "Other"
|
||||
|
||||
Loc ["STRING_DEFAULT_TEXT_LUA"] = "You can copy and paste here the first 20 lines from the lua error window, also, is important a small description about the error, when it occurs and with what frequency it occurs."
|
||||
Loc ["STRING_DEFAULT_TEXT_ACCURACY"] = "A miss accuracy is normal and happen all the time, but when the problem happen with frequency it's important tell to us. A good way to report is analyzing when the instability occurs, if is caused by a spell or if is a untracked pet."
|
||||
Loc ["STRING_DEFAULT_TEXT_NOTWORK"] = "When you click in something and the result isn't the expected, could be a bug. If thing like this occurs more then once, report the problem to us, dont forget to mention which button is and the frequency."
|
||||
Loc ["STRING_DEFAULT_TEXT_OTHER"] = "Any other problem not mentioned in the other 3 options should be reported here."
|
||||
|
||||
Loc ["STRING_WELCOME_TEXT"] = "Details are in early alpha stages and many errors can occur,\nto try make this report process faster, we'll use this small plug in,\nat least on alpha stage."
|
||||
Loc ["STRING_SEND"] = "Send"
|
||||
Loc ["STRING_CANCELLED"] = "Cancelled."
|
||||
Loc ["STRING_EMPTY"] = "Text field is empty"
|
||||
Loc ["STRING_TOOBIG"] = "1024 Text characters limit reached"
|
||||
|
||||
Loc ["STRING_FEEDBACK_DESC"] = "Give your opinion about Details!"
|
||||
Loc ["STRING_FEEDBACK"] = "Feedback"
|
||||
Loc ["STRING_DEFAULT_TEXT_FEEDBACK"] = "Talk about your experience using details, tell us what could be improved or what new features should be implemented."
|
||||
end
|
||||
end
|
||||
|
||||
--> português
|
||||
do
|
||||
--[
|
||||
local Loc = LibStub("AceLocale-3.0"):NewLocale ("DetailsErrorReport", "ptBR")
|
||||
if (Loc) then
|
||||
Loc ["STRING_PLUGIN_NAME"] = "Relatorio de Erros"
|
||||
Loc ["STRING_TOOLTIP"] = "Encontrou um bug? reporte aqui"
|
||||
Loc ["STRING_REPORT"] = "Details Relatorio de Erros"
|
||||
Loc ["STRING_PROBLEM"] = "problema"
|
||||
Loc ["STRING_SUGESTION"] = "sugestao"
|
||||
Loc ["STRING_LUAERROR_DESC"] = "envia um relatorio sobre erros de lua que estao ocorrendo"
|
||||
Loc ["STRING_ACCURACY_DESC"] = "caso voce encontre problemas na quantidade de dano ou healing que esta mais baixo do que deveria ser"
|
||||
Loc ["STRING_NOTWORK_DESC"] = "qualquer coisa que voce clique e deveria efetuar uma funcao mas que nao esta"
|
||||
Loc ["STRING_OTHER_DESC"] = "outros problemas e por que nao, sugestoes, podem ser enviadas usando este assunto"
|
||||
Loc ["STRING_LUA_ERROR"] = "Erro de Lua"
|
||||
Loc ["STRING_ACCURACY_ERROR"] = "Precisao dos Dados"
|
||||
Loc ["STRING_NOTWORK_ERROR"] = "Algo Nao Funciona"
|
||||
Loc ["STRING_OTHER_ERROR"] = "Outro"
|
||||
Loc ["STRING_WELCOME_TEXT"] = "Detalhes esta apenas comecando a caminhar e muitos erros podem surgir, para que o erros chegem a nos mais rapidamente estaremos usando este plugin pelo menos na etapa Alfa do projeto."
|
||||
Loc ["STRING_SEND"] = "Enviar"
|
||||
Loc ["STRING_CANCELLED"] = "Cancelado."
|
||||
Loc ["STRING_EMPTY"] = "O campo do texto esta em branco."
|
||||
Loc ["STRING_TOOBIG"] = "Limite de 1024 caracteres alcancado."
|
||||
|
||||
Loc ["STRING_FEEDBACK_DESC"] = "De sua opiniao sobre o Details!"
|
||||
Loc ["STRING_FEEDBACK"] = "Feedback"
|
||||
Loc ["STRING_DEFAULT_TEXT_FEEDBACK"] = ""
|
||||
end
|
||||
--]]
|
||||
end
|
||||
|
||||
|
||||
--plugin object
|
||||
local ErrorReport = _G._detalhes:NewPluginObject ("Details_ErrorReport")
|
||||
tinsert (UISpecialFrames, "Details_ErrorReport")
|
||||
local Loc = LibStub ("AceLocale-3.0"):GetLocale ("DetailsErrorReport")
|
||||
|
||||
--plugin panel
|
||||
local BuildReportPanel = function()
|
||||
|
||||
function ErrorReport:OnDetailsEvent (event, ...)
|
||||
if (event == "PLUGIN_DISABLED") then
|
||||
ErrorReport:HideToolbarIcon (ErrorReport.ToolbarButton)
|
||||
|
||||
elseif (event == "PLUGIN_ENABLED") then
|
||||
ErrorReport:ShowToolbarIcon (ErrorReport.ToolbarButton)
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
--> catch Details! main object
|
||||
local _detalhes = _G._detalhes
|
||||
local DetailsFrameWork = _detalhes.gump
|
||||
|
||||
--> create the button to show on toolbar [1] function OnClick [2] texture [3] tooltip [4] width or 14 [5] height or 14 [6] frame name or nil
|
||||
function ErrorReport:OpenWindow()
|
||||
ErrorReport.Frame:SetPoint ("center", UIParent, "center")
|
||||
ErrorReport.Frame:Show()
|
||||
end
|
||||
ErrorReport.ToolbarButton = _detalhes.ToolBar:NewPluginToolbarButton (ErrorReport.OpenWindow, "Interface\\HELPFRAME\\HelpIcon-Bug", Loc ["STRING_PLUGIN_NAME"], Loc ["STRING_TOOLTIP"], 20, 20, "DETAILS_ERRORREPORT_BUTTON")
|
||||
--> setpoint anchors mod if needed
|
||||
ErrorReport.ToolbarButton.y = 0
|
||||
ErrorReport.ToolbarButton.x = 0
|
||||
|
||||
ErrorReport:ShowToolbarIcon (ErrorReport.ToolbarButton)
|
||||
|
||||
local mainFrame = ErrorReport.Frame
|
||||
mainFrame:SetWidth (400)
|
||||
mainFrame:SetHeight (400)
|
||||
|
||||
--> build widgets
|
||||
|
||||
--background
|
||||
DetailsFrameWork:NewPanel (mainFrame, _, "DetailsErrorReportBackground", "background", 400, 400)
|
||||
local bg = mainFrame.background
|
||||
bg:SetPoint()
|
||||
|
||||
bg.close_with_right = true
|
||||
|
||||
bg:SetHook ("OnHide", function()
|
||||
mainFrame:Hide()
|
||||
end)
|
||||
mainFrame:SetScript ("OnShow", function()
|
||||
bg:Show()
|
||||
end)
|
||||
|
||||
--title
|
||||
DetailsFrameWork:NewLabel (bg, _, _, "titlelabel", Loc ["STRING_REPORT"], "GameFontHighlightSmall", 11)
|
||||
bg.titlelabel:SetPoint (10, -10)
|
||||
|
||||
--welcome
|
||||
DetailsFrameWork:NewLabel (bg, _, _, "welcomelabel", Loc ["STRING_WELCOME_TEXT"], "GameFontHighlightSmall", 9)
|
||||
bg.welcomelabel:SetPoint (10, -25)
|
||||
|
||||
local textArray = {Loc ["STRING_DEFAULT_TEXT_FEEDBACK"], Loc ["STRING_DEFAULT_TEXT_LUA"], Loc ["STRING_DEFAULT_TEXT_ACCURACY"], Loc ["STRING_DEFAULT_TEXT_NOTWORK"], Loc ["STRING_DEFAULT_TEXT_OTHER"]}
|
||||
|
||||
--text field background
|
||||
DetailsFrameWork:NewPanel (bg, _, "DetailsErrorReportTextFieldBackground", "textfieldBackground", 390, 260)
|
||||
bg.textfieldBackground:SetPoint (5, -85)
|
||||
|
||||
local lastValue = 1
|
||||
|
||||
--text field
|
||||
DetailsFrameWork:NewTextEntry (bg, _, "DetailsErrorReportText", "textfield", 380, 260)
|
||||
bg.textfield:SetBackdrop (nil)
|
||||
bg.textfield:SetPoint (10, -90) -- topleft anchor and parent will be use in this case
|
||||
bg.textfield:SetFrameLevel (1, bg.textfieldBackground) -- +1 relative to other frame
|
||||
bg.textfield.text = Loc ["STRING_DEFAULT_TEXT_FEEDBACK"]
|
||||
bg.textfield.multiline = true
|
||||
bg.textfield.align = "left"
|
||||
|
||||
bg.textfield:SetHook ("OnEditFocusGained", function()
|
||||
if (bg.textfield.text == textArray [lastValue]) then
|
||||
bg.textfield.text = ""
|
||||
end
|
||||
end)
|
||||
|
||||
bg.textfield:SetHook ("OnEditFocusLost", function()
|
||||
if (bg.textfield.text == "") then
|
||||
bg.textfield.text = textArray [lastValue]
|
||||
end
|
||||
end)
|
||||
|
||||
--type dropdown
|
||||
local selected = function (self, _, index)
|
||||
if (bg.textfield.text == textArray [self.lastValue]) then
|
||||
bg.textfield.text = textArray [index]
|
||||
end
|
||||
self.lastValue = index
|
||||
lastValue = index
|
||||
end
|
||||
|
||||
local options = {
|
||||
{onclick = selected, desc = Loc ["STRING_FEEDBACK_DESC"], value = 1, icon = "Interface\\ICONS\\INV_Misc_Note_05", label = Loc ["STRING_FEEDBACK"], color = "white", selected = true },
|
||||
{onclick = selected, desc = Loc ["STRING_LUAERROR_DESC"], value = 2, icon = "Interface\\ICONS\\INV_Pet_Cockroach", label = Loc ["STRING_LUA_ERROR"], color = "white" },
|
||||
{onclick = selected, desc = Loc ["STRING_ACCURACY_DESC"], value = 3, icon = "Interface\\ICONS\\Ability_Hunter_FocusedAim", label = Loc ["STRING_ACCURACY_ERROR"], color = "white" },
|
||||
{onclick = selected, desc = Loc ["STRING_NOTWORK_DESC"], value = 4, icon = "Interface\\ICONS\\INV_Misc_ScrewDriver_01", label = Loc ["STRING_NOTWORK_ERROR"], color = "white" },
|
||||
{onclick = selected, desc = Loc ["STRING_OTHER_DESC"], value = 5, icon = "Interface\\ICONS\\Achievement_Reputation_01", label = Loc ["STRING_OTHER_ERROR"], color = "white" },
|
||||
}
|
||||
local buildMenu = function()
|
||||
return options
|
||||
end
|
||||
DetailsFrameWork:NewDropDown (bg, _, "DetailsErrorReportType", "type", 250, 20, buildMenu, 1) -- func, default
|
||||
bg.type:SetPoint (10, -60)
|
||||
bg.type:SetFrameLevel (2, bg)
|
||||
bg.type.lastValue = 1
|
||||
|
||||
local c = bg:CreateRightClickLabel ("medium")
|
||||
c:SetPoint ("bottomright", bg, "bottomright", -3, 1)
|
||||
|
||||
local moreinfo = DetailsFrameWork:NewLabel (bg, _, "DetailsErrorReportMoreInfo", _, "feedback recipient: detailsaddonwow@gmail.com\n")
|
||||
moreinfo:SetPoint ("bottomright", bg, "bottomright", -3, 36)
|
||||
moreinfo.align = ">"
|
||||
moreinfo.valign = "^"
|
||||
|
||||
--send button
|
||||
local sendFunc = function()
|
||||
|
||||
if (string.len (bg.textfield.text) < 2) then
|
||||
print (Loc ["STRING_EMPTY"])
|
||||
return
|
||||
end
|
||||
|
||||
if (string.len (bg.textfield.text) > 1024) then
|
||||
print (Loc ["STRING_TOOBIG"])
|
||||
return
|
||||
end
|
||||
|
||||
if (bg.textfield.text == textArray [lastValue]) then
|
||||
print (Loc ["STRING_CANCELLED"])
|
||||
mainFrame:Hide()
|
||||
return
|
||||
end
|
||||
|
||||
local subject = {
|
||||
"Feedback", "LuaError", "InstableAccuracy", "IsntWorking", "Other"
|
||||
}
|
||||
|
||||
local url = "http://reporttodevs.hol.es/sendtodev.php?dev=detailsaddon&subject=" .. subject [bg.type.value] .. "&text=v" .. _detalhes.userversion .. "-" .. bg.textfield.text:gsub (" ", "%%20")
|
||||
|
||||
ErrorReport:CopyPaste (url)
|
||||
mainFrame:Hide()
|
||||
end
|
||||
|
||||
DetailsFrameWork:NewButton (bg, _, "DetailsErrorReportButton", "send", 100, 20, sendFunc, _, _, _, Loc ["STRING_SEND"])
|
||||
bg.send:InstallCustomTexture()
|
||||
bg.send:SetPoint (10, -370)
|
||||
|
||||
|
||||
end
|
||||
|
||||
--events
|
||||
function ErrorReport:OnEvent (_, event, ...)
|
||||
|
||||
if (event == "ADDON_LOADED") then
|
||||
local AddonName = select (1, ...)
|
||||
if (AddonName == "Details_ErrorReport") then
|
||||
|
||||
if (_G._detalhes) then
|
||||
|
||||
--> create widgets
|
||||
BuildReportPanel (data)
|
||||
|
||||
--> Install
|
||||
local install, saveddata = _G._detalhes:InstallPlugin ("TOOLBAR", Loc ["STRING_PLUGIN_NAME"], "Interface\\HELPFRAME\\HelpIcon-Bug", ErrorReport, "DETAILS_PLUGIN_REPORT_ERRORS", 1, "Details! Team", "v1.03")
|
||||
if (type (install) == "table" and install.error) then
|
||||
print (install.error)
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -1,6 +0,0 @@
|
||||
## Interface: 50400
|
||||
## Title: Details Error Report
|
||||
## Notes: This plugin adds a button to Details tooltip where you can report bugs directly to Details Developers.
|
||||
## RequiredDeps: Details
|
||||
|
||||
Details_ErrorReport.lua
|
||||
@@ -1,6 +0,0 @@
|
||||
## Interface: 50400
|
||||
## Title: Details Save Data
|
||||
## Notes: Save Details database
|
||||
## RequiredDeps: Details
|
||||
|
||||
Details_SaveData.xml
|
||||
@@ -1,24 +0,0 @@
|
||||
<Ui xmlns="http://www.blizzard.com/wow/ui/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.blizzard.com/wow/ui/ ..\FrameXML\UI.xsd">
|
||||
|
||||
<Frame>
|
||||
<Scripts>
|
||||
|
||||
<OnLoad>
|
||||
self:RegisterEvent ("ADDON_LOADED")
|
||||
self:RegisterEvent ("PLAYER_LOGOUT")
|
||||
</OnLoad>
|
||||
|
||||
<OnEvent>
|
||||
if (event == "ADDON_LOADED") then
|
||||
_G._detalhes_saver = true
|
||||
|
||||
elseif (event == "PLAYER_LOGOUT") then
|
||||
_G._detalhes:SaveDataOnLogout()
|
||||
|
||||
end
|
||||
</OnEvent>
|
||||
|
||||
</Scripts>
|
||||
</Frame>
|
||||
|
||||
</Ui>
|
||||
+4
-3
@@ -161,7 +161,7 @@ function _G._detalhes:Start()
|
||||
end
|
||||
end
|
||||
|
||||
_detalhes.ToolBar:ReorganizeIcons()
|
||||
_detalhes.ToolBar:ReorganizeIcons() --> refresh all skin
|
||||
|
||||
self.RefreshAfterStartup = nil
|
||||
end
|
||||
@@ -438,9 +438,11 @@ function _G._detalhes:Start()
|
||||
if LDB then
|
||||
|
||||
local minimapIcon = LDB:NewDataObject ("Details!", {
|
||||
type = "data source",
|
||||
type = "launcher",
|
||||
icon = [[Interface\AddOns\Details\images\minimap]],
|
||||
|
||||
HotCornerIgnore = true,
|
||||
|
||||
OnClick = function (self, button)
|
||||
|
||||
if (button == "LeftButton") then
|
||||
@@ -649,6 +651,5 @@ function _G._detalhes:Start()
|
||||
--end
|
||||
--_detalhes:ScheduleTimer ("OpenOptionsWindowAtStart", 2)
|
||||
|
||||
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user