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 בר-סימון המקונן בתוך לשונית הוא תבנית נפוצה: הלשונית מחזיקה תכונה, תיבת הסימון של הקבוצה מפעילה או מכבה את התכונה, והפקדים בתוכה מגדירים אותה.