13.1.13.4.1. Kontejnery#
Kontejnery samy o sobě nedrží žádnou hodnotu – organizují ostatní ovládací prvky. Každý zabírá celou šířku formuláře a ovládací prvky uvedené uvnitř se sestavují jako samostatný formulář. Existují dva: group vykreslí pojmenovaný rámeček a tabs vykreslí pás karet.
Všechny ovládací prvky rovněž přijímají společné klíče (name, label, tooltip, enabled); viz přehled.
13.1.13.4.1.1. group#
Pojmenovaný rámeček kolem sady ovládacích prvků. Volitelně checkable, což změní záhlaví na přepínač pro vše uvnitř něj.
{
"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 }
]
}
Argumenty:
title (string) – záhlaví zobrazené na rámečku.
checkable (boolean, výchozí
false) – když jetrue, záhlaví nese zaškrtávací políčko, které povoluje nebo zakazuje každý ovládací prvek uvnitř rámečku a jehož vlastní stav zapnuto/vypnuto se ukládá.value (boolean, výchozí
true) – počáteční stav onoho zaškrtávacího políčka záhlaví. Má význam pouze tehdy, když je checkabletrue.controls (array) – ovládací prvky zobrazené uvnitř rámečku.
Ukládá: boolean (zaškrtávací políčko záhlaví), když je checkable true; prostá skupina neukládá nic vlastního – pouze ovládací prvky uvnitř ní ukládají své hodnoty.
13.1.13.4.1.2. tabs#
Pás karet. Každá karta je stránka s vlastním seznamem ovládacích prvků, takže dlouhý formulář lze rozdělit mezi Camera, Network, System a tak dále.
{
"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" }
]
}
]
}
Argumenty:
tab_position (string, výchozí
"north") – u kterého okraje leží pás karet:"north","south","west"nebo"east".tabs (array) – stránky karet, v pořadí. Každá stránka je objekt s:
title (string) – popisek karty.
tooltip (string) – text zobrazený při najetí myší na kartu.
controls (array) – ovládací prvky zobrazené na této stránce.
Ukládá: nic vlastního; ovládací prvky na každé stránce ukládají své vlastní hodnoty.
13.1.13.4.1.3. Vnořování#
Jakýkoli ovládací prvek může být umístěn uvnitř jakéhokoli kontejneru, do libovolné hloubky. group může obsahovat tabs, stránka karty může obsahovat rámečky group, skupiny se mohou vnořovat do skupin. Každé pole controls – to nejvyšší úrovně, pole skupiny i pole stránky karty – přijímá stejné objekty ovládacích prvků, takže pravidla na těchto stránkách platí stejně na každé úrovni.
Zaškrtávatelná skupina group vnořená uvnitř karty je běžné uspořádání: karta obsahuje funkci, zaškrtávací políčko skupiny funkci zapíná nebo vypíná a ovládací prvky uvnitř ji konfigurují.