# DIconLayout

- **Ortam:** İstemci, Menü
- **İngilizce aslı:** https://wiki.facepunch.com/gmod/DIconLayout
- **Çeviri tarihi:** 2025-09-08

## Açıklama

DIconLayout, Garry's Mod 13'te [DPanelList](https://gmod.tr/wiki/DPanelList)'in yerini alan unsurdur. DPanelList, GMod'da hala mevcuttur ancak kullanımdan kaldırılmıştır ve yeni GWEN arayüzünü desteklememektedir.

[DIconLayout](https://gmod.tr/wiki/DIconLayout), bir panel listesi oluşturmak için kullanılır. DPanelList'in aksine, DIconLayout otomatik olarak bir kaydırma çubuğu eklemez - aşağıdaki örnek bunu nasıl yapabileceğinizi gösterir.

[Kaynağı görüntüle](https://github.com/Facepunch/garrysmod/blob/master/garrysmod/lua/vgui/diconlayout.lua)

## Ebeveyn

Bu sayfada listelenmeyen metotları vb. [DDragBase](https://gmod.tr/wiki/DDragBase)'den miras alır.

## Olaylar

DIconLayout:[OnModified](https://gmod.tr/wiki/DIconLayout:OnModified)()

Panel değiştirildiğinde çağrılır.

## Metotlar

[Panel](https://gmod.tr/wiki/Panel) DIconLayout:[Copy](https://gmod.tr/wiki/DIconLayout:Copy)()

Üzerinde çağrıldığı DIconLayout'un bir kopyasını oluşturur.

DIconLayout:[CopyContents](https://gmod.tr/wiki/DIconLayout:CopyContents)( [Panel](https://gmod.tr/wiki/Panel) from )

Başka bir DIconLayout'un içeriğini (alt elemanlarını) kendisine kopyalar.

[number](https://gmod.tr/wiki/number) DIconLayout:[GetBorder](https://gmod.tr/wiki/DIconLayout:GetBorder)()

Kenarlığın boyutunu döndürür.

[number](https://gmod.tr/wiki/number) DIconLayout:[GetLayoutDir](https://gmod.tr/wiki/DIconLayout:GetLayoutDir)()

DOCK sıralamalarını kullanarak düzenleneceği yönü döndürür.

[number](https://gmod.tr/wiki/number) DIconLayout:[GetSpaceX](https://gmod.tr/wiki/DIconLayout:GetSpaceX)()

X eksenindeki iki 'ikon' arasındaki mesafeyi döndürür.

[number](https://gmod.tr/wiki/number) DIconLayout:[GetSpaceY](https://gmod.tr/wiki/DIconLayout:GetSpaceY)()

Y eksenindeki iki "İkon" arasındaki mesafeyi döndürür.

[boolean](https://gmod.tr/wiki/boolean) DIconLayout:[GetStretchHeight](https://gmod.tr/wiki/DIconLayout:GetStretchHeight)()

İkon düzeninin, tüm alt elemanlara sığacak şekilde yüksekliğini esnetip esnetmeyeceğini döndürür. Ayrıca bakınız: DIconLayout:GetStretchWidth

[boolean](https://gmod.tr/wiki/boolean) DIconLayout:[GetStretchWidth](https://gmod.tr/wiki/DIconLayout:GetStretchWidth)()

İkon düzeninin, tüm alt elemanlara sığacak şekilde genişliğini esnetip esnetmeyeceğini döndürür. Ayrıca bakınız: DIconLayout:GetStretchHeight

DIconLayout:[Layout](https://gmod.tr/wiki/DIconLayout:Layout)()

Panel:InvalidateLayout çağrılmadan önce düzen değişkenlerini sıfırlar. Bu, alt elemanlar eklendiğinde veya kaldırıldığında çağrılır ve aralık, kenarlık veya düzen yönü değiştirildiğinde çağrılmalıdır.

DIconLayout:[LayoutIcons_LEFT](https://gmod.tr/wiki/DIconLayout:LayoutIcons_LEFT)()

Bu dahili olarak kullanılır - kullanabiliyor olsanız da muhtemelen kullanmamalısınız. DIconLayout:SetLayoutDir, LEFT (Bkz. DOCK enum) olarak ayarlandıysa, alt elemanları düzenlemek için dahili olarak kullanılır.

DIconLayout:[LayoutIcons_TOP](https://gmod.tr/wiki/DIconLayout:LayoutIcons_TOP)()

Bu dahili olarak kullanılır - kullanabiliyor olsanız da muhtemelen kullanmamalısınız. DIconLayout:SetLayoutDir, TOP (Bkz. DOCK enum) olarak ayarlandıysa, alt elemanları düzenlemek için dahili olarak kullanılır.

DIconLayout:[SetBorder](https://gmod.tr/wiki/DIconLayout:SetBorder)( [number](https://gmod.tr/wiki/number) width )

DIconLayout içindeki dahili kenarlığı (iç boşluk) ayarlar. Bu, panelin boyutunu değil, sadece alt elemanların konumlandırılmasını değiştirir. Değişikliklerin etkili olması için DIconLayout:Layout'u çağırmalısınız.

DIconLayout:[SetLayoutDir](https://gmod.tr/wiki/DIconLayout:SetLayoutDir)( [number](https://gmod.tr/wiki/number) direction )

DOCK enum'unu kullanarak düzenleneceği yönü ayarlar. Şu anda yalnızca TOP ve LEFT desteklenmektedir.

DIconLayout:[SetSpaceX](https://gmod.tr/wiki/DIconLayout:SetSpaceX)( [number](https://gmod.tr/wiki/number) xSpacing )

DIconLayout içindeki alt elemanlar arasındaki yatay (x) boşluğu ayarlar. Değişikliklerin etkili olması için DIconLayout:Layout'u çağırmalısınız.

DIconLayout:[SetSpaceY](https://gmod.tr/wiki/DIconLayout:SetSpaceY)( [number](https://gmod.tr/wiki/number) ySpacing )

DIconLayout içindeki alt elemanlar arasındaki dikey (y) boşluğu ayarlar. Değişikliklerin etkili olması için DIconLayout:Layout'u çağırmalısınız.

DIconLayout:[SetStretchHeight](https://gmod.tr/wiki/DIconLayout:SetStretchHeight)( [boolean](https://gmod.tr/wiki/boolean) do_stretch )

Eğer true olarak ayarlanırsa, ikon düzeni tüm alt elemanlara sığacak şekilde yüksekliğini esnetir. Ayrıca bakınız: DIconLayout:SetStretchWidth

DIconLayout:[SetStretchWidth](https://gmod.tr/wiki/DIconLayout:SetStretchWidth)( [boolean](https://gmod.tr/wiki/boolean) stretchW )

Eğer true olarak ayarlanırsa, ikon düzeni tüm alt elemanlara sığacak şekilde genişliğini esnetir. Ayrıca bakınız: DIconLayout:SetStretchHeight

### Örnek

```lua
local Frame = vgui.Create( "DFrame" ) -- Her şeyi içermesi için bir Çerçeve (Frame) oluştur.
Frame:SetTitle( "DIconLayout Örneği" )
Frame:SetSize( 365, 240 )
Frame:Center()
Frame:MakePopup()

local Scroll = vgui.Create( "DScrollPanel", Frame ) -- Kaydırma panelini (Scroll panel) oluştur.
Scroll:Dock( FILL )

local List = vgui.Create( "DIconLayout", Scroll )
List:Dock( FILL )
List:SetSpaceY( 5 ) -- Paneller arasındaki dikey boşluğu 5 olarak ayarlar.
List:SetSpaceX( 5 ) -- Paneller arasındaki yatay boşluğu 5 olarak ayarlar.

for i = 1, 20 do -- DIconLayout içinde bir dizi panel oluşturmak için bir döngü yap.
	local ListItem = List:Add( "DPanel" ) -- DIconLayout'a bir DPanel ekle.
	ListItem:SetSize( 80, 40 ) -- Boyutunu ayarla.
	-- Konumu ayarlamanıza gerek yok, bu işlem otomatik olarak yapılır.
end

local ListLabel = List:Add( "DLabel" ) -- Kendi satırında tek başına duracak bir etiket ekle.
ListLabel.OwnLine = true -- Bu öğenin kendine ait bir satırı olmasını sağlayan sihirli değişken.
ListLabel:SetText( "Merhaba Dünya!" )

for i = 1, 5 do
	local ListItem = List:Add( "DPanel" )
	ListItem:SetSize( 80, 40 )
end
```

**Çıktı:** ![](https://gmod.tr/api/uploads/wiki/c75c1f80ed7186aeca26.png)

- [GMod Wiki ana sayfası](https://gmod.tr/wiki)

---

[Tüm sunucular](https://gmod.tr/) · [GmodTR Launcher](https://gmod.tr/launcher) · [Rehber](https://gmod.tr/rehber) · [GMod Wiki](https://gmod.tr/wiki) · [GmodTR nedir?](https://gmod.tr/hakkinda) · [Sunucu ekle](https://gmod.tr/sunucu-ekle) · [Discord](https://discord.gg/gmodtr)

Kaynak: https://gmod.tr/wiki/DIconLayout
