Garry's Mod Wiki

Revision Difference

DIconLayout#552307

<panel> <parent>DDragBase</parent> <realm>Client and Menu</realm> <description> DIconLayout is what replaced <page>DPanelList</page> in Garry's Mod 13. DPanelList still exists in GMod but is deprecated and does not support the new GWEN skin. ⤶ <page>DIconLayout</page> is used to make a list of panels. Unlike DPanelList, DIconLayout does not automatically add a scroll bar - the example below shows you how you can do this. DIconLayout is what replaced <page>DPanelList</page> in Garry's Mod 13. DPanelList still exists in GMod but is deprecated and does not support the new GWEN skin. ⤶ <page>DIconLayout</page> is used to make a list of panels. ⤶ Unlike DPanelList, DIconLayout does not automatically add a scroll bar - the example below shows you how you can do this.⤶ </description> </panel> <example> <code> local Frame = vgui.Create( "DFrame" ) -- Create a Frame to contain everything. Frame:SetTitle( "DIconLayout Example" ) Frame:SetSize( 365, 240 ) Frame:Center() Frame:MakePopup() local Scroll = vgui.Create( "DScrollPanel", Frame ) -- Create the Scroll panel Scroll:Dock( FILL ) local List = vgui.Create( "DIconLayout", Scroll ) List:Dock( FILL ) List:SetSpaceY( 5 ) -- Sets the space in between the panels on the Y Axis by 5 List:SetSpaceX( 5 ) -- Sets the space in between the panels on the X Axis by 5 for i = 1, 20 do -- Make a loop to create a bunch of panels inside of the DIconLayout local ListItem = List:Add( "DPanel" ) -- Add DPanel to the DIconLayout ListItem:SetSize( 80, 40 ) -- Set the size of it -- You don't need to set the position, that is done automatically. end local ListLabel = List:Add( "DLabel" ) -- Add a label that will be the only panel on its row ListLabel.OwnLine = true -- The magic variable that specifies this item has its own line all for itself ListLabel:SetText( "Hello World!" ) for i = 1, 5 do local ListItem = List:Add( "DPanel" ) ListItem:SetSize( 80, 40 ) end </code> <output><image src="DIconLayout.png"/></output> </example>