## Интерфейс TRIK Studio

### Обзор

Среда TRIK Studio может работать в двух режимах: в режиме редактирования и в режиме отладки. Режим редактирования предназначен для создания диаграммы управления роботом и исполнения её на роботе в режиме генерации, режим отладки — для исполнения и отладки программы на двумерной модели или в режиме интерпретации на реальном роботе.

Общий вид интерфейса режима редактирования TRIK Studio приведен на рисунке:

1. Главное меню содержит набор базовых операций и настроек среды.
   - Пункты меню "Файл"
     - Новый проект — создать новый проект.
     - Недавние проекты... — открыть один из недавно использовавшихся проектов.
     - Новая диаграмма — создать новую диаграмму в текущем проекте.
     - Открыть... — открыть сохраненный проект. Проекты хранятся на диске в файлах с расширением *.qrs.
     - Сохранить — сохранить текущий проект.
     - Сохранить как... — сохранить текущий проект в выбранное местоположение. Последующие сохранения будут производиться в выбранный файл.
     - Сохранить диаграмму как картинку... — сохранить на диск текущее изображение на сцене.
     - Печать — распечатать диаграмму или текст, используя стандартный диалог печати.
     - Выход — выйти из программы.
   - Пункты меню "Правка":
     - Отменить — отменить выполненное действие.
     - Повторить — сделать снова отменённое действие.
     - Найти — открыть диалог поиска по проекту.
   - Пункты меню "Вид":
     - Приблизить — увеличить масштаб сцены.
     - Отдалить — уменьшить масштаб сцены.
     - Показывать сплешскрин — включить/выключить отображение стартового экрана с логотипом TRIK Studio.
     - Панели — включить/выключить отображение различных плавающих окон.
   - Пункты меню "Инструменты". Пункты в этом меню могут появляться и исчезать в зависимости от конфигурации программы.
     - Жесты мышью — открыть вкладку со списком доступных жестов мышью.
     - 2D модель — переключить режим работы интерпретатора на двумерную модель.
     - Реальный робот — переключить режим работы интерпретатора на управление реальным роботом по WiFi, Bluetooth или USB, в зависимости от используемого конструктора и настроек соединения с роботом.
     - Настройки... — открыть окно настройки модели робота, с которой осуществляется работа в TRIK Studio.
     - Сохранить как упражнение... — сохранить текущую диаграмму и двумерную модель как упражнение для учащихся. В упражнении нельзя модифицировать некоторые части решения, например, расположение объектов в двумерной модели или конфигурацию датчиков. Выбор этого пункта меню открывает диалог, в котором можно выбрать фиксируемые части. Подробнее про упражнения см. в разделе Упражнения
     - Загрузить системное ПО на робот — загрузить в робота прошивку, позволяющую выполнять загруженные в него программы. Обычно этого делать не требуется или требуется сделать только один раз перед началом работы. Подробнее см. в разделах справки для конкретного конструктора.
     - Генерировать код — открыть вкладку со сгенерированным кодом, соответствующим текущей диаграмме и выбранному тектовому языку (этот пункт может выглядеть как "Генерировать код на JavaScript", "Генерировать код на F#", "Генерировать код на C" и т.д.). Код не загружается на робот и не исполняется, но может быть отредактирован и загружен позже.
     - Загрузить программу — только сгенерировать код и загрузить на робот, не исполняя его.
     - Загрузить и выполнить программу — сгенерировать код, соответствующий текущей диаграмме, загрузить его и исполнить на роботе.
     - Остановить робота — прервать выполнение программы и послать роботу команды отключения моторов.
     - Подключиться — установить соединение с роботом. Робот должен быть включен. Показывается только в том случае, если выбранный режим работы с роботом предполагает необходимость постоянного подключения (например, интерпретация программы по Bluetooth или WiFi).
     - Выполнить — запустить выполнение отображаемой в данный момент диаграммы на роботе в режиме интерпретации. Показывается только в случае, если выбран режим интерпретации.
   - Пункты меню "Настройки" (подробнее см. раздел Диалог настроек среды TRIK Studio):
     - Настройки... — открыть окно настроек среды TRIK Studio.
     - Показать сетку — включить/отключить отображение сетки на сцене.
     - Показать направляющие — включить/отключить режим отображения вертикальных и горизонтальных направляющих линий для позиционирования объектов относительно друг друга.
     - Включить сетку — включить/отключить режим автоматического выравнивания по сетке.
     - Показать весь текст — включить/отключить отображение всех свойств блока прямо на диаграмме. Если текст под пиктограммами отключён, свойства можно просматривать и редактировать в редакторе свойств слева вверху.
   - Пункты меню "Справка":
     - Помощь — открыть справочную систему TRIK Studio.
     - О программе — просмотреть краткую информацию о TRIK Studio (версия, сайт).
     - О Qt... — просмотреть информацию об инструментарии Qt, использованном для создания TRIK Studio.
     - Проверить на наличие обновлений — получить из интернета информацию о наличии новой версии среды или какого-либо из подключаемых модулей и запустить автообновление при необходимости.
2. Панель "Файл" повторяет основные операции, доступные из меню "Файл".
3. Панель "Правка" содержит кнопки отмены и повторения операции.
4. Панель "Вид" содержит кнопки, позволяющие масштабировать диаграммы. Этого же можно добиться вращением колесика мыши, наведя курсор на произвольное место рабочей области диаграммы.
5. Панель "Интерпретатор" содержит команды запуска и остановки выполнения программы, кнопки переключения режимов интерпретации между двумерной моделью и реальным роботом, а также кнопку открытия настроек робота, доступных из меню "Инструменты". При работе с реальным роботом в режиме интерпретации эта панель также содержит кнопку "Подключиться".
6. Окно редактора отображает текущую диаграмму и позволяет ее редактировать. Здесь же осуществляется отображение текущего исполняемого блока при интерпретации диаграмм.
7. Редактор свойств используется для отображения и редактирования значений свойств выделенных элементов.
8. Настройки сенсоров позволяют указать, какие сенсоры использованы на каком порту. То же можно сделать из диалога настроек робота.
9. Палитра элементов содержит набор доступных блоков и связей между ними, которые можно добавить на диаграмму (подробнее о процессе создания диаграмм в TRIK Studio см. раздел Создание программ). Состав палитры может меняться в зависимости от выбранного в настройках конструктора, серым выделены блоки, недоступные в выбранной модели выполнения (двумерной модели или на реальном роботе).
10. Список переменных, используемых при выполнении диаграммы с их текущими значениями, включая сенсорные переменные. При исполнении в режиме интерпретации на двумерной модели или реальном роботе берутся с робота в реальном времени, в режиме генерации не используются.
11. Строка статуса отображает текущий режим TRIK Studio (редактирования или отладки) и позволяет переключаться между режимами. Для переключения достаточно кликнуть на кнопку статуса.
12. Панель переключения режимов тоже отображает текущий режим TRIK Studio и позволяет более удобно переключаться между режимами.

Общий вид интерфейса режима отладки TRIK Studio приведен на рисунке:

1. Главное меню, панели инструментов, строка статуса такие же, как и в режиме редактирования
2. Окно "Двумерная модель" открывается, если в качестве режима исполнения программы выбрана двумерная модель. окно позволяет задать окружение, в котором будет работать робот, задать датчики робота и наблюдать, как будет работать написанная в режиме редактирования программа. Подробнее об окне двумерной модели см. в разделе "окно двумерной модели робота". В режиме интерпретации программы на реальном роботе по WiFi, Bluetooth или USB это окно не показывается, вместо него отображается исполняемая диаграмма.
3. Окно "Переменные", как и в режиме редактирования, показывает сенсорные переменные и все переменные, которые были определены в программе.
4. Окно "Графики" отображает в реальном времени значения, присылаемые датчиками.

### Диалог настроек TRIK Studio

Окно настроек TRIK Studio открывается выбором соответствующего пункта меню "Настройки". Интерфейс данного окна содержит в себе две панели — левую, отображающую список вкладок с настройками, и правую, отображающую поля для редактирования настроек текущей вкладки. Кнопки "Импорт" и "Экспорт" внизу окна позволяют сохранить текущие настройки в файл и загрузить его на другом компьютере.

#### Вкладка "Поведение"

- Язык — язык среды. После изменения требуется перезапуск. Настройка "<Системный язык>" означает, что язык будет определяться по текущему языку операционной системы.
- Автосохранение — возможность включить или выключить автосохранение, а также задать интервал автосохранения в секундах.
- Жесты мышью — включить или выключить механизм распознавания жестов мышью.
- Задержка после жеста — сколько система ждёт после выполнения мышиного жеста, прежде чем выполнит его распознавание. Задержка позволяет рисовать жест в несколько штрихов. Значение указывается в миллисекундах.
- Проверять на наличие обновлений при старте — связываться при запуске с сервером обновлений и запускать автообновление при необходимости.
- Режим работы на тач-экране — включить оптимизацию пользовательского интерфейса для сенсорных экранов.

#### Вкладка "Разное"

- Графика/Антиалиасинг — режим рисования линий со сглаживанием, улучшает внешний вид диаграмм за счёт незначительного снижения скорости работы системы.
- Прочее/Показывать сплешскрин — включить/выключить отображение стартового экрана с логотипом TRIK Studio.
- Прочее/Длина списка недавних проектов — сколько проектов показывать в пункте "Недавние проекты" меню "Файл".
- Изображения — какой набор иконок использовать для отображения диаграммы.
- Панель инятрументов/Размер панели инструментов — задать размер кнопок на панели инструментов.

#### Вкладка "Редактор"

- Шрифт/Использовать системный шрифт — заменить шрифт для отображения надписей на диаграмме по умолчанию на один из шрифтов, установленных в системе. Размеры надписей на блоках жёстко заданы, поэтому изменение шрифта может привести к наползанию надписей друг на друга, однако можно экспериментировать.
- Сетка/Показывать сетку — отображать/не отображать выравнивающую сетку на сцене редактора диаграмм.
- Сетка/Выравнивание по сетке — осуществлять/не осуществлять выравнивание блоков по сетке.
- Сетка/Показать направляющие — отображать/не отображать направляющие линии на сцене редактора диаграмм. Направляющие линии появляются, когда блок находится на одной горизонтали или вертикали с другим блоком, и помогают выравнивать блоки на сцене.
- Сетка/Выравнивание по направляющим — осуществлять/не осуществлять выравнивание блоков по направляющим.
- Сетка/Толщина сетки — толщина линий сетки. Настраивается в зависимости от яркости монитора или проектора.
- Сетка/Размер ячейки — размер одной ячейки сетки. Размер по умолчанию подобран так, чтобы блок накрывал четыре ячейки.
- Элементы/Размер области масштабирования — размер области, потянув за которую можно изменить размер блока "Комментарий".
- Связи/Тип связей — режим рисования связей на диаграмме.
  - Ломаные линии — связи рисуются как ломаные с точками излома, которые добавляются пользователем.
  - Прямоугольные линии — связи рисуются как ломаные линии, каждый сегмент которых параллелен осям координат. Точки излома в этом случае добавляются системой автоматически.
  - Кривые Безье — связи рисуются как гладкие кривые, кривизна которых может быть задана пользователем.
- Связи/Отступ связей-петель — насколько связь, входящая в тот же блок, из которого она исходит, должна отступать от блока.
- Встроенные линкеры/Размер — размер встроенного линкера, т.е. кружка рядом с блоком на диаграмме, осуществляющего создание связей между элементами (см. раздел Создание связей).
- Встроенные линкеры/Отступ — отступ встроенного линкера от пиктограммы блока.
- Надписи на элементах/Разрешить перемещать — разрешить/запретить произвольно двигать по диаграмме надписи у блоков.
- Надписи на элементах/Разрешить изменять размер — разрешить/запретить менять размер области отображения для надписи.
- Палитра/Представление — выбор между режимом отображения иконок и названий или только иконок в палитре.
- Количество иконок в строке — количество иконок на строку палитры при выбранном режиме "Иконки".

#### Вкладка "Настройки робота"

Состав этой вкладки зависит от установленных подключаемых модулей поддержки конструкторов и от текущего выбранного конструктора. Информацию о настройках для конкретного конструктора можно посмотреть в разделе документации, ему соответствующему. Типовые элементы этого окна таковы:

- Конструктор — конструктор, для которого пишутся программы в среде. От этой опции зависит список доступных блоков в палитре и доступных действий на панели инструментов.
- Тип модели робота — выбор типа модели исполнения для выбранного конструктора. В большинстве случаев это двумерная модель или реальный робот, но для некоторых конструкторов одна из моделей может быть недоступной, в этом случае этот пункт в окне не отображается.
- Настройки соединения — специфичные для конструктора настройки подключения к роботу, такие как IP-адрес робота для ТРИК или COM-порт Bluetooth-соединения для Lego NXT. Если соединение в выбранном режиме не требуется (как на рисунке), не отображается.
- Настройки сторонних программ — специфичные для конструктора настройки программ, не поставляемых в комплекте с TRIK Studio, которые должны быть установлены на компьютере. Для большинства режимов работы дополнительные установленные программы не нужны, так что соответствующие пункты не отображаются в окне.
- Настройка сенсоров — здесь указывается, какие сенсоры подключены к портам робота.
- Запуск после загрузки — запускать программу сразу после загрузки её на робот или нет. Применимо только для некоторых режимов некоторых конструкторов (например, для Lego NXT в режиме генерации).
- Шум/Реалистичные сенсоры — включить/выключить эмуляцию неточностей считывания показаний с сенсоров в 2D модели.
- Шум/Реалистичные моторы — включить/выключить эмуляцию неточностей работы моторов в 2D модели.
- Шум/Уровень приближения — насколько точно выполняется эмуляция погрешностей.
- Интервалы обновления графиков/Сенсоры — интервал в миллисекундах, когда добавляется новая точка с показанием сенсора.
- Интервалы обновления графиков/Масштабирование — интервал в миллисекундах, когда график автоматически изменяет свой масштаб, чтобы оптимально отобразить значения.
- Интервалы обновления графиков/Текстовая информация — интервал в миллисекундах, когда на графике обновляются надписи со значениями.

#### Вкладка "Горячие клавиши"

Позволяет задать или изменить горячие клавиши для наиболее часто используемых действий. Для этого надо выбрать ячейку, соответствующую действию, и в строке "Сочетание" внизу окна нажать нужное сочетание клавиш. Кнопка "Очистить" удаляет сочетание клавиш из ячейки.

### Окно двумерной модели робота

Режим работы с двумерной моделью полезен для отладки программ, а также в случае отсутствия реального робота. В этом режиме программы выполняются в пошаговом режиме, но в этом случае команды не передаются роботу, а исполняются для виртуальной модели робота, отображающейся на экране. Осуществляется моделирование трехколесной тележки. Считается, что изначально робот находится в бесконечном пустом пространстве, для пользователя существует возможность расставлять препятствия в виде стен, рисовать цветные линии и области на полу. При этом эмулируется работа большинства реальных датчиков конструктора: например, датчика касания, ультразвукового датчика расстояния, датчиков цвета и света для NXT, ИК- и УЗ-датчиков расстояния и датчика света для ТРИК. Двумерная модель может иметь устройства, недоступные на реальном роботе, например, возможность рисовать цветные линии маркером на полу (как "черепашка" LOGO). Внешний вид и набор устройств двумерной модели зависит от выбранного конструктора.

Окно двумерной модели робота TRIK Studio доступно для отображения, если в качестве типа модели робота в диалоге настроек робота или на панели инструментов выбран пункт "Двумерная модель" (см. раздел Диалог настроек TRIK Studio). В таком случае при переключении в режим отладки будет открыто следующее окно:

Данное окно также открывается автоматически, если в этом режиме начать выполнение программы с помощью пункта меню или панели TRIK Studio.

1. Сцена двумерной модели. Представляет собой виртуальное пространство, в котором будет двигаться модель робота, обозначенная соответствующей иконкой.
2. Панель редактирования модели мира содержит следующие кнопки:

- Курсор — переключиться в режим выбора и перестать рисовать стены/линии и т.д. Горячая клавиша: N.
- Стена — добавить на сцену препятствие в виде стены. Препятствие отображается в виде "кирпичной" линии, при касании такой линии сенсором касания или при попадании в зону действия сенсора расстояния происходит срабатывание сенсора, робот не может проехать сквозь стену. При добавлении с нажатой клавишей Shift стена помещается либо под прямым углом, либо под углом в 45 градусов относительно границ окна. Горячая клавиша: W.
- Линия — добавить на сцену прямую линию. При этом срабатывают находящиеся над линией сенсоры света и соответствующие сенсоры цвета. При добавлении с нажатой клавишей Shift линия помещается либо под прямым углом, либо под углом в 45 градусов относительно границ окна. Горячая клавиша: L.
- Эллипс — добавить на сцену эллипс. При этом срабатывают находящиеся над эллипсом сенсоры света и соответствующие сенсоры цвета. При добавлении с нажатой клавишей Shift добавляется окружность. Горячая клавиша: E.
- Карандаш — добавить на сцену нарисованную мышью линию. При этом срабатывают находящиеся над линией сенсоры света и соответствующие сенсоры цвета. Горячая клавиша: P.

3. Эмулятор экрана и кнопок робота отображает вывод программы на экран робота и позволяет эмулировать нажатие на его кнопки (кликом мыши по соответствующей кнопке на роботе).
4. Панель управления портами позволяет менять конфигурацию и расположение сенсоров модели робота. Для каждого порта можно выбрать интересующий датчик, и он автоматически добавится на сцену. При изменении конфигурации сенсоров из настроек сенсоры в двумерной модели автоматически подстраиваются. При этом будет считаться, что сенсор соединен с роботом, то есть при движении иконки робота сенсоры будут двигаться вместе с ним, даже если они находятся на некотором расстоянии от модели робота. Рядом с ультразвуковым или инфракрасным датчиком отображается серый конус, обозначающий область, в которой этот датчик будет регистрировать препятствия.
5. Панель управлениямоторами позволяет задать, какой из портов моторов будет соответствовать левому и правому колесу. Под ней расположена панель управления физикой, которая позволяет настраивать следующие параметры:
   - Реалистичная физика более точно эмулирует силы, действующие на робот: он поворачивает при столкновении со стеной, разгоняется с ускорением и т.д. В таком режиме гораздо сложнее предсказать поведение робота, поэтому по умолчанию он отключён.
   - Реалистичные сенсоры — включить/выключить эмуляцию неточной работы сенсоров. То же можно сделать через окно настроек.
   - Реалистичные моторы — включить/выключить эмуляцию неточной работы моторов. То же можно сделать через окно настроек.
6. Сетка позволяет включить отображение на сцене сетки и привязки стен к её узлам. Слайдер рядом позволяет настроить размер сетки.
7. Панель управления скоростью позволяет задать скорость симуляции. При выборе низкой скорости одной секунде модельного времени соответствует несколько секунд реального, при выборе высокой скорости — наоборот. Здесь же отображается текущее модельное время, прошедшее с запуска программы на исполнение. Может отличаться от реального времени (зависит от настроек скорости и возможностей компьютера).
8. Линейка показывает расстояния на сцене, в сантиметрах (относительно размера робота).
9. Кнопка возврата на старт устанавливает робот в исходное положение, задаваемое красным крестиком на сцене. Крестик можно вращать вокруг своей оси, выделив его и таская конец появившейся стрелки, этим задаётся начальное направление робота.
10. Кнопка "Старт/стоп" Позволяет запустить или остановить программу.

Окно двумерной модели можно отделить от остального интерфейса TRIK Studio, потащив его за заголовок. Вернуть окно на место можно, нажав на кнопку закрытия окна (окно не закроется, а вернётся в главное окно TRIK Studio).

Некоторые важные функции двумерной модели доступны при нажатии на правую кнопку мыши на сцене:

1. Режим таскания сцены позволяет перемещать сцену с роботом, стенами и линиями при клике и перетаскивании на свободный участок сцены.
2. Режим выделения позволяет выделять группу стен, линий и других частей модели при клике и перетаскивании на свободный участок сцены.
3. Сохранить модель мира позволяет сохранить нарисованную сцену в виде XML-файла, который потом может быть загружен и использован в другом проекте.
4. Загрузить модель мира позволяет загрузить ранее сохранённую модель мира.
5. Очистить всё удаляет все стены и цветные линии. Робот при этом остаётся на сцене.
6. Очистить пол от следов робота удаляет все цветные линии, нарисованные маркером робота. Остальные элементы остаются на сцене.

При выделении линии, карандаша или эллипса появляется всплывающее окно, позволяющее настраивать их цвет и толщину:

При выделении робота появляется следующее всплывающее окно:

1. Центрирование на роботе включает или выключает центрирование камеры на роботе. При включённом режиме центрирования сцена автоматически перемещается, выставляя робот в центр, если он выезжает за границы видимого участка.
2. Кнопка возврата на старт работает так же, как кнопка в основном окне двумерной модели — возвращает робот на исходную позицию, обозначаемую красным крестиком.
3. Толщина маркера позволяет задать толщину следа, оставляемого роботом при рисовании маркером.