You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
287 lines
6.5 KiB
287 lines
6.5 KiB
-- ========================================================================= --
|
|
-- SylingTracker --
|
|
-- https://www.curseforge.com/wow/addons/sylingtracker --
|
|
-- --
|
|
-- Repository: --
|
|
-- https://github.com/Skamer/SylingTracker --
|
|
-- --
|
|
-- ========================================================================= --
|
|
Syling "SylingTracker.UI.Badge" ""
|
|
-- ========================================================================= --
|
|
namespace "SLT"
|
|
-- ========================================================================= --
|
|
-- Helper function for resetting the styles
|
|
ClearStyles = Utils.ClearStyles
|
|
|
|
ResetStyles = Utils.ResetStyles
|
|
|
|
__Recyclable__ "SylingTracker_IconBadge%d"
|
|
class "IconBadge" (function(_ENV)
|
|
inherit "Frame"
|
|
|
|
function OnRelease(self)
|
|
self:Hide()
|
|
self:ClearAllPoints()
|
|
self:SetParent()
|
|
|
|
ResetStyles(self, true)
|
|
end
|
|
|
|
function OnAcquire(self)
|
|
self:Show()
|
|
end
|
|
|
|
__Template__{
|
|
Icon = Texture
|
|
}
|
|
function __ctor(self) end
|
|
|
|
end)
|
|
|
|
__Recyclable__ "SylingTracker_TextBadge%d"
|
|
class "TextBadge" (function(_ENV)
|
|
inherit "Frame"
|
|
|
|
function OnRelease(self)
|
|
self:Hide()
|
|
self:ClearAllPoints()
|
|
self:SetParent()
|
|
|
|
ResetStyles(self, true)
|
|
end
|
|
|
|
function OnAcquire(self)
|
|
self:Show()
|
|
end
|
|
|
|
__Template__ {
|
|
Label = SLTFontString
|
|
}
|
|
function __ctor(self) end
|
|
end)
|
|
|
|
__Recyclable__ "SylingTracker_Badge%d"
|
|
class "Badge" (function(_ENV)
|
|
inherit "Frame"
|
|
|
|
function OnRelease(self)
|
|
self:Hide()
|
|
self:ClearAllPoints()
|
|
self:SetParent()
|
|
|
|
ResetStyles(self, true)
|
|
end
|
|
|
|
function OnAcquire(self)
|
|
self:Show()
|
|
end
|
|
|
|
__Template__ {
|
|
Icon = Texture,
|
|
Label = SLTFontString
|
|
}
|
|
function __ctor(self) end
|
|
end)
|
|
|
|
|
|
-- class "Badge" (function(_ENV)
|
|
-- inherit "Frame"
|
|
|
|
-- _Recycler = Recycle(Badge, "SylingTracker_Badge%d")
|
|
|
|
-- local function HideLabelHandler(self, new, old, prop)
|
|
-- local labelFrame = self:GetChild("Label")
|
|
|
|
-- if not new then
|
|
-- ClearStyles(labelFrame, self.HideTextStyles)
|
|
-- labelFrame:Show()
|
|
-- return
|
|
-- end
|
|
|
|
-- local styles = self.HideTextStyles
|
|
-- if new and styles then
|
|
-- Style[self] = styles
|
|
-- labelFrame:Hide()
|
|
-- end
|
|
-- end
|
|
|
|
-- local function HideIconHandler(self, new, old, prop)
|
|
-- local iconFrame = self:GetChild("Icon")
|
|
|
|
-- if not new then
|
|
-- ClearStyles(iconFrame, self.HideIconStyles)
|
|
-- iconFrame:Show()
|
|
-- return
|
|
-- end
|
|
|
|
-- local styles = self.HideIconStyles
|
|
-- if new and styles then
|
|
-- Style[self] = styles
|
|
-- iconFrame:Hide()
|
|
-- end
|
|
-- end
|
|
-- -----------------------------------------------------------------------------
|
|
-- -- Methods --
|
|
-- -----------------------------------------------------------------------------
|
|
-- function Release(self)
|
|
-- self:ClearAllPoints()
|
|
-- self:SetParent()
|
|
-- self:Hide()
|
|
|
|
-- _Recycler(self)
|
|
-- end
|
|
|
|
-- __Static__() function Acquire(self)
|
|
-- local obj = _Recycler()
|
|
-- obj:Show()
|
|
|
|
-- return obj
|
|
-- end
|
|
|
|
-- -----------------------------------------------------------------------------
|
|
-- -- Properties --
|
|
-- -----------------------------------------------------------------------------
|
|
-- property "HideLabel" {
|
|
-- type = Boolean,
|
|
-- default = false,
|
|
-- handler = HideLabelHandler
|
|
-- }
|
|
|
|
-- property "HideIcon" {
|
|
-- type = Boolean,
|
|
-- default = false,
|
|
-- handler = HideIconHandler
|
|
-- }
|
|
|
|
-- property "HideIconStyles" {
|
|
-- type = Table
|
|
-- }
|
|
|
|
-- property "HideTextStyles" {
|
|
-- type = Table
|
|
-- }
|
|
|
|
-- __Template__ {
|
|
-- Label = SLTFontString,
|
|
-- Icon = Texture
|
|
-- }
|
|
-- function __ctor() end
|
|
|
|
-- end)
|
|
|
|
|
|
Style.UpdateSkin("Default", {
|
|
[Badge] = {
|
|
height = 24,
|
|
width = 30,
|
|
|
|
Icon = {
|
|
height = 16,
|
|
width = 16,
|
|
|
|
location = {
|
|
Anchor("LEFT", 5, 0)
|
|
}
|
|
},
|
|
|
|
Label = {
|
|
sharedMediaFont = FontType("PT Sans Caption Bold", 10),
|
|
shadowOffset = { x = 0.5, y = 0},
|
|
shadowColor = Color(0, 0, 0, 1),
|
|
|
|
location = {
|
|
Anchor("TOP"),
|
|
Anchor("LEFT", 5, 0, "Icon", "RIGHT"),
|
|
Anchor("RIGHT"),
|
|
Anchor("BOTTOM")
|
|
}
|
|
}
|
|
},
|
|
|
|
[IconBadge] = {
|
|
height = 24,
|
|
width = 24,
|
|
Icon = {
|
|
setAllPoints = true
|
|
},
|
|
},
|
|
|
|
[TextBadge] = {
|
|
height = 16,
|
|
width = 30,
|
|
|
|
Label = {
|
|
sharedMediaFont = FontType("PT Sans Caption Bold", 10),
|
|
shadowOffset = { x = 0.5, y = 0},
|
|
shadowColor = Color(0, 0, 0, 1),
|
|
setAllPoints = true
|
|
}
|
|
},
|
|
})
|
|
|
|
|
|
-- Style.UpdateSkin("Default", {
|
|
-- [Badge] = {
|
|
-- height = 16,
|
|
-- width = 30,
|
|
-- backdrop = {
|
|
-- bgFile = [[Interface\AddOns\SylingTracker\Media\Textures\LinearGradient]]
|
|
-- },
|
|
-- backdropColor = { r = 160/255, g = 160/255, b = 160/255, a = 0.5},
|
|
|
|
-- Icon = {
|
|
-- atlas = AtlasType("groupfinder-icon-greencheckmark"),
|
|
-- size = Size(10, 10),
|
|
-- location = {
|
|
-- Anchor("LEFT")
|
|
-- }
|
|
-- },
|
|
-- Label = {
|
|
-- font = FontType([[Interface\AddOns\SylingTracker\Media\Fonts\PTSans-Caption-Bold.ttf]], 10),
|
|
-- shadowOffset = { x = 0.5, y = 0},
|
|
-- shadowColor = Color(0, 0, 0, 1),
|
|
-- location = {
|
|
-- Anchor("TOP"),
|
|
-- Anchor("LEFT", 0, 0, "Icon", "RIGHT"),
|
|
-- Anchor("BOTTOM"),
|
|
-- Anchor("RIGHT")
|
|
-- }
|
|
-- },
|
|
|
|
-- HideIconStyles = {
|
|
-- Label = {
|
|
-- setAllPoints = true,
|
|
-- justifyV = "MIDDLE",
|
|
-- justifyH = "CENTER"
|
|
-- }
|
|
-- },
|
|
|
|
-- HideTextStyles = {
|
|
-- Icon = {
|
|
-- location = {
|
|
-- Anchor("CENTER")
|
|
-- }
|
|
-- }
|
|
-- }
|
|
|
|
-- }
|
|
-- })
|
|
|
|
|
|
|
|
-- Style.UpdateSkin("Default", {
|
|
-- [IconBadge] ={
|
|
-- backdrop = {
|
|
-- bgFile = [[Interface\AddOns\SylingTracker\Media\Textures\LinearGradient]]
|
|
-- },
|
|
-- Icon = {
|
|
-- setAllPoints = true
|
|
-- }
|
|
-- },
|
|
-- [TextBadge] = {
|
|
-- backdrop = {
|
|
-- bgFile = [[Interface\AddOns\SylingTracker\Media\Textures\LinearGradient]]
|
|
-- },
|
|
-- Text
|
|
-- }
|
|
-- })
|