13.1.13.4.1. Kapsayıcılar#
Kapsayıcılar kendilerine ait bir değer tutmaz – diğer denetimleri düzenlerler. Her biri formun tüm genişliğini kaplar ve içinde listelenen denetimler kendi başına bir form olarak oluşturulur. İki tanesi vardır: group etiketli bir kutu çizer ve tabs bir sekme şeridi çizer.
Tüm kontroller ayrıca ortak anahtarları (name, label, tooltip, enabled) kabul eder; bkz. genel bakış.
13.1.13.4.1.1. group#
Bir denetim kümesinin etrafında etiketli bir kutu. İsteğe bağlı olarak checkable, ki bu başlığı içindeki her şey için bir anahtara dönüştürür.
{
"type": "group",
"title": "Wi-Fi",
"checkable": true,
"name": "wifi_enabled",
"value": true,
"controls": [
{ "type": "lineedit", "name": "ssid", "label": "SSID" },
{ "type": "lineedit", "name": "password", "label": "Password", "password": true }
]
}
Bağımsız değişkenler:
title (string) – kutuda gösterilen başlık.
checkable (boolean, varsayılan
false) –trueolduğunda, başlık kutunun içindeki her denetimi etkinleştiren veya devre dışı bırakan ve kendi açık/kapalı durumu kaydedilen bir onay kutusu taşır.value (boolean, varsayılan
true) – o başlık onay kutusunun başlangıç durumu. Yalnızca checkabletrueolduğunda anlamlıdır.controls (array) – kutunun içinde gösterilen denetimler.
Kaydeder: checkable true olduğunda bir boolean (başlık onay kutusu); düz bir grup kendine ait hiçbir şey kaydetmez – yalnızca içindeki denetimler değerlerini kaydeder.
13.1.13.4.1.2. tabs#
Bir sekme şeridi. Her sekme kendi denetim listesine sahip bir sayfadır, böylece uzun bir form Camera, Network, System vb. arasında bölünebilir.
{
"type": "tabs",
"tab_position": "north",
"tabs": [
{
"title": "Camera",
"tooltip": "Sensor settings",
"controls": [
{ "type": "slider", "name": "gain", "label": "Gain" }
]
},
{
"title": "Network",
"controls": [
{ "type": "lineedit", "name": "hostname", "label": "Hostname" }
]
}
]
}
Bağımsız değişkenler:
tab_position (string, varsayılan
"north") – sekme çubuğunun hangi kenarda durduğu:"north","south","west"veya"east".tabs (array) – sekme sayfaları, sırayla. Her sayfa şunları içeren bir nesnedir:
title (string) – sekmenin etiketi.
tooltip (string) – sekme için üzerine gelme metni.
controls (array) – o sayfada gösterilen denetimler.
Kaydeder: kendine ait hiçbir şey; her sayfadaki denetimler kendi değerlerini kaydeder.
13.1.13.4.1.3. İç İçe Yerleştirme#
Herhangi bir denetim, herhangi bir derinlikte herhangi bir kapsayıcının içine girebilir. Bir group bir tabs içerebilir, bir sekme sayfası group kutuları içerebilir, gruplar grupların içine iç içe yerleştirilebilir. Her controls dizisi – en üst düzeydeki, bir grubunki ve bir sekme sayfasınınki – aynı denetim nesnelerini alır, dolayısıyla bu sayfalardaki kurallar her düzeyde aynı şekilde geçerlidir.
Bir sekmenin içine iç içe yerleştirilmiş işaretlenebilir bir group yaygın bir düzendir: sekme bir özelliği tutar, grubun onay kutusu özelliği açar veya kapatır ve içindeki denetimler onu yapılandırır.