Files
wnsrc/lua/vgui/dlistlayout.lua
lifestorm 94063e4369 Upload
2024-08-04 22:55:00 +03:00

79 lines
1.2 KiB
Lua

--[[
| 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 = {}
function PANEL:Init()
self:SetDropPos( "82" )
end
function PANEL:OnModified()
-- Override me
end
function PANEL:OnChildRemoved()
self:InvalidateLayout()
end
function PANEL:PerformLayout()
self:SizeToChildren( false, true )
end
function PANEL:OnChildAdded( child )
child:Dock( TOP )
local dn = self:GetDnD()
if ( dn ) then
child:Droppable( self:GetDnD() )
end
if ( self:IsSelectionCanvas() ) then
child:SetSelectable( true )
end
end
function PANEL:GenerateExample( ClassName, PropertySheet, Width, Height )
local pnl = vgui.Create( ClassName )
pnl:MakeDroppable( "ExampleDraggable", false )
pnl:SetSize( 200, 200 )
for i = 1, 5 do
local btn = pnl:Add( "DButton" )
btn:SetText( "Button " .. i )
end
for i = 1, 5 do
local btn = pnl:Add( "DLabel" )
btn:SetText( "Label " .. i )
btn:SetMouseInputEnabled( true )
end
PropertySheet:AddSheet( ClassName, pnl, nil, true, true )
end
derma.DefineControl( "DListLayout", "", PANEL, "DDragBase" )