13.1.13.4.1. Behållare#
Behållare håller inget eget värde – de organiserar andra kontroller. Var och en sträcker sig över formulärets hela bredd, och kontrollerna som listas inuti den byggs som ett eget formulär. Det finns två: group ritar en märkt ruta, och tabs ritar en flikrad.
Alla kontroller accepterar också de gemensamma nycklarna (name, label, tooltip, enabled); se översikten.
13.1.13.4.1.1. group#
En märkt ruta runt en uppsättning kontroller. Valfritt checkable, vilket gör rubriken till en brytare för allt inuti den.
{
"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 }
]
}
Argument:
title (string) – rubriken som visas på rutan.
checkable (boolean, standard
false) – närtruebär rubriken en kryssruta som aktiverar eller inaktiverar varje kontroll inuti rutan, och vars eget på/av-tillstånd sparas.value (boolean, standard
true) – det initiala tillståndet för den rubrikkryssrutan. Endast meningsfullt när checkable ärtrue.controls (array) – kontrollerna som visas inuti rutan.
Sparar: en boolean (rubrikkryssrutan) när checkable är true; en vanlig grupp sparar inget eget – endast kontrollerna inuti den sparar sina värden.
13.1.13.4.1.2. tabs#
En flikrad. Varje flik är en sida med sin egen lista av kontroller, så att ett långt formulär kan delas upp över Camera, Network, System, och så vidare.
{
"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" }
]
}
]
}
Argument:
tab_position (string, standard
"north") – vilken kant flikraden sitter på:"north","south","west", eller"east".tabs (array) – fliksidorna, i ordning. Varje sida är ett objekt med:
title (string) – flikens etikett.
tooltip (string) – inforuta för fliken.
controls (array) – kontrollerna som visas på den sidan.
Sparar: inget eget; kontrollerna på varje sida sparar sina egna värden.
13.1.13.4.1.3. Kapsling#
Vilken kontroll som helst kan placeras inuti vilken behållare som helst, på valfritt djup. En group kan innehålla en tabs, en fliksida kan innehålla group-rutor, grupper kan kapslas inuti grupper. Varje controls-array – den på toppnivå, en grupps, och en fliksidas – tar samma kontrollobjekt, så reglerna på dessa sidor gäller likadant på varje nivå.
En kryssbar group kapslad inuti en flik är ett vanligt upplägg: fliken rymmer en funktion, gruppens kryssruta slår funktionen på eller av, och kontrollerna inuti konfigurerar den.