13.1.13.4.1. מכלים#

מכלים אינם מחזיקים ערך משלהם – הם מארגנים פקדים אחרים. כל אחד תופס את מלוא רוחב הטופס, והפקדים המפורטים בתוכו נבנים כטופס משל עצמם. ישנם שניים: group מצייר תיבה עם תווית, ו-tabs מצייר רצועת לשוניות.

כל הפקדים מקבלים גם את המפתחות המשותפים ( name , label , tooltip , enabled ); ראו את overview .

13.1.13.4.1.1. group#

תיבה עם תווית סביב קבוצת פקדים. באופן אופציונלי checkable, מה שהופך את הכותרת למתג עבור כל מה שבתוכה.

{
  "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 }
  ]
}

ארגומנטים:

  • title (מחרוזת) – הכותרת המוצגת על התיבה.

  • checkable (בוליאני, ברירת מחדל false) – כאשר true, הכותרת נושאת תיבת סימון שמפעילה או משביתה כל פקד בתוך התיבה, ומצב ההפעלה/כיבוי שלה עצמה נשמר.

  • value (בוליאני, ברירת מחדל true) – המצב ההתחלתי של תיבת סימון הכותרת הזו. משמעותי רק כאשר checkable הוא true.

  • controls (מערך) – הפקדים המוצגים בתוך התיבה.

נשמר: בוליאני (תיבת סימון הכותרת) כאשר checkable הוא true; group רגיל אינו שומר דבר משל עצמו – רק הפקדים בתוכו שומרים את ערכיהם.

13.1.13.4.1.2. tabs#

רצועת לשוניות. כל לשונית היא עמוד עם רשימת פקדים משלו, כך שטופס ארוך יכול להתחלק בין Camera, Network, System וכן הלאה.

{
  "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" }
      ]
    }
  ]
}

ארגומנטים:

  • tab_position (מחרוזת, ברירת מחדל "north") – על איזה קצה יושבת סרגל הלשוניות: "north", "south", "west" או "east".

  • tabs (מערך) – עמודי הלשוניות, לפי הסדר. כל עמוד הוא אובייקט עם:

    • title (מחרוזת) – התווית של הלשונית.

    • tooltip (מחרוזת) – טקסט ריחוף עבור הלשונית.

    • controls (מערך) – הפקדים המוצגים באותו עמוד.

נשמר: כלום משל עצמו; הפקדים בכל עמוד שומרים את ערכיהם שלהם.

13.1.13.4.1.3. קינון#

כל פקד יכול להיכנס לתוך כל מכל, בכל עומק. group יכול להכיל tabs, עמוד לשונית יכול להכיל תיבות group, וקבוצות יכולות להתקנן בתוך קבוצות. כל מערך controls – זה שברמה העליונה, זה של קבוצה, וזה של עמוד לשונית – מקבל את אותם אובייקטי פקד, כך שהכללים בעמודים אלה חלים באותו אופן בכל רמה.

group בר-סימון המקונן בתוך לשונית הוא תבנית נפוצה: הלשונית מחזיקה תכונה, תיבת הסימון של הקבוצה מפעילה או מכבה את התכונה, והפקדים בתוכה מגדירים אותה.