13.1.13.4.1. Spremnici#
Spremnici ne sadrže vlastitu vrijednost – oni organiziraju druge kontrole. Svaki se proteže cijelom širinom obrasca, a kontrole navedene unutar njega izgrađene su kao zaseban obrazac. Postoje dva: group crta okvir s oznakom, a tabs crta traku kartica.
Sve kontrole također prihvaćaju uobičajene ključeve (name, label, tooltip, enabled); pogledajte pregled.
13.1.13.4.1.1. group#
Okvir s oznakom oko skupa kontrola. Opcionalno checkable, čime se naslov pretvara u prekidač za sve unutar njega.
{
"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 }
]
}
Argumenti:
title (niz znakova) – naslov prikazan na okviru.
checkable (boolean, zadano
false) – kada jetrue, naslov nosi potvrdni okvir koji omogućuje ili onemogućuje svaku kontrolu unutar okvira i čije se vlastito uključeno/isključeno stanje sprema.value (boolean, zadano
true) – početno stanje tog potvrdnog okvira naslova. Ima smisla samo kada je checkabletrue.controls (polje) – kontrole prikazane unutar okvira.
Sprema: boolean (potvrdni okvir naslova) kada je checkable true; obična grupa ne sprema ništa svoje – samo kontrole unutar nje spremaju svoje vrijednosti.
13.1.13.4.1.2. tabs#
Traka kartica. Svaka kartica je stranica s vlastitim popisom kontrola, pa se dugačak obrazac može podijeliti na Camera, Network, System i tako dalje.
{
"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" }
]
}
]
}
Argumenti:
tab_position (niz znakova, zadano
"north") – na kojem rubu se nalazi traka kartica:"north","south","west"ili"east".tabs (polje) – stranice kartica, redom. Svaka stranica je objekt s:
title (niz znakova) – oznaka kartice.
tooltip (niz znakova) – tekst koji se prikazuje pri prelasku mišem preko kartice.
controls (polje) – kontrole prikazane na toj stranici.
Sprema: ništa svoje; kontrole na svakoj stranici spremaju svoje vrijednosti.
13.1.13.4.1.3. Ugnježđivanje#
Bilo koja kontrola može ići unutar bilo kojeg spremnika, do bilo koje dubine. group može sadržavati tabs, stranica kartice može sadržavati group okvire, grupe se mogu ugnijezditi unutar grupa. Svako controls polje – ono na najvišoj razini, ono grupe i ono stranice kartice – prihvaća iste objekte kontrola, pa se pravila na ovim stranicama primjenjuju jednako na svakoj razini.
Označiva group ugniježđena unutar kartice čest je oblik: kartica sadrži značajku, potvrdni okvir grupe uključuje ili isključuje značajku, a kontrole unutar nje je konfiguriraju.