Создание и изменение сценариев ------------------------------ Для добавления нового сценария необходимо загрузить файлы сценария в папку MertechScales -> Scenarios .. figure:: ../../Сценарии/Создание/picture/mertechScalesTree.png :scale: 100 % :align: center Загруженные сценарии Сценарии представляют собой набор ".json" файлов, содержащих в себе разметку внешнего вида для каждого окна, либо части окна. JSON разметка визуального представления частично напоминает XML разметку при проектировании дизайна Android приложений, где часто используются те же инструменты и подходы. В этой документации будут рассмотрены лишь некоторые основные возможности конструирования сценариев. Для каждого сценария необходимы следующие файлы: * home.json - главный экран; * print_dialog.json - экран печати этикетки выбранного товара; * print_dialog_is_fixed.json - экран выбранного товара после фиксации веса и печати этикетки; * error_dialog.json - всплывающие окна с текстами ошибок; .. important:: Главное окно сценария обязательно должно содержать возможность перехода в приложение настроек. Для этого файл должен содержать экшен ``GO_TO_SERVICE``. Окно выбранного товара для печати этикетки может содержать следующие внутренние элементы: * Элемент с типом ``TextView`` и идентификатором ``PRINT_INFO`` для вывода пользовательскольского сообщения и информации о некорректном весе; * Элемент с идентификатором ``PRINT_BUTTON`` для отображения кнопки печати этикетки (опционально). .. note:: Главным условием для любого сценария является наличие в папке сценария файла основного экрана с названием home.json. Есть несколько основных правил для создания строки JSON: * Строка JSON содержит либо массив значений, либо объект (ассоциативный массив пар имя/значение). * Массив заключается в квадратные скобки ([ и ]) и содержит разделенный запятой список значений. * Объект заключается в фигурные скобки ({ и }) и содержит разделенный запятой список пар имя/значение. * Пара имя/значение состоит из имени поля, заключенного в двойные кавычки, за которым следует двоеточие (:) и значение поля. Значение в массиве или объекте может быть: * Числом (целым или с плавающей точкой) * Строкой (в двойных кавычках) * Логическим значением (true или false) * Другим массивом (заключенным в квадратные скобки) * Другой объект (заключенный в фигурные скобки) * Значение null Чтобы включить двойные кавычки в строку, нужно использовать обратную косую черту: (\\). Так же, как и во многих языках программирования, можно помещать управляющие символы и шестнадцатеричные коды в строку, предваряя их обратной косой чертой. Смотрите детали на сайте `JSON `_. .. toctree:: :maxdepth: 3 1_позиционирование 2_размеры 3_элементы 4_клавиатура