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) – kun true, 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 on true.

  • 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.