mirror of
https://github.com/lifestorm/wnsrc.git
synced 2025-12-17 13:53:45 +03:00
Upload
This commit is contained in:
88
lua/vgui/ddrawer.lua
Normal file
88
lua/vgui/ddrawer.lua
Normal file
@@ -0,0 +1,88 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
|
||||
local PANEL = {}
|
||||
|
||||
AccessorFunc( PANEL, "m_iOpenSize", "OpenSize" )
|
||||
AccessorFunc( PANEL, "m_fOpenTime", "OpenTime" )
|
||||
|
||||
function PANEL:Init()
|
||||
|
||||
self.m_bOpened = false
|
||||
|
||||
self:SetOpenSize( 100 )
|
||||
self:SetOpenTime( 0.3 )
|
||||
self:SetPaintBackground( false )
|
||||
self:SetSize( 0, 0 )
|
||||
|
||||
self.ToggleButton = vgui.Create( "DButton", self:GetParent() )
|
||||
self.ToggleButton:SetSize( 16, 16 )
|
||||
self.ToggleButton:SetText( "::" )
|
||||
self.ToggleButton.DoClick = function()
|
||||
|
||||
self:Toggle()
|
||||
|
||||
end
|
||||
|
||||
self.ToggleButton.Think = function()
|
||||
|
||||
self.ToggleButton:CenterHorizontal()
|
||||
self.ToggleButton.y = self.y - 8
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
function PANEL:OnRemove()
|
||||
|
||||
self.ToggleButton:Remove()
|
||||
|
||||
end
|
||||
|
||||
function PANEL:Think()
|
||||
|
||||
local w, h = self:GetParent():GetSize()
|
||||
self:SetPos( 0, h - self:GetTall() )
|
||||
self:SetWide( w )
|
||||
|
||||
end
|
||||
|
||||
function PANEL:Toggle()
|
||||
|
||||
if ( self.m_bOpened ) then
|
||||
self:Close()
|
||||
else
|
||||
self:Open()
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
function PANEL:Open()
|
||||
|
||||
if ( self.m_bOpened == true ) then return end
|
||||
|
||||
self.m_bOpened = true
|
||||
self:SizeTo( self:GetWide(), self.m_iOpenSize, self.m_fOpenTime )
|
||||
self.ToggleButton:MoveToFront()
|
||||
|
||||
end
|
||||
|
||||
function PANEL:Close()
|
||||
|
||||
if ( self.m_bOpened == false ) then return end
|
||||
|
||||
self.m_bOpened = false
|
||||
self:SizeTo( self:GetWide(), 0, self.m_fOpenTime )
|
||||
self.ToggleButton:MoveToFront()
|
||||
|
||||
end
|
||||
|
||||
derma.DefineControl( "DDrawer", "", PANEL, "DPanel" )
|
||||
Reference in New Issue
Block a user