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.
82 lines
2.1 KiB
82 lines
2.1 KiB
---@type Diesal.GUI
|
|
local DiesalGUI = LibStub("DiesalGUI-2.0")
|
|
---@type Diesal.Tools
|
|
local DiesalTools = LibStub("DiesalTools-2.0")
|
|
---@type Diesal.Style
|
|
local DiesalStyle = LibStub("DiesalStyle-2.0")
|
|
|
|
local Type = "DiesalAccordian"
|
|
|
|
local Version = 2
|
|
|
|
---@type Diesal.Style.Stylesheet
|
|
local Stylesheet = {
|
|
["frame-background"] = {
|
|
type = "texture",
|
|
color = "FF0000",
|
|
},
|
|
}
|
|
|
|
---@class Diesal.GUI.Accordian.Methods
|
|
local methods = {
|
|
|
|
---@param self DiesalAccordian
|
|
OnAcquire = function(self)
|
|
-- self:SetStylesheet(Stylesheet)
|
|
-- self:SetStylesheet(wireFrameSheet)
|
|
self:ResetSettings(true)
|
|
self:Show()
|
|
end,
|
|
|
|
---@param self DiesalAccordian
|
|
OnRelease = function(self) end,
|
|
|
|
---@param self DiesalAccordian
|
|
ApplySettings = function(self) end,
|
|
|
|
---@param self DiesalAccordian
|
|
CollapseAll = function(self)
|
|
for i = 1, #self.children do
|
|
self.children[i]:Collapse()
|
|
end
|
|
end,
|
|
|
|
---@param self DiesalAccordian
|
|
ExpandAll = function(self)
|
|
for i = 1, #self.children do
|
|
self.children[i]:Expand()
|
|
end
|
|
end,
|
|
}
|
|
|
|
---@class DiesalAccordian : Diesal.GUI.Object.Accordian
|
|
|
|
local function Constructor()
|
|
---@class Diesal.GUI.Object.Accordian : Diesal.GUI.ObjectBase, Diesal.GUI.Accordian.Methods
|
|
---@field content Frame
|
|
---@field children DiesalAccordianSection[]
|
|
local self = DiesalGUI:Create(Type, true)
|
|
self.isContainer = true
|
|
|
|
---@class SelfFrame
|
|
local frame = CreateFrame("Frame", nil, DiesalGUI.UIParent)
|
|
|
|
self.frame = frame
|
|
self.defaults = {}
|
|
-- Events
|
|
-- OnAcquire, OnRelease, OnHeightSet, OnWidthSet
|
|
-- OnHeightChange
|
|
|
|
local content = self:CreateRegion("Frame", "content", frame)
|
|
content:SetAllPoints()
|
|
|
|
-- ~~ Methods ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
self:SetMethods(methods)
|
|
--[[ for method, func in pairs(methods) do
|
|
self[method] = func
|
|
end ]]
|
|
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
self:SetObj(self.frame)
|
|
return self
|
|
end
|
|
DiesalGUI:RegisterObjectConstructor(Type, Constructor, Version)
|
|
|