13.1.13.4.1. Tárolók#
A tárolók nem hordoznak saját értéket – más vezérlőket rendeznek el. Mindegyik a űrlap teljes szélességét kitölti, és a benne felsorolt vezérlők önálló űrlapként épülnek fel. Kettő van belőlük: a group egy feliratozott keretet rajzol, a tabs pedig egy fülsávot.
Minden vezérlő elfogadja a közös kulcsokat is (name, label, tooltip, enabled); lásd az áttekintés oldalt.
13.1.13.4.1.1. group#
Feliratozott keret vezérlők egy csoportja körül. Opcionálisan checkable, amely a fejlécet a benne lévő összes elem kapcsolójává alakítja.
{
"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 }
]
}
Argumentumok:
title (string) – a kereten megjelenő fejléc.
checkable (boolean, alapértelmezetten
false) – hatrue, a fejléc egy jelölőnégyzetet kap, amely engedélyezi vagy letiltja a kereten belüli összes vezérlőt, és amelynek saját be/ki állapota mentésre kerül.value (boolean, alapértelmezetten
true) – a fejléc jelölőnégyzetének kezdeti állapota. Csak akkor van jelentése, ha a checkable értéketrue.controls (array) – a kereten belül megjelenő vezérlők.
Ment: egy boolean értéket (a fejléc jelölőnégyzete), ha a checkable értéke true; egy egyszerű csoport önmagában semmit sem ment – csak a benne lévő vezérlők mentik az értékeiket.
13.1.13.4.1.2. tabs#
Egy fülsáv. Minden fül egy oldal a saját vezérlőlistájával, így egy hosszú űrlap felosztható Camera, Network, System és így tovább oldalakra.
{
"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" }
]
}
]
}
Argumentumok:
tab_position (string, alapértelmezetten
"north") – melyik élen helyezkedik el a fülsáv:"north","south","west"vagy"east".tabs (array) – a füloldalak, sorrendben. Minden oldal egy objektum a következőkkel:
title (string) – a fül felirata.
tooltip (string) – a fülhöz tartozó buboréksúgó szövege.
controls (array) – az adott oldalon megjelenő vezérlők.
Ment: önmagában semmit; az egyes oldalakon lévő vezérlők a saját értékeiket mentik.
13.1.13.4.1.3. Egymásba ágyazás#
Bármelyik vezérlő elhelyezhető bármelyik tárolóban, tetszőleges mélységig. Egy group tartalmazhat tabs elemet, egy füloldal tartalmazhat group kereteket, csoportok ágyazhatók csoportokba. Minden controls tömb – a legfelső szintű, egy csoporté és egy füloldalé – ugyanazokat a vezérlőobjektumokat fogadja el, így az ezeken az oldalakon leírt szabályok minden szinten egyformán érvényesek.
Egy fülbe ágyazott checkable group gyakori elrendezés: a fül tartalmaz egy funkciót, a csoport jelölőnégyzete be- vagy kikapcsolja a funkciót, a benne lévő vezérlők pedig konfigurálják azt.