mirror of
https://github.com/lifestorm/wnsrc.git
synced 2025-12-17 21:53:46 +03:00
Upload
This commit is contained in:
81
lua/vgui/dcategorylist.lua
Normal file
81
lua/vgui/dcategorylist.lua
Normal file
@@ -0,0 +1,81 @@
|
||||
--[[
|
||||
| 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.pnlCanvas:DockPadding( 2, 2, 2, 2 )
|
||||
|
||||
end
|
||||
|
||||
function PANEL:AddItem( item )
|
||||
|
||||
item:Dock( TOP )
|
||||
DScrollPanel.AddItem( self, item )
|
||||
self:InvalidateLayout()
|
||||
|
||||
end
|
||||
|
||||
function PANEL:Add( name )
|
||||
|
||||
local Category = vgui.Create( "DCollapsibleCategory", self )
|
||||
Category:SetLabel( name )
|
||||
Category:SetList( self )
|
||||
|
||||
self:AddItem( Category )
|
||||
|
||||
return Category
|
||||
|
||||
end
|
||||
|
||||
function PANEL:Paint( w, h )
|
||||
|
||||
derma.SkinHook( "Paint", "CategoryList", self, w, h )
|
||||
return false
|
||||
|
||||
end
|
||||
|
||||
function PANEL:UnselectAll()
|
||||
|
||||
for k, v in ipairs( self:GetChildren() ) do
|
||||
|
||||
if ( v.UnselectAll ) then
|
||||
v:UnselectAll()
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
function PANEL:GenerateExample( ClassName, PropertySheet, Width, Height )
|
||||
|
||||
local ctrl = vgui.Create( ClassName )
|
||||
ctrl:SetSize( 300, 300 )
|
||||
|
||||
local Cat = ctrl:Add( "Test category with text contents" )
|
||||
Cat:Add( "Item 1" )
|
||||
Cat:Add( "Item 2" )
|
||||
|
||||
-- The contents can be any panel, even a DPanelList
|
||||
local Cat2 = ctrl:Add( "Test category with panel contents" )
|
||||
Cat2:SetTall( 100 )
|
||||
local Contents = vgui.Create( "DButton" )
|
||||
Contents:SetText( "This is the content of the category" )
|
||||
Cat2:SetContents( Contents )
|
||||
|
||||
ctrl:InvalidateLayout( true )
|
||||
|
||||
PropertySheet:AddSheet( ClassName, ctrl, nil, true, true )
|
||||
|
||||
end
|
||||
|
||||
derma.DefineControl( "DCategoryList", "", PANEL, "DScrollPanel" )
|
||||
Reference in New Issue
Block a user