Кнопки и метки

Вы можете разместить кнопку или метку в любом месте панели инструментов, где можно разместить блок.

Выпадающий список инструментов с блоком сравнения, меткой «Метка А» курсивом, меткой «Другая метка», блоком `не`, кнопкой с надписью «Кнопка А» и блоком «истина-ложь».

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>

Вы можете указать имя класса CSS для применения к вашей кнопке или метке. В приведенном выше примере первая метка использует пользовательский стиль, а вторая — стиль по умолчанию.

Кнопки должны иметь функции обратного вызова; метки не должны. Чтобы задать обратный вызов для определенного нажатия кнопки, используйте

yourWorkspace.registerButtonCallback(yourCallbackKey, yourFunction).

Ваша функция должна принимать в качестве аргумента кнопку, которая была нажата. Кнопка «Создать переменную...» в категории переменных — хороший пример кнопки с обратным вызовом.