13.1.13.4.1. Säiliöt#
Säiliöillä ei ole omaa arvoa – ne järjestävät muita säätimiä. Kukin ulottuu lomakkeen koko leveydelle, ja sen sisällä luetellut säätimet rakennetaan omaksi lomakkeekseen. Niitä on kaksi: group piirtää nimetyn laatikon ja tabs piirtää välilehtipalkin.
Kaikki säätimet hyväksyvät myös yhteiset avaimet (name, label, tooltip, enabled); katso yleiskatsaus.
13.1.13.4.1.1. group#
Nimetty laatikko säädinjoukon ympärillä. Valinnaisesti checkable, mikä muuttaa otsikon kytkimeksi kaikelle sen sisällä olevalle.
{
"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 }
]
}
Argumentit:
title (merkkijono) – laatikossa näytettävä otsikko.
checkable (totuusarvo, oletus
false) – kuntrue, otsikossa on valintaruutu, joka ottaa käyttöön tai poistaa käytöstä jokaisen laatikon sisällä olevan säätimen ja jonka oma päällä/pois-tila tallennetaan.value (totuusarvo, oletus
true) – kyseisen otsikon valintaruudun alkutila. Merkityksellinen vain, kun checkable ontrue.controls (taulukko) – laatikon sisällä näytettävät säätimet.
Tallentaa: totuusarvon (otsikon valintaruutu), kun checkable on true; tavallinen ryhmä ei tallenna mitään omaa – vain sen sisällä olevat säätimet tallentavat arvonsa.
13.1.13.4.1.2. tabs#
Välilehtipalkki. Jokainen välilehti on sivu, jolla on oma säädinluettelonsa, joten pitkä lomake voidaan jakaa Camera-, Network-, System-välilehtiin ja niin edelleen.
{
"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" }
]
}
]
}
Argumentit:
tab_position (merkkijono, oletus
"north") – millä reunalla välilehtipalkki sijaitsee:"north","south","west"tai"east".tabs (taulukko) – välilehtisivut järjestyksessä. Kukin sivu on objekti, jossa on:
title (merkkijono) – välilehden nimike.
tooltip (merkkijono) – välilehden osoitinvihje.
controls (taulukko) – kyseisellä sivulla näytettävät säätimet.
Tallentaa: ei mitään omaa; kunkin sivun säätimet tallentavat omat arvonsa.
13.1.13.4.1.3. Sisäkkäisyys#
Mikä tahansa säädin voi mennä minkä tahansa säiliön sisään, mihin tahansa syvyyteen. group voi sisältää tabs-elementin, välilehtisivu voi sisältää group-laatikoita, ja ryhmät voivat olla sisäkkäin ryhmien sisällä. Jokainen controls-taulukko – ylimmän tason taulukko, ryhmän taulukko ja välilehtisivun taulukko – ottaa samat säädinobjektit, joten näiden sivujen säännöt pätevät samoin kaikilla tasoilla.
Välilehden sisään sijoitettu valittava group on yleinen ratkaisu: välilehti sisältää ominaisuuden, ryhmän valintaruutu ottaa ominaisuuden käyttöön tai poistaa sen käytöstä, ja sisällä olevat säätimet määrittävät sen.