59 lines
1.4 KiB
Plaintext
59 lines
1.4 KiB
Plaintext
function gui:newTabFrame(name, x, y, w, h, sx ,sy ,sw ,sh)
|
|
local c=gui:newFrame(name, x, y, w, h, sx ,sy ,sw ,sh)
|
|
c.tabheight=20
|
|
c.Holder=c:newFrame("Holder",0,c.tabheight,0,0,0,0,1,1)
|
|
c.TabHolder=c:newFrame("TabHolder",0,0,0,c.tabheight,0,0,1)
|
|
function c:setTabHeight(n)
|
|
self.tabheight=n
|
|
self.Holder:SetDualDim(0,-self.tabheight,0,0,0,0,1,1)
|
|
end
|
|
function c:addTab(name,colorT,colorH)
|
|
if colorT and not(colorH) then
|
|
colorH=colorT
|
|
end
|
|
local tab=self.TabHolder:newTextButton(name,name,0,0,0,0,0,0,0,1)
|
|
tab.Tween=-3
|
|
if colorT then
|
|
tab.Color=colorT
|
|
end
|
|
local holder=self.Holder:newFrame(name,0,0,0,0,0,0,1,1)
|
|
if colorH then
|
|
holder.Color=colorH
|
|
end
|
|
tab.frame=holder
|
|
tab:OnReleased(function(b,self)
|
|
if b=="l" then
|
|
local tt=self.Parent:getChildren()
|
|
local th=self.Parent.Parent.Holder:getChildren()
|
|
for i=1,#th do
|
|
th[i].Visible=false
|
|
end
|
|
for i=1,#tt do
|
|
tt[i].frame.Visible=false
|
|
tt[i].BorderSize=1
|
|
end
|
|
self.BorderSize=0
|
|
self.frame.Visible=true
|
|
end
|
|
end)
|
|
local tt=self.TabHolder:getChildren()
|
|
for i=1,#tt do
|
|
tt[i].frame.Visible=false
|
|
tt[i].BorderSize=1
|
|
end
|
|
tab.frame.Visible=true
|
|
tab.BorderSize=0
|
|
return tab,holder
|
|
end
|
|
c:OnUpdate(function(self)
|
|
local th=self.TabHolder:getChildren()
|
|
local l=self.width/#th
|
|
for i=1,#th do
|
|
th[i]:SetDualDim(l*(i-1),0,l)
|
|
end
|
|
if #th==0 then
|
|
self:Destroy()
|
|
end
|
|
end)
|
|
return c
|
|
end |