- 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:
tercio
2014-05-08 21:39:20 -03:00
parent 236218fa22
commit ce87de9a33
37 changed files with 1256 additions and 1028 deletions
+169 -104
View File
@@ -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
+64
View File
@@ -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>
+1 -1
View File
@@ -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
+24
View File
@@ -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
View File
@@ -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
+17 -8
View File
@@ -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
View File
@@ -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
+80 -26
View File
@@ -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
+6
View File
@@ -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
+15 -6
View File
@@ -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
+11
View File
@@ -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
View File
@@ -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
View File
@@ -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
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-3
View File
@@ -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)
-2
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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)
+5 -5
View File
@@ -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
+11
View File
@@ -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
View File
@@ -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,
+1
View File
@@ -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)
+3 -3
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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