This commit is contained in:
Tercio
2013-08-11 23:04:41 -03:00
parent 3a34882d37
commit 376938b87b
21 changed files with 440 additions and 44 deletions
+1
View File
@@ -36,6 +36,7 @@ framework\colors.lua
framework\label.lua
framework\slider.lua
framework\picture.lua
framework\help.lua
framework\cooltip.xml
framework\textentry.xml
framework\panel.xml
+6
View File
@@ -78,6 +78,12 @@
self:SaveMainWindowPosition()
else
self:RestoreMainWindowPosition()
local w, h = self:GetSize()
if (w ~= 300 or h ~= 300) then
self.baseframe:SetWidth (300)
self.baseframe:SetHeight (300)
self:SaveMainWindowPosition()
end
end
if (not _detalhes.SoloTables.Plugins [1]) then
+39 -7
View File
@@ -65,6 +65,9 @@ function DetailsCreateCoolTip()
["WidthAnchorMod"] = true,
["FixedWidth"] = true,
["FixedHeight"] = true,
["FixedWidthSub"] = true,
["FixedHeightSub"] = true,
["IgnoreSubMenu"] = true,
["TextHeightMod"] = true,
["ButtonHeightMod"] = true,
["ButtonHeightModSub"] = true,
@@ -89,8 +92,11 @@ function DetailsCreateCoolTip()
["IconSize"] = nil,
["HeightAnchorMod"] = nil,
["WidthAnchorMod"] = nil,
["Width"] = nil,
["Height"] = nil,
["FixedWidth"] = nil,
["FixedHeight"] = nil,
["FixedWidthSub"] = nil,
["FixedHeightSub"] = nil,
["IgnoreSubMenu"] = nil,
["TextHeightMod"] = nil,
["ButtonHeightMod"] = nil,
["ButtonHeightModSub"] = nil,
@@ -499,7 +505,7 @@ function DetailsCreateCoolTip()
end
function CoolTip:TextAndIcon (frame, menuButton, leftTextTable, rightTextTable, leftIconTable, rightIconTable)
function CoolTip:TextAndIcon (frame, menuButton, leftTextTable, rightTextTable, leftIconTable, rightIconTable, isSub)
--> reset width
menuButton.leftText:SetWidth (0)
@@ -581,6 +587,10 @@ function DetailsCreateCoolTip()
frame.w = stringWidth
end
end
else
if (isSub and CoolTip.OptionsTable.FixedWidthSub) then
menuButton.leftText:SetWidth (CoolTip.OptionsTable.FixedWidthSub - menuButton.leftIcon:GetWidth() - 20)
end
end
local height = _math_max ( menuButton.leftIcon:GetHeight(), menuButton.rightIcon:GetHeight(), menuButton.leftText:GetStringHeight(), menuButton.rightText:GetStringHeight() )
@@ -651,7 +661,7 @@ function DetailsCreateCoolTip()
CoolTip:TextAndIcon (frame2, menuButton, CoolTip.LeftTextTableSub [mainMenuIndex] and CoolTip.LeftTextTableSub [mainMenuIndex] [index],
CoolTip.RightTextTableSub [mainMenuIndex] and CoolTip.RightTextTableSub [mainMenuIndex] [index],
CoolTip.LeftIconTableSub [mainMenuIndex] and CoolTip.LeftIconTableSub [mainMenuIndex] [index],
CoolTip.RightIconTableSub [mainMenuIndex] and CoolTip.RightIconTableSub [mainMenuIndex] [index])
CoolTip.RightIconTableSub [mainMenuIndex] and CoolTip.RightIconTableSub [mainMenuIndex] [index], true)
--> setup statusbar
CoolTip:StatusBar (menuButton, CoolTip.StatusBarTable [mainMenuIndex] and CoolTip.StatusBarTable [mainMenuIndex] [index])
@@ -682,6 +692,11 @@ function DetailsCreateCoolTip()
function CoolTip:ShowSub (index)
if (CoolTip.OptionsTable.IgnoreSubMenu) then
gump:Fade (frame2, 1)
return
end
frame2:SetHeight (6)
local amtIndexes = CoolTip.IndexesSub [index]
@@ -690,6 +705,10 @@ function DetailsCreateCoolTip()
return
end
if (CoolTip.OptionsTable.FixedWidthSub) then
frame2:SetWidth (CoolTip.OptionsTable.FixedWidthSub)
end
frame2.h = CoolTip.IndexesSub [index] * 20
frame2.hHeight = 0
frame2.w = 0
@@ -753,7 +772,10 @@ function DetailsCreateCoolTip()
--]]
frame2:SetHeight ( (frame2.hHeight * CoolTip.IndexesSub [index]) + 12 + (-spacing))
frame2:SetWidth (frame2.w + 44)
if (not CoolTip.OptionsTable.FixedWidthSub) then
frame2:SetWidth (frame2.w + 44)
end
gump:Fade (frame2, 0)
@@ -1870,7 +1892,7 @@ function DetailsCreateCoolTip()
end
--> search key: ~inject
function CoolTip:ExecFunc (host)
function CoolTip:ExecFunc (host, fromClick)
if (host.dframework) then
if (not host.widget.CoolTip) then
@@ -1899,6 +1921,10 @@ function DetailsCreateCoolTip()
host.CoolTip.BuildFunc()
CoolTip:ShowCooltip()
if (fromClick) then
UIFrameFlash (frame1, 0.05, 0.05, 0.2, true, 0, 0)
end
end
local InjectOnUpdateEnter = function (self, elapsed)
@@ -1956,7 +1982,7 @@ function DetailsCreateCoolTip()
end
end
function CoolTip:CoolTipInject (host)
function CoolTip:CoolTipInject (host, openOnClick)
if (host.dframework) then
if (not host.widget.CoolTip) then
host.widget.CoolTip = host.CoolTip
@@ -1976,6 +2002,12 @@ function DetailsCreateCoolTip()
host:SetScript ("OnEnter", InjectOnEnter)
host:SetScript ("OnLeave", InjectOnLeave)
if (openOnClick) then
if (host:GetObjectType() == "Button") then
host:SetScript ("OnClick", function() CoolTip:ExecFunc (host, true) end)
end
end
return ture
end
+1
View File
@@ -558,6 +558,7 @@ function DetailsDropDownOnMouseDown (button)
end
end
object.scroll:SetValue (0)
object:Open()
else
+117
View File
@@ -0,0 +1,117 @@
local _detalhes = _G._detalhes
local gump = _detalhes.gump
local _rawset = rawset --> lua local
local _rawget = rawget --> lua local
local APIHelpFunctions = false
local HelpMetaFunctions = {}
local get_members_function_index = {}
HelpMetaFunctions.__index = function (_table, _member_requested)
local func = get_members_function_index [_member_requested]
if (func) then
return func (_table, _member_requested)
end
local fromMe = _rawget (_table, _member_requested)
if (fromMe) then
return fromMe
end
return HelpMetaFunctions [_member_requested]
end
local set_members_function_index = {}
HelpMetaFunctions.__newindex = function (_table, _key, _value)
local func = set_members_function_index [_key]
if (func) then
return func (_table, _value)
else
return _rawset (_table, _key, _value)
end
end
function HelpMetaFunctions:AddHelp (width, height, x, y, buttonX, buttonY, text, anchor)
self.helpTable [#self.helpTable + 1] = {
HighLightBox = {x = x, y = y, width = width, height = height},
ButtonPos = { x = buttonX, y = buttonY},
ToolTipDir = anchor or "RIGHT",
ToolTipText = text
}
end
function HelpMetaFunctions:SetPoint (v1, v2, v3, v4, v5)
v1, v2, v3, v4, v5 = gump:CheckPoints (v1, v2, v3, v4, v5, self)
if (not v1) then
print ("Invalid parameter for SetPoint")
return
end
return self.widget:SetPoint (v1, v2, v3, v4, v5)
end
function HelpMetaFunctions:ShowHelp()
if (not HelpPlate_IsShowing (self.helpTable)) then
HelpPlate_Show (self.helpTable, self.frame, self.button, true)
else
HelpPlate_Hide (true)
end
end
local nameCounter = 1
function _detalhes.gump:NewHelp (parent, width, height, x, y, buttonWidth, buttonHeight, name)
local help = {}
if (parent.dframework) then
parent = parent.widget
end
local helpButton = CreateFrame ("button", name or "DetailsHelpButton"..nameCounter, parent, "MainHelpPlateButton")
nameCounter = nameCounter + 1
if (not APIHelpFunctions) then
APIHelpFunctions = true
local idx = getmetatable (helpButton).__index
for funcName, funcAddress in pairs (idx) do
if (not HelpMetaFunctions [funcName]) then
HelpMetaFunctions [funcName] = function (object, ...)
local x = loadstring ( "return _G."..object.button:GetName()..":"..funcName.."(...)")
return x (...)
end
end
end
end
if (buttonWidth and buttonHeight) then
helpButton:SetWidth (buttonWidth)
helpButton:SetHeight (buttonHeight)
helpButton.I:SetWidth (buttonWidth*0.8)
helpButton.I:SetHeight (buttonHeight*0.8)
helpButton.Ring:SetWidth (buttonWidth)
helpButton.Ring:SetHeight (buttonHeight)
helpButton.Ring:SetPoint ("center", buttonWidth*.2, -buttonWidth*.2)
end
help.helpTable = {
FramePos = {x = x, y = y},
FrameSize = {width = width, height = height}
}
help.frame = parent
help.button = helpButton
help.widget = helpButton
help.I = helpButton.I
help.Ring = helpButton.Ring
helpButton:SetScript ("OnClick", function()
help:ShowHelp()
end)
setmetatable (help, HelpMetaFunctions)
return help
end
+5
View File
@@ -33,6 +33,7 @@ function _detalhes:SaveDataOnLogout()
_detalhes_database.tutorial = _detalhes.tutorial
-- max segments
_detalhes_database.segments_amount = _detalhes.segments_amount
_detalhes_database.segments_amount_to_save = _detalhes.segments_amount_to_save
_detalhes_database.clear_ungrouped = _detalhes.clear_ungrouped
_detalhes_database.clear_graphic = _detalhes.clear_graphic
-- row animation
@@ -95,6 +96,8 @@ function _detalhes:SaveDataOnLogout()
_detalhes_global.savedStyles = _detalhes.savedStyles
--max segments
_detalhes_global.segments_amount = _detalhes.segments_amount
_detalhes_global.segments_amount_to_save = _detalhes.segments_amount_to_save
_detalhes_global.segments_panic_mode = _detalhes.segments_panic_mode
-- animations
_detalhes_global.use_row_animations = _detalhes.use_row_animations
_detalhes_global.animate_scroll = _detalhes.animate_scroll
@@ -269,6 +272,8 @@ end --]]
_detalhes.savedStyles = _detalhes_global.savedStyles or _detalhes.savedStyles
--max segments
_detalhes.segments_amount = _detalhes_global.segments_amount or _detalhes.segments_amount
_detalhes.segments_amount_to_save = _detalhes_global.segments_amount_to_save or _detalhes.segments_amount_to_save
_detalhes.segments_panic_mode = _detalhes_global.segments_panic_mode or _detalhes.segments_panic_mode
-- row animation
_detalhes.use_row_animations = _detalhes_global.use_row_animations or _detalhes.use_row_animations
_detalhes.animate_scroll = _detalhes_global.animate_scroll or _detalhes.animate_scroll
+48 -2
View File
@@ -82,6 +82,52 @@ local function CreateCustomWindow()
_detalhes:CloseCustomWindow()
end)
--> help button
local helpButton = CreateFrame ("button", "DetailsCustomPanelHelpButton", frame, "MainHelpPlateButton")
helpButton:SetWidth (36)
helpButton:SetHeight (36)
helpButton.I:SetWidth (25)
helpButton.I:SetHeight (25)
helpButton.Ring:SetWidth (36)
helpButton.Ring:SetHeight (36)
helpButton.Ring:SetPoint ("center", 7, -7)
helpButton:SetPoint ("topright", frame, "topright", -20, -7)
helpButton:SetFrameLevel (frame.fechar:GetFrameLevel())
local customHelp = {
FramePos = {x = 0, y = -30},
FrameSize = {width = 512, height = 120},
[1] ={HighLightBox = {x = 15, y = -39, width = 100, height = 70},
ButtonPos = { x = 43, y = -50},
ToolTipDir = "LEFT",
ToolTipText = Loc ["STRING_CUSTOM_HELP1"]
},
[2] ={HighLightBox = {x = 120, y = -9, width = 170, height = 95},
ButtonPos = { x = 182, y = -30},
ToolTipDir = "RIGHT",
ToolTipText = Loc ["STRING_CUSTOM_HELP2"]
},
[3] ={HighLightBox = {x = 295, y = -9, width = 170, height = 75},
ButtonPos = { x = 363, y = -25},
ToolTipDir = "RIGHT",
ToolTipText = Loc ["STRING_CUSTOM_HELP3"]
},
[4] ={HighLightBox = {x = 470, y = -25, width = 30, height = 25},
ButtonPos = { x = 485, y = -15},
ToolTipDir = "RIGHT",
ToolTipText = Loc ["STRING_CUSTOM_HELP4"]
}
}
helpButton:SetScript ("OnClick", function()
if (not HelpPlate_IsShowing (customHelp)) then
HelpPlate_Show (customHelp, frame, helpButton, true)
else
HelpPlate_Hide (true)
end
end)
--> titulo
gump:NewLabel (frame, frame, nil, "titulo", "Custom Display", "GameFontHighlightLeft", 12, {227/255, 186/255, 4/255})
frame.titulo:SetPoint ("center", frame, "center")
@@ -851,7 +897,7 @@ local function CreateCustomWindow()
Type = "menu",
BuildFunc = CreateCustomList,
Options = {NoLastSelectedBar = true, TextSize = 9.5, HeightAnchorMod = -10}}
_detalhes.popup:CoolTipInject (DeleteButton)
_detalhes.popup:CoolTipInject (DeleteButton, true)
-------------------------
@@ -877,7 +923,7 @@ local function CreateCustomWindow()
BuildFunc = CreateCustomListForShout,
Options = {NoLastSelectedBar = true, TextSize = 9.5, HeightAnchorMod = -10}}
GameCooltip:CoolTipInject (BroadcastButton)
GameCooltip:CoolTipInject (BroadcastButton, true)
function _detalhes:CommReceive (prefix, Msgs, distribution, target)
--print (prefix, Msgs, distribution, target)
+41 -11
View File
@@ -25,19 +25,45 @@ function _detalhes:OpenOptionsWindow (instance)
g:NewLabel (window, _, "$parentTitle", "title", "Options for Details!")
window.title:SetPoint (10, -10)
local close = g:NewLabel (window, _, "$parentRightMouseClose", nil, "|TInterface\\TUTORIALFRAME\\UI-TUTORIAL-FRAME:20:20:0:1:512:512:8:70:328:409|t right click to close this panel")
close:SetPoint ("bottomleft", window, "bottomleft", 5, 5)
--------------- Max Segments
g:NewLabel (window, _, "$parentSliderLabel", "segmentsLabel", "max segments")
window.segmentsLabel:SetPoint (10, -35)
--
g:NewSlider (window, _, "$parentSlider", "segmentsSlider", 120, 20, 1, 10, 1, _detalhes.segments_amount) -- min, max, step, defaultv
g:NewSlider (window, _, "$parentSlider", "segmentsSlider", 120, 20, 1, 25, 1, _detalhes.segments_amount) -- min, max, step, defaultv
window.segmentsSlider:SetPoint ("left", window.segmentsLabel, "right")
window.segmentsSlider:SetHook ("OnValueChange", function (self, _, amount) --> slider, fixedValue, sliderValue
_detalhes.segments_amount = amount
end)
window.segmentsSlider.tooltip = "This option control how many fights you want to maintain.\nAs overall data work dynamic with segments stored,\nfeel free to adjust this number to be comfortable for you.\nHigh value may increase the memory use,\nbut doesn't affect your game framerate."
--------------- Max Segments Saved
g:NewLabel (window, _, "$parentLabelSegmentsSave", "segmentsSaveLabel", "segments saved on logout")
window.segmentsSaveLabel:SetPoint (10, -50)
--
g:NewSlider (window, _, "$parentSliderSegmentsSave", "segmentsSliderToSave", 80, 20, 1, 5, 1, _detalhes.segments_amount_to_save) -- min, max, step, defaultv
window.segmentsSliderToSave:SetPoint ("left", window.segmentsSaveLabel, "right")
window.segmentsSliderToSave:SetHook ("OnValueChange", function (self, _, amount) --> slider, fixedValue, sliderValue
_detalhes.segments_amount_to_save = amount
end)
window.segmentsSliderToSave.tooltip = "How many segments will be saved on logout.\nHigher values may increase the time between a\nlogout button click and your character selection screen.\nIf you rarely check last day data, it`s high recommeded save only 1."
--------------- Panic Mode
g:NewLabel (window, _, "$parentPanicModeLabel", "panicModeLabel", "panic mode")
window.panicModeLabel:SetPoint (10, -65)
--
g:NewSwitch (window, _, "$parentPanicModeSlider", "panicModeSlider", 60, 20, _, _, _detalhes.segments_panic_mode)
window.panicModeSlider:SetPoint ("left", window.panicModeLabel, "right")
window.panicModeSlider.OnSwitch = function (self, _, value) --> slider, fixedValue, sliderValue
_detalhes.segments_panic_mode = value
end
window.panicModeSlider.tooltip = "If enabled, when you are in a raid encounter\nand get dropped from the game, a disconnect for intance,\nDetails! immediately erase all segments\nmaking the disconnect process faster."
--------------- Animate Rows
g:NewLabel (window, _, "$parentAnimateLabel", "animateLabel", "animate rows")
window.animateLabel:SetPoint (10, -50)
window.animateLabel:SetPoint (10, -80)
--
g:NewSwitch (window, _, "$parentAnimateSlider", "animateSlider", 60, 20, _, _, _detalhes.use_row_animations) -- ltext, rtext, defaultv
window.animateSlider:SetPoint ("left",window.animateLabel, "right")
@@ -46,6 +72,7 @@ function _detalhes:OpenOptionsWindow (instance)
end
--------------- Clear Ungrouped
--[[
g:NewLabel (window, _, "$parentClearUngroupedLabel", "clearungroupedLabel", "delete ungrouped on logout")
window.clearungroupedLabel:SetPoint (10, -65)
--
@@ -55,10 +82,11 @@ function _detalhes:OpenOptionsWindow (instance)
_detalhes.clear_ungrouped = value
end
window.clearungroupedSlider.tooltip = "erase actors without a group when you logout."
--]]
--------------- Use Scroll Bar
g:NewLabel (window, _, "$parentUseScrollLabel", "scrollLabel", "show scroll bar")
window.scrollLabel:SetPoint (10, -80)
window.scrollLabel:SetPoint (10, -95)
--
g:NewSwitch (window, _, "$parentUseScrollSlider", "scrollSlider", 60, 20, _, _, _detalhes.use_scroll) -- ltext, rtext, defaultv
window.scrollSlider:SetPoint ("left", window.scrollLabel, "right")
@@ -82,7 +110,7 @@ function _detalhes:OpenOptionsWindow (instance)
--------------- Animate scroll bar
g:NewLabel (window, _, "$parentAnimateScrollLabel", "animatescrollLabel", "animate scroll")
window.animatescrollLabel:SetPoint (10, -95)
window.animatescrollLabel:SetPoint (10, -110)
--
g:NewSwitch (window, _, "$parentClearAnimateScrollSlider", "animatescrollSlider", 60, 20, _, _, _detalhes.animate_scroll) -- ltext, rtext, defaultv
window.animatescrollSlider:SetPoint ("left", window.animatescrollLabel, "right")
@@ -92,7 +120,7 @@ function _detalhes:OpenOptionsWindow (instance)
--------------- Update Speed
g:NewLabel (window, _, "$parentUpdateSpeedLabel", "updatespeedLabel", "update speed")
window.updatespeedLabel:SetPoint (10, -110)
window.updatespeedLabel:SetPoint (10, -125)
--
g:NewSlider (window, _, "$parentSliderUpdateSpeed", "updatespeedSlider", 160, 20, 0.3, 2, 0.1, _detalhes.update_speed, true) --parent, container, name, member, w, h, min, max, step, defaultv
window.updatespeedSlider:SetPoint ("left", window.updatespeedLabel, "right")
@@ -118,8 +146,8 @@ function _detalhes:OpenOptionsWindow (instance)
window.updatespeedSlider.tooltip = "delay between each update,\nCPU usage may increase with low values."
--------------- Time Type
g:NewLabel (window, _, "$parentTimeTypeLabel", "timetypeLabel", "time type")
window.timetypeLabel:SetPoint (10, -125)
g:NewLabel (window, _, "$parentTimeTypeLabel", "timetypeLabel", "time measure")
window.timetypeLabel:SetPoint (10, -143)
--
local onSelectTimeType = function (_, _, timetype)
_detalhes.time_type = timetype
@@ -132,8 +160,8 @@ function _detalhes:OpenOptionsWindow (instance)
local buildTimeTypeMenu = function()
return timetypeOptions
end
g:NewDropDown (window, _, "$parentTTDropdown", "timetypeDropdown", 200, 20, buildTimeTypeMenu, nil) -- func, default
window.timetypeDropdown:SetPoint (10, -140)
g:NewDropDown (window, _, "$parentTTDropdown", "timetypeDropdown", 160, 20, buildTimeTypeMenu, nil) -- func, default
window.timetypeDropdown:SetPoint ("left", window.timetypeLabel, "right")
-- Current Instalnce --------------------------------------------------------------------------------------------------------------------------------------------
@@ -546,7 +574,7 @@ function _detalhes:OpenOptionsWindow (instance)
------ apply to all button
local applyToAll = function()
for _, this_instance in ipairs (_detalhes.tabela_instancias) do
if (this_instance:IsAtiva()) then
if (this_instance:IsAtiva() and this_instance.meu_id ~= instance.meu_id) then
--texture
this_instance.barrasInfo.textura = SharedMedia:Fetch ("statusbar", window.textureDropdown.value)
this_instance.barrasInfo.textureName = window.textureDropdown.value
@@ -557,6 +585,8 @@ function _detalhes:OpenOptionsWindow (instance)
this_instance.barrasInfo.fontSize = window.fonsizeSlider.value
--color
this_instance:InstanceColor (window.instance.color)
--wallpaper
this_instance:InstanceWallpaper (window.instance.wallpaper)
--refresh
this_instance:RefreshBars()
end
+99 -3
View File
@@ -2434,18 +2434,26 @@ function gump:CriaCabecalho (BaseFrame, instancia)
{text = Loc ["STRING_MODE_SELF"]},
{func = instancia.AlteraModo, param1 = 1},
{icon = "Interface\\AddOns\\Details\\images\\modo_icones", l = 0, r = 32/256, t = 0, b = 1, width = 20, height = 20},
{text = Loc ["STRING_HELP_MODESELF"], type = 2},
{icon = [[Interface\TUTORIALFRAME\TutorialFrame-QuestionMark]], type = 2, width = 16, height = 16, l = 8/64, r = 1 - (8/64), t = 8/64, b = 1 - (8/64)},
{text = Loc ["STRING_MODE_GROUP"]},
{func = instancia.AlteraModo, param1 = 2},
{icon = "Interface\\AddOns\\Details\\images\\modo_icones", l = 32/256, r = 32/256*2, t = 0, b = 1, width = 20, height = 20},
{text = Loc ["STRING_HELP_MODEGROUP"], type = 2},
{icon = [[Interface\TUTORIALFRAME\TutorialFrame-QuestionMark]], type = 2, width = 16, height = 16, l = 8/64, r = 1 - (8/64), t = 8/64, b = 1 - (8/64)},
{text = Loc ["STRING_MODE_ALL"]},
{func = instancia.AlteraModo, param1 = 3},
{icon = "Interface\\AddOns\\Details\\images\\modo_icones", l = 32/256*2, r = 32/256*3, t = 0, b = 1, width = 20, height = 20},
{text = Loc ["STRING_HELP_MODEALL"], type = 2},
{icon = [[Interface\TUTORIALFRAME\TutorialFrame-QuestionMark]], type = 2, width = 16, height = 16, l = 8/64, r = 1 - (8/64), t = 8/64, b = 1 - (8/64)},
{text = Loc ["STRING_MODE_RAID"]},
{func = instancia.AlteraModo, param1 = 4},
{icon = "Interface\\AddOns\\Details\\images\\modo_icones", l = 32/256*3, r = 32/256*4, t = 0, b = 1, width = 20, height = 20},
{text = Loc ["STRING_HELP_MODERAID"], type = 2},
{icon = [[Interface\TUTORIALFRAME\TutorialFrame-QuestionMark]], type = 2, width = 16, height = 16, l = 8/64, r = 1 - (8/64), t = 8/64, b = 1 - (8/64)},
{text = Loc ["STRING_OPTIONS_WINDOW"]},
{func = _detalhes.OpenOptionsWindow},
@@ -2484,6 +2492,13 @@ function gump:CriaCabecalho (BaseFrame, instancia)
CoolTip:SetOption ("ButtonsYMod", -5)
CoolTip:SetOption ("YSpacingMod", 1)
CoolTip:SetOption ("FixedHeight", 106)
CoolTip:SetOption ("FixedWidth", 106)
CoolTip:SetOption ("FixedWidthSub", 146)
CoolTip:SetOption ("SubMenuIsTooltip", true)
if (_detalhes.tutorial.main_help_button > 9) then
CoolTip:SetOption ("IgnoreSubMenu", true)
end
if (instancia.consolidate) then
CoolTip:SetOwner (self, "topleft", "topright", 3)
@@ -2933,10 +2948,91 @@ function gump:CriaCabecalho (BaseFrame, instancia)
end
--> fim botão reset
----------------------------------------------------------------------------------------------------------------------------------------------------
--> fim botão reset
---------> consolidate frame
--> Botão de Ajuda ----------------------------------------------------------------------------------------------------------------------------------------------------
if (instancia.meu_id == 1 and _detalhes.tutorial.main_help_button < 10) then
_detalhes.tutorial.main_help_button = _detalhes.tutorial.main_help_button + 1
--> help button
local helpButton = CreateFrame ("button", "DetailsMainWindowHelpButton", BaseFrame, "MainHelpPlateButton")
helpButton:SetWidth (28)
helpButton:SetHeight (28)
helpButton.I:SetWidth (22)
helpButton.I:SetHeight (22)
helpButton.Ring:SetWidth (28)
helpButton.Ring:SetHeight (28)
helpButton.Ring:SetPoint ("center", 5, -6)
helpButton:SetPoint ("topright", BaseFrame, "topleft", 37, 37)
helpButton:SetFrameLevel (0)
helpButton:SetFrameStrata ("LOW")
local mainWindowHelp = {
FramePos = {x = 0, y = 10},
FrameSize = {width = 300, height = 85},
--> modo, segmento e atributo
[1] ={HighLightBox = {x = 25, y = 10, width = 60, height = 20},
ButtonPos = { x = 32, y = 40},
ToolTipDir = "RIGHT",
ToolTipText = Loc ["STRING_HELP_MENUS"]
},
--> delete
[2] ={HighLightBox = {x = 195, y = 10, width = 47, height = 20},
ButtonPos = { x = 197, y = 5},
ToolTipDir = "LEFT",
ToolTipText = Loc ["STRING_HELP_ERASE"]
},
--> menu da instancia
[3] ={HighLightBox = {x = 244, y = 10, width = 30, height = 20},
ButtonPos = { x = 237, y = 5},
ToolTipDir = "RIGHT",
ToolTipText = Loc ["STRING_HELP_INSTANCE"]
},
--> stretch
[4] ={HighLightBox = {x = 244, y = 30, width = 30, height = 20},
ButtonPos = { x = 237, y = 57},
ToolTipDir = "RIGHT",
ToolTipText = Loc ["STRING_HELP_STRETCH"]
},
--> status bar
[5] ={HighLightBox = {x = 0, y = -101, width = 300, height = 20},
ButtonPos = { x = 126, y = -88},
ToolTipDir = "LEFT",
ToolTipText = Loc ["STRING_HELP_STATUSBAR"]
},
--> switch menu
[6] ={HighLightBox = {x = 0, y = -10, width = 300, height = 95},
ButtonPos = { x = 127, y = -37},
ToolTipDir = "LEFT",
ToolTipText = Loc ["STRING_HELP_SWITCH"]
},
--> resizer
[7] ={HighLightBox = {x = 250, y = -81, width = 50, height = 20},
ButtonPos = { x = 253, y = -52},
ToolTipDir = "RIGHT",
ToolTipText = Loc ["STRING_HELP_RESIZE"]
},
}
helpButton:SetScript ("OnClick", function()
if (not HelpPlate_IsShowing (mainWindowHelp)) then
instancia:SetSize (300, 95)
HelpPlate_Show (mainWindowHelp, BaseFrame, helpButton, true)
else
HelpPlate_Hide (true)
end
end)
end
---------> consolidate frame ----------------------------------------------------------------------------------------------------------------------------------------------------
local consolidateFrame = CreateFrame ("frame", nil, _detalhes.listener)
consolidateFrame:SetWidth (21)
+23 -2
View File
@@ -53,8 +53,8 @@ if not Loc then return end
Loc ["STRING_CUSTOM_SOURCE"] = "Source"
Loc ["STRING_CUSTOM_TARGET"] = "Target"
Loc ["STRING_CUSTOM_TOOLTIPNAME"] = "Insert here the name of your custom display.\nAllow letters and numbers, minimum of 5 characters and 32 max."
Loc ["STRING_CUSTOM_TOOLTIPSPELL"] = "Select a boss ability from the menu on the right or type the spell name to filter."
Loc ["STRING_CUSTOM_TOOLTIPSOURCE"] = "Spell source allow:\n|cFF00FF00[all]|r: Search for spell in all Actors.\n|cFFFF9900[raid]|r: Search only in your raid or party members.\n|cFF33CCFF[player]|r: Check only you\nAny other text will be considered an spesific Actor name."
Loc ["STRING_CUSTOM_TOOLTIPSPELL"] = "Select a boss ability from the menu on the right\nor type the spell name to filter."
Loc ["STRING_CUSTOM_TOOLTIPSOURCE"] = "Spell source allow (with brackets):\n|cFF00FF00[all]|r: Search for spell in all Actors.\n|cFFFF9900[raid]|r: Search only in your raid or party members.\n|cFF33CCFF[player]|r: Check only you\nAny other text will be considered an spesific Actor name."
Loc ["STRING_CUSTOM_TOOLTIPTARGET"] = "Insert the ability (player, monster, boss) target name."
Loc ["STRING_CUSTOM_TOOLTIPNOTWORKING"] = "Ouch, some gnome engineer touched this and broke it =("
Loc ["STRING_CUSTOM_BROADCASTSENT"] = "Sent"
@@ -66,6 +66,10 @@ if not Loc then return end
Loc ["STRING_CUSTOM_SHORTNAME"] = "Name need at least 5 characters."
Loc ["STRING_CUSTOM_LONGNAME"] = "Name too long, maximum allowed 32 characters."
Loc ["STRING_CUSTOM_NOSPELL"] = "Spell field cannot be empty."
Loc ["STRING_CUSTOM_HELP1"] = "When you mouse over the Remove button, a menu is shown asking which one of previously created customs you want to erase.\n\nThe send button shows up a menu for broadcast your custom to your raid group."
Loc ["STRING_CUSTOM_HELP2"] = "Choose here the attribute type of the spell, if your spell is a Healing spell, you may click on Heal."
Loc ["STRING_CUSTOM_HELP3"] = "Custom name will be used on Details attribute menu, and also, shown when reporting.\n\nOn spell id field, type some letters to filter spell names, you can also choose a spell from encounter menu on the right.\n\nOver source field, type where Details will serach for the spell, more info at his tooltip."
Loc ["STRING_CUSTOM_HELP4"] = "You can choose a spell from a raid encounter, mouse over this button and the options will be shown to you."
Loc ["STRING_CUSTOM_"] = ""
--> Switch Window
@@ -251,6 +255,23 @@ if not Loc then return end
Loc ["STRING_FREEZE"] = "This segment is not available at the moment"
Loc ["STRING_CLOSEALL"] = "All Details windows are close, Type '/details new' to re-open."
Loc ["STRING_HELP_MENUS"] = "Gear Menu: changes the game mode.\nSolo: tools where you can play by your self.\nGroup: display only actors which make part of your group.\nAll: show everything.\nRaid: assistance tools for raid or pvp groups.\n\nBook Menu: Change the segment, in Details! segments are dynamic and the instances change the displaying encounter data when a fight finishes.\n\nSword Menu: Change the attribute which this instance shown."
Loc ["STRING_HELP_ERASE"] = "Remove all segments stored."
Loc ["STRING_HELP_INSTANCE"] = "Click: open a new instance (window).\n\nMouse over: display a menu with all closed instances, you can reopen anyone at any time."
Loc ["STRING_HELP_STATUSBAR"] = "Statusbar can hold three plugins: one in left, another in the center and right side.\n\nRight click: select another plugin to show.\n\nLeft click: open the options window."
Loc ["STRING_HELP_SWITCH"] = "Right click: shows up the fast switch panel.\n\nLeft click on a switch option: change the instance (window) attribute.\nRight click: closes switch.\n\nYou can right click over icons to choose another attribute."
Loc ["STRING_HELP_RESIZE"] = "Resize and lock buttons."
Loc ["STRING_HELP_STRETCH"] = "Click, hold and pull to stretch the window."
Loc ["STRING_HELP_MODESELF"] = "The self mode plugins are intended to focus only on you. Use the sword menu to choose which plugin you want to use."
Loc ["STRING_HELP_MODEGROUP"] = "Use this option to display only you or players which are in your group or raid."
Loc ["STRING_HELP_MODEALL"] = "This mode will show every player, npc, boss with data captured by Details!."
Loc ["STRING_HELP_MODERAID"] = "The raid mode is the opposite of self mode, this plugins are intended to work with data captured from your group. You can change the plugin on sword menu."
--O modo sozinho possui plugins que irão trabalhar apenas em cima dos dados capturados do seu personagem, como o dano que ele causa, os buffs e debuffs que ele possui, entre outros.
--> misc
Loc ["STRING_PLAYER_DETAILS"] = "Player Details"
+32 -19
View File
@@ -44,26 +44,30 @@ if not Loc then return end
--> Custom Window -- traduzir
Loc ["STRING_CUSTOM_REMOVE"] = "Remove"
Loc ["STRING_CUSTOM_BROADCAST"] = "Shout"
Loc ["STRING_CUSTOM_NAME"] = "Custom Name"
Loc ["STRING_CUSTOM_SPELLID"] = "Spell Id"
Loc ["STRING_CUSTOM_SOURCE"] = "Source"
Loc ["STRING_CUSTOM_TARGET"] = "Target"
Loc ["STRING_CUSTOM_TOOLTIPNAME"] = "Insert here the name of your custom display.\nAllow letters and numbers, minimum of 5 characters and 32 max."
Loc ["STRING_CUSTOM_TOOLTIPSPELL"] = "Select a boss ability from the menu on the right or type the spell name to filter."
Loc ["STRING_CUSTOM_TOOLTIPSOURCE"] = "Spell source allow:\n|cFF00FF00[all]|r: Search for spell in all Actors.\n|cFFFF9900[raid]|r: Search only in your raid or party members.\n|cFF33CCFF[player]|r: Check only you\nAny other text will be considered an spesific Actor name."
Loc ["STRING_CUSTOM_REMOVE"] = "Remover"
Loc ["STRING_CUSTOM_BROADCAST"] = "Enviar"
Loc ["STRING_CUSTOM_NAME"] = "Nome"
Loc ["STRING_CUSTOM_SPELLID"] = "Id da Magia"
Loc ["STRING_CUSTOM_SOURCE"] = "Fonte"
Loc ["STRING_CUSTOM_TARGET"] = "Alvo"
Loc ["STRING_CUSTOM_TOOLTIPNAME"] = "Insira aqui o nome da sua customizacao.\nPermitido letras e numeros, minimo de 5 caracteres e no maximo 32."
Loc ["STRING_CUSTOM_TOOLTIPSPELL"] = "Selecione uma habilidade de um chefe no botao a direita ou digite o nome para filtrar todas as habilidades."
Loc ["STRING_CUSTOM_TOOLTIPSOURCE"] = "Fonte da magia (com os colchetes):\n|cFF00FF00[all]|r: Procura pela magia em todos os atores.\n|cFFFF9900[raid]|r: Busca apenas na raide ou no grupo.\n|cFF33CCFF[player]|r: Procura apenas em voce.\nQualquer outro texto sera considerado um nome de um ator."
Loc ["STRING_CUSTOM_TOOLTIPTARGET"] = "Insert the ability (player, monster, boss) target name."
Loc ["STRING_CUSTOM_TOOLTIPNOTWORKING"] = "Ouch, some gnome engineer touched this and broke it =("
Loc ["STRING_CUSTOM_BROADCASTSENT"] = "Sent"
Loc ["STRING_CUSTOM_CREATED"] = "The new display has been created."
Loc ["STRING_CUSTOM_ICON"] = "Icon"
Loc ["STRING_CUSTOM_CREATE"] = "Create"
Loc ["STRING_CUSTOM_INCOMBAT"] = "You are in combat."
Loc ["STRING_CUSTOM_NOATTRIBUTO"] = "No attribute has been selected."
Loc ["STRING_CUSTOM_SHORTNAME"] = "Name need at least 5 characters."
Loc ["STRING_CUSTOM_LONGNAME"] = "Name too long, maximum allowed 32 characters."
Loc ["STRING_CUSTOM_NOSPELL"] = "Spell field cannot be empty."
Loc ["STRING_CUSTOM_TOOLTIPNOTWORKING"] = "Ouch, algum gnomo tocou nisso e acabou quebrando =("
Loc ["STRING_CUSTOM_BROADCASTSENT"] = "Enviar"
Loc ["STRING_CUSTOM_CREATED"] = "Sua customizacao foi criada."
Loc ["STRING_CUSTOM_ICON"] = "Icone"
Loc ["STRING_CUSTOM_CREATE"] = "Criar"
Loc ["STRING_CUSTOM_INCOMBAT"] = "Voce esta em combate."
Loc ["STRING_CUSTOM_NOATTRIBUTO"] = "Nenhum atributo foi selecionado."
Loc ["STRING_CUSTOM_SHORTNAME"] = "O nome precisa de pelo menos 5 caracteres."
Loc ["STRING_CUSTOM_LONGNAME"] = "O nome esta fora do permitido, use ate 32 caracteres."
Loc ["STRING_CUSTOM_NOSPELL"] = "O campo do Id da magia nao pode ser ignorado."
Loc ["STRING_CUSTOM_HELP1"] = "Remove a previously created custom\nSend this custom to all raid members."
Loc ["STRING_CUSTOM_HELP2"] = "Escolha aqui o atributo, se a sua magia for de curar, voce deve escolher cura."
Loc ["STRING_CUSTOM_HELP3"] = "O nome da customizacao e usado no menu de atributos do Detalhes, e tambem mostrado no relatorio ao reportar."
Loc ["STRING_CUSTOM_HELP4"] = "Voce pode escolher uma magia de algum encontro de uma raide, basta deixar o ponteiro do mouse sobre o botao para que o menu seja mostrado."
Loc ["STRING_CUSTOM_"] = ""
--> Switch Window
@@ -244,6 +248,15 @@ if not Loc then return end
Loc ["STRING_RESIZE_ALL"] = "Redimenciona livremente\n e reajusta todas as janelas"
Loc ["STRING_FREEZE"] = "Este segmento não está disponível no momento"
Loc ["STRING_CLOSEALL"] = "Todas as janelas do Details estao fechadas, digite '/details new' para reabri-las."
Loc ["STRING_HELP_MENUS"] = "Menu da Engrenagem: altera o modo de jogo.\nSolo: ferramentas para voce jogar sozinho.\nGroup: mostra apenas os atores que pertencem ao seu grupo de raide.\nAll: mostra tudo.\nRaid: ferramentas para auxiliar em grupos de raide.\n\nMenu do Livro: altera o segmento que esta sendo mostrado na janela.\n\nMenu da Espada: muda o atributo que esta janela esta mostrando."
Loc ["STRING_HELP_ERASE"] = "Apaga todo o historico de lutas."
Loc ["STRING_HELP_INSTANCE"] = "Clique: abre uma nova janela.\n\nMouse em cima: mostra um menu com todas as janelas fechadas, voce pode reabrilas quando quiser."
Loc ["STRING_HELP_STATUSBAR"] = "A barra de status armazena 3 plugins: um na esquerda, outro no centro e na direita.\n\nBotao direito: seleciona outro plugin para mostrar.\n\nBotao esquerdo: mostra as opcoes do plugin."
Loc ["STRING_HELP_SWITCH"] = "Botao direito: mostra o painel de mudanca rapida.\n\nBotao esquerdo em uma opcao do painel de mudanca rapida: muda o atributo que a janela esta mostrando.\nbotao direito: fecha o painel.\n\nVoce pode clicar nos icones para escolher outro atributo."
Loc ["STRING_HELP_RESIZE"] = "Botoes de redimencionar e travar a janela."
Loc ["STRING_HELP_STRETCH"] = "Clique, segure e puxe para esticar a janela."
------------------------------------------------------------------------------------------------------------------------------------
--> MISC
@@ -308,6 +308,15 @@ local function CreatePluginFrames (data)
title:SetPoint ("left", titleIcon, "right", 20, -9)
DmgRank.Title = title
--> help button
--> after 10 logins on the character this help button will not be show any more
if (_detalhes.tutorial.main_help_button < 10) then
local help = DetailsFrameWork:NewHelp (DmgRankFrame, 280, 280, 0, -20, 40, 40)
help:SetPoint ("topright", DmgRankFrame, "topright", 8, 9)
help:AddHelp (300, 300, 0, 0, 138, -138, Loc ["STRING_HELP"])
help:SetFrameLevel (DmgRankFrame:GetFrameLevel()+2)
end
--> announce switch
local announce = DetailsFrameWork:NewSwitch (bg1, _, "DetailsDmgRankAnnouce", "announceSwitch", 60, 20, _, _, DmgRank.rank.annouce)
bg1.announceSwitch:SetPoint ("topleft", DmgRankFrame, 12, -184)
+1
View File
@@ -19,6 +19,7 @@ Loc ["STRING_CANCELLED"] = "This attempt has been cancelled."
Loc ["STRING_CANCELLED_NOT_COMBAT"] = "This attempt has been cancelled: you aren't in combat."
Loc ["STRING_CANCELLED_IN_GROUP"] = "This attempt has been cancelled: you are in a group."
Loc ["STRING_CANCELLED_AURA"] = "This attempt has been cancelled: prohibited aura: "
Loc ["STRING_HELP"] = "Damage Rank is a fun tool where your goal is reach the requested damage within the given time. Completing the mission, your rank increases and the challenge becomes harder and harder."
--> Challenge Names:
Loc ["CHALLENGENAME_1"] = "Ready to Raid"
+1
View File
@@ -19,6 +19,7 @@ Loc ["STRING_CANCELLED"] = "Esta tentativa foi cancelada."
Loc ["STRING_CANCELLED_NOT_COMBAT"] = "Esta tentativa foi cancelada: você não esta mais em combate."
Loc ["STRING_CANCELLED_IN_GROUP"] = "Esta tentativa foi cancelada: você está em grupo."
Loc ["STRING_CANCELLED_AURA"] = "Esta tentativa foi cancelada: buff proibido: "
Loc ["STRING_HELP"] = "Rank de Dano eh uma ferramenta interativa cujo o objetivo eh conseguir alcancar a margem de dano pedida dentro do tempo estabelecido. Cada vez que voce alcanca-lo, seu nivel aumenta e o desafio torna-se maior."
--> Challenge Names:
Loc ["CHALLENGENAME_1"] = "Pronto Para Raidar"
Binary file not shown.

Before

Width:  |  Height:  |  Size: 128 KiB

After

Width:  |  Height:  |  Size: 108 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 512 KiB

After

Width:  |  Height:  |  Size: 440 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 256 KiB

After

Width:  |  Height:  |  Size: 167 KiB

@@ -86,6 +86,15 @@ local function CreatePluginFrames (data)
texturetitle:SetWidth (300)
texturetitle:SetHeight (128)
--> help button
--> after 10 logins on the character this help button will not be show any more
if (_detalhes.tutorial.main_help_button < 10) then
local help = DetailsFrameWork:NewHelp (TimeAttackFrame, 280, 280, 0, -20, 40, 40)
help:SetPoint ("topright", TimeAttackFrame, "topright", 8, 9)
help:AddHelp (300, 300, 0, 0, 138, -138, Loc ["STRING_HELP"])
help:SetFrameLevel (TimeAttackFrame:GetFrameLevel()+2)
end
--> a dark blue image on bottom of window
local texturedown = TimeAttackFrame:CreateTexture (nil, "artwork")
texturedown:SetTexture ("Interface\\PetBattles\\Weather-Darkness")
+1
View File
@@ -14,6 +14,7 @@ Loc ["STRING_RECENTLY"] = "Recently"
Loc ["STRING_SETNOTE"] = "set note"
Loc ["STRING_SECONDS"] = "seconds"
Loc ["STRING_COMBATFAIL"] = "Combat wasn't started by you, try leave your group or raid."
Loc ["STRING_HELP"] = "Use timeattack to measure your damage within a certain time window. You can choose the amount of time from on the slider bar below. After reaching the time you can save the attempt to compare with others attempts in the future. When you save an attempt, Timeattack record your item level and the date together with the damage and time."
Loc ["STRING_REPORT"] = "Details Time Attack Report"
Loc ["STRING_DAMAGEOVER"] = "damage over"
+1
View File
@@ -14,6 +14,7 @@ Loc ["STRING_RECENTLY"] = "Recente"
Loc ["STRING_SETNOTE"] = "escrever comentario"
Loc ["STRING_SECONDS"] = "segundos"
Loc ["STRING_COMBATFAIL"] = "O combate não foi iniciado por voce, tente saido do grupo ou da raide."
Loc ["STRING_HELP"] = "Use o Cronometro para medir o seu dano dentro de um determinado tempo. Voce pode escolher a quantidade de tempo na barra de deslizar logo abaixo. Apos alcancar o tempo voce pode salvar a quantidade de dano que fez para comparar com outras no futuro."
Loc ["STRING_REPORT"] = "Details Relatorio do Cronometro"
Loc ["STRING_DAMAGEOVER"] = "de dano em"
+6
View File
@@ -29,9 +29,14 @@ function _G._detalhes:Start()
self.in_combat = false
self.combat_id = self.combat_id or 0
self.segments_amount = self.segments_amount or 3
self.segments_amount_to_save = self.segments_amount_to_save or 2
self.deadlog_limit = self.deadlog_limit or 12
self.minimum_combat_time = self.minimum_combat_time or 5
if (type (self.segments_panic_mode) ~= "boolean") then
self.segments_panic_mode = true
end
if (type (self.clear_graphic) ~= "boolean") then
self.clear_graphic = self.clear_graphic or true
end
@@ -84,6 +89,7 @@ function _G._detalhes:Start()
self.tutorial = self.tutorial or {}
self.tutorial.unlock_button = self.tutorial.unlock_button or 0
self.tutorial.version_announce = self.tutorial.version_announce or 0
self.tutorial.main_help_button = self.tutorial.main_help_button or 0
--> class colors and tcoords
if (not self.class_colors) then