|
|
|
|
|
|
|
|
|
|
|
|
|
|
local Details = _G.Details
|
|
|
|
|
local DF = _G.DetailsFramework
|
|
|
|
|
local Loc = _G.LibStub("AceLocale-3.0"):GetLocale("Details")
|
|
|
|
|
|
|
|
|
|
--> config bookmarks
|
|
|
|
|
function Details:OpenBookmarkConfig()
|
|
|
|
|
|
|
|
|
|
if (not _G.DetailsBookmarkManager) then
|
|
|
|
|
DF:CreateSimplePanel (UIParent, 465, 460, Loc ["STRING_OPTIONS_MANAGE_BOOKMARKS"], "DetailsBookmarkManager")
|
|
|
|
|
local panel = _G.DetailsBookmarkManager
|
|
|
|
|
DF:ApplyStandardBackdrop(panel)
|
|
|
|
|
panel:SetBackdropColor(.1, .1, .1, .9)
|
|
|
|
|
panel.blocks = {}
|
|
|
|
|
|
|
|
|
|
local clear_func = function (self, button, id)
|
|
|
|
|
if (Details.switch.table [id]) then
|
|
|
|
|
Details.switch.table [id].atributo = nil
|
|
|
|
|
Details.switch.table [id].sub_atributo = nil
|
|
|
|
|
panel:Refresh()
|
|
|
|
|
Details.switch:Update()
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
local select_attribute = function (_, _, _, attribute, sub_atribute)
|
|
|
|
|
if (not sub_atribute) then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
Details.switch.table [panel.selecting_slot].atributo = attribute
|
|
|
|
|
Details.switch.table [panel.selecting_slot].sub_atributo = sub_atribute
|
|
|
|
|
panel:Refresh()
|
|
|
|
|
Details.switch:Update()
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
local cooltip_color = {.1, .1, .1, .3}
|
|
|
|
|
local set_att = function (self, button, id)
|
|
|
|
|
panel.selecting_slot = id
|
|
|
|
|
GameCooltip:Reset()
|
|
|
|
|
GameCooltip:SetType (3)
|
|
|
|
|
GameCooltip:SetOwner (self)
|
|
|
|
|
Details:MontaAtributosOption (Details:GetInstance(1), select_attribute)
|
|
|
|
|
GameCooltip:SetColor (1, cooltip_color)
|
|
|
|
|
GameCooltip:SetColor (2, cooltip_color)
|
|
|
|
|
GameCooltip:SetOption ("HeightAnchorMod", -7)
|
|
|
|
|
GameCooltip:SetOption ("TextSize", Details.font_sizes.menus)
|
|
|
|
|
GameCooltip:SetBackdrop (1, Details.tooltip_backdrop, nil, Details.tooltip_border_color)
|
|
|
|
|
GameCooltip:SetBackdrop (2, Details.tooltip_backdrop, nil, Details.tooltip_border_color)
|
|
|
|
|
|
|
|
|
|
GameCooltip:ShowCooltip()
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
local button_backdrop = {bgFile = [[Interface\AddOns\Details\images\background]], tile = true, tileSize = 64, insets = {left=0, right=0, top=0, bottom=0}}
|
|
|
|
|
|
|
|
|
|
local set_onenter = function (self, capsule)
|
|
|
|
|
self:SetBackdropColor (1, 1, 1, 0.9)
|
|
|
|
|
capsule.icon:SetBlendMode ("ADD")
|
|
|
|
|
end
|
|
|
|
|
local set_onleave = function (self, capsule)
|
|
|
|
|
self:SetBackdropColor (0, 0, 0, 0.5)
|
|
|
|
|
capsule.icon:SetBlendMode ("BLEND")
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
for i = 1, 40 do
|
|
|
|
|
local clear = DF:CreateButton (panel, clear_func, 16, 16, nil, i, nil, [[Interface\Glues\LOGIN\Glues-CheckBox-Check]])
|
|
|
|
|
if (i%2 ~= 0) then
|
|
|
|
|
--impar
|
|
|
|
|
clear:SetPoint (15, (( i*10 ) * -1) - 35) --left
|
|
|
|
|
else
|
|
|
|
|
--par
|
|
|
|
|
local o = i-1
|
|
|
|
|
clear:SetPoint (250, (( o*10 ) * -1) - 35) --right
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
local set = DF:CreateButton (panel, set_att, 16, 16, nil, i)
|
|
|
|
|
set:SetPoint ("left", clear, "right")
|
|
|
|
|
set:SetPoint ("right", clear, "right", 180, 0)
|
|
|
|
|
set:SetBackdrop (button_backdrop)
|
|
|
|
|
set:SetBackdropColor (0, 0, 0, 0.5)
|
|
|
|
|
set:SetHook ("OnEnter", set_onenter)
|
|
|
|
|
set:SetHook ("OnLeave", set_onleave)
|
|
|
|
|
|
|
|
|
|
--set:InstallCustomTexture (nil, nil, nil, nil, true)
|
|
|
|
|
set:SetTemplate (DF:GetTemplate ("button", "OPTIONS_BUTTON_TEMPLATE"))
|
|
|
|
|
|
|
|
|
|
local bg_texture = DF:CreateImage (set, [[Interface\AddOns\Details\images\bar_skyline]], 135, 30, "background")
|
|
|
|
|
bg_texture:SetAllPoints()
|
|
|
|
|
set.bg = bg_texture
|
|
|
|
|
|
|
|
|
|
local icon = DF:CreateImage (set, nil, 16, 16, nil, nil, "icon")
|
|
|
|
|
icon:SetPoint ("left", clear, "right", 4, 0)
|
|
|
|
|
|
|
|
|
|
local label = DF:CreateLabel (set, "")
|
|
|
|
|
label:SetPoint ("left", icon, "right", 2, 0)
|
|
|
|
|
|
|
|
|
|
tinsert (panel.blocks, {icon = icon, label = label, bg = set.bg, button = set})
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
local normal_coords = {0, 1, 0, 1}
|
|
|
|
|
local unknown_coords = {157/512, 206/512, 39/512, 89/512}
|
|
|
|
|
|
|
|
|
|
function panel:Refresh()
|
|
|
|
|
local bookmarks = Details.switch.table
|
|
|
|
|
|
|
|
|
|
for i = 1, 40 do
|
|
|
|
|
local bookmark = bookmarks [i]
|
|
|
|
|
local this_block = panel.blocks [i]
|
|
|
|
|
if (bookmark and bookmark.atributo and bookmark.sub_atributo) then
|
|
|
|
|
if (bookmark.atributo == 5) then --> custom
|
|
|
|
|
local CustomObject = Details.custom [bookmark.sub_atributo]
|
|
|
|
|
if (not CustomObject) then --> ele j� foi deletado
|
|
|
|
|
this_block.label.text = "-- x -- x --"
|
|
|
|
|
this_block.icon.texture = "Interface\\ICONS\\Ability_DualWield"
|
|
|
|
|
this_block.icon.texcoord = normal_coords
|
|
|
|
|
this_block.bg:SetVertexColor (.4, .1, .1, .12)
|
|
|
|
|
else
|
|
|
|
|
this_block.label.text = CustomObject.name
|
|
|
|
|
this_block.icon.texture = CustomObject.icon
|
|
|
|
|
this_block.icon.texcoord = normal_coords
|
|
|
|
|
this_block.bg:SetVertexColor (.4, .4, .4, .6)
|
|
|
|
|
end
|
|
|
|
|
else
|
|
|
|
|
bookmark.atributo = bookmark.atributo or 1
|
|
|
|
|
bookmark.sub_atributo = bookmark.sub_atributo or 1
|
|
|
|
|
this_block.label.text = Details.sub_atributos [bookmark.atributo] and Details.sub_atributos [bookmark.atributo].lista [bookmark.sub_atributo]
|
|
|
|
|
this_block.icon.texture = Details.sub_atributos [bookmark.atributo] and Details.sub_atributos [bookmark.atributo].icones [bookmark.sub_atributo] [1]
|
|
|
|
|
this_block.icon.texcoord = Details.sub_atributos [bookmark.atributo] and Details.sub_atributos [bookmark.atributo].icones [bookmark.sub_atributo] [2]
|
|
|
|
|
this_block.bg:SetVertexColor (.4, .4, .4, .6)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
this_block.button:SetAlpha (1)
|
|
|
|
|
else
|
|
|
|
|
this_block.label.text = "-- x -- x --"
|
|
|
|
|
this_block.icon.texture = [[Interface\AddOns\Details\images\icons]]
|
|
|
|
|
this_block.icon.texcoord = unknown_coords
|
|
|
|
|
this_block.bg:SetVertexColor (.1, .1, .1, .12)
|
|
|
|
|
this_block.button:SetAlpha (0.3)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
local bookmarkFrame = _G.DetailsBookmarkManager
|
|
|
|
|
bookmarkFrame:Show()
|
|
|
|
|
bookmarkFrame:Refresh()
|
|
|
|
|
|
|
|
|
|
local optionsFrame = _G.DetailsOptionsWindow
|
|
|
|
|
if (optionsFrame) then
|
|
|
|
|
--parent is the plugin container
|
|
|
|
|
local currentOptionsScale = optionsFrame:GetParent():GetScale()
|
|
|
|
|
bookmarkFrame:SetScale(currentOptionsScale)
|
|
|
|
|
end
|
|
|
|
|
end
|