बटन और लेबल

टूलबॉक्स में ब्लॉक को जहां भी रखा जा सकता है वहां बटन या लेबल को रखा जा सकता है.

तुलना वाले ब्लॉक के साथ फ़्लायआउट टूलबॉक्स, इटैलिक में "A label" लेबल, "Another label" लेबल, `not` ब्लॉक, "A button" लेबल वाला बटन, और सही-गलत वाला ब्लॉक.

JSON

{
  "kind": "flyoutToolbox",
  "contents": [
    {
      "kind": "block",
      "type":"logic_operation"
    },
    {
      "kind": "label",
      "text": "A label",
      "web-class": "myLabelStyle"
    },
    {
      "kind": "label",
      "text": "Another label"
    },
    {
      "kind": "block",
      "type": "logic_negate"
    },
    {
      "kind": "button",
      "text": "A button",
      "callbackKey": "myFirstButtonPressed"
    },
    {
      "kind": "block",
      "type": "logic_boolean"
    }
  ]
}

XML

<xml id="toolbox" style="display: none">
  <block type="logic_operation"></block>
  <label text="A label" web-class="myLabelStyle"></label>
  <label text="Another label"></label>
  <block type="logic_negate"></block>
  <button text="A button" callbackKey="myFirstButtonPressed"></button>
  <block type="logic_boolean"></block>
</xml>
<style>
.myLabelStyle>.blocklyFlyoutLabelText {
  font-style: italic;
  fill: green;
}
</style>

अपने बटन या लेबल पर लागू करने के लिए, सीएसएस क्लास का नाम तय किया जा सकता है. ऊपर दिए गए उदाहरण में, पहले लेबल में कस्टम स्टाइल का इस्तेमाल किया गया है. वहीं, दूसरे लेबल में डिफ़ॉल्ट स्टाइल का इस्तेमाल किया गया है.

बटन में कॉलबैक फ़ंक्शन होने चाहिए, लेबल में नहीं. किसी बटन पर क्लिक करने के लिए, कॉलबैक सेट करने के लिए इसका इस्तेमाल करें

yourWorkspace.registerButtonCallback(yourCallbackKey, yourFunction).

आपके फ़ंक्शन को उस बटन को आर्ग्युमेंट के तौर पर स्वीकार करना चाहिए जिस पर क्लिक किया गया था. वैरिएबल कैटगरी में मौजूद "वैरिएबल बनाएं..." बटन, कॉलबैक वाले बटन का एक अच्छा उदाहरण है.