- iRidium studio 2019
- Действия при нажатии на элементы интерфейса
Действия при нажатии на элементы интерфейса
-
Окна-попапы не могут выполнять команды при нажатии на них.
-
Страницы, кроме обычных нажатий, могут обрабатывать еще и жесты, например, смахивание от края экрана.
На страницах и окнах интерфейса визуализации расположены объекты, которые выполняют действия при нажатии на элемент или меняют внешний вид при получении данных от оборудования. Поведение элемента зависит от его настроек, но все команды, которые он отправляет, показаны во вкладке PROGRAMMING (Программирование).
Выберите объект в рабочей зоне и откройте вкладку PROGRAMMING, чтобы посмотреть: когда, и какие действия он будет выполнять:

Нажатие на экран, отпускание экрана, сдвиг элемента - это разные события, на которые может отреагировать графический интерфейс.Страницы, графические элементы, пункты списков - поддерживают разный набор событий, а значит, подчиняются разным правилам отправки команд.
Основные события:
- Press - отправка команд в момент прикосновения к кнопке;
- Release - отправка команд в момент отпускания кнопки;
- Hold - циклическая отправка команд, пока элемент удерживают;
- End Of Hold - однократная отправка команд при отпускании кнопки, если её до этого удерживали;
- Move - отправка команд при перемещении ползунка или джойстика;
- Select - выбор пункта и подпункта в элементе List (скриптовый список). Доступ через List API;
- Enter - нажатие клавиши Enter в элементе Edit Box;
- Change - событие ввода символа в элемент Edit Box. Доступ через GUI API;
- Lost Focus - событие, которое генерирует любой элемент, вне зависимости от типа и условий, в момент отпускания. Событие означает потерю элементом фокуса (активности). Событие доступно для обработки только через GUI API;
- Gestures - жесты (свайпы). Жест обрабатывает только страница (нельзя настроить жест для окна или области на элементе). Жест может начаться на самой странице, графическом элементе или в окне, но будет передан родительской странице - сработают команды, настроенные для страницы. Исключение: элементы Level, Joystic, List и Static List, которые обрабатывают событие Move вместо жестов. Cкачать пример использования жестов.
В Studio settings добавлена настройка Adaptation of "Programming" tab, активация которой видоизменяет информацию во вкладке PROGRAMMING.
Последовательность событий интерфейса
На странице или попапе , которые не входят в состав Static List и List, кнопки ведут себя следующим образом:
- короткое нажатие на элемент генерирует события Press > Release ;
- долгое нажатие на элемент генерирует события Press > Hold > End Of Hold ;
- перемещение ползунка Level, Joystic генерирует события Press > Move > Release ;
- При отпускании любого элемента генерируется событие Lost Focus .
В списке List и Static List последовательность выполнения событий может прерваться перелистыванием списка. Перелистывание может начаться на попапе и графическом элементе, что останавливает выполнение команд:
- начало перелистывания списка отключает событие Release, поэтому, при коротком нажатии со сдвигом, у кнопки сработает событие Press, а затем перелистывание;
- при начале перелистывания списка, сразу перестает выполняться Hold и генерируется End Of Hold;
- При отпускании любого элемента генерируется событие Lost Focus.
- Советы по настройке выполнения команд:
- Если кнопка работает на обычной странице, команды нужно привязывать к событию Press, если в списке - к Release.
- Если кнопка должна выполнять разные команды по короткому и длинному нажатию (однократно), привяжите "короткую" команду к Release, а "длинную" к Hold, регулируя параметр HoldTime.
- Если нужно отправить импульс (сначала 1, потом 0) по короткому нажатию, есть два способа:
-
- на Press привязать отправку 1, на Release отправку 0. Это позволит регулировать длину импульса временем удержания кнопки. Но, в списке, смещение списка отменит событие Release, поэтому отправку 0 потребуется продублировать в End Of Hold.
-
- на Release привяжите обе команды: 1 и 0, настройте между ними задержку (Delay). Импульс будет иметь фиксированную длину и будет предсказуемо работать в списках.
Macros Editor
Команды, которые выполняются при срабатывании события - макросы, настраиваются при нажатии на [+] рядом с названием события:


- При активированной настройке Adaptation of "Programming" tab, внешний вид в программинге и окне Relations изменяется.
Команды макроса выполняются последовательно, сверху вниз. Возможные команды: *Actions (команды переключения страниц):
-
- Show page [имя страницы]. Открыть страницу (единовременно может быть открыта только 1 страница). В параметрах команды указывается имя страницы, которую нужно открыть;
-
- Show previous page. Показать предыдущую открытую страницу проекта;
-
- Show popup [имя попапа]. Показать попап (одновременно может быть показано множество попапов). В параметрах команды указывается имя попапа, который нужно открыть, и, опционально, координаты, где он будет показан;
-
- Hide popup [имя попапа]. Скрыть попап;
-
- Toggle popup [имя попапа]. Переключить попап (показать, если скрыт, скрыть, если показан);
-
- Hide popup group [имя группы попапов]. Скрыть попапы, входящие в Группу;
-
- Hide popups on page [имя страницы]. Скрыть все попапы на странице;
-
- Hide all popups. Скрыть все попапы в интерфейсе.
- Sounds (управление звуками):
-
- Play sound [файл, номер дорожки, громкость, цикличность]. Начать воспроизведение аудио-файл;
-
- Play system sound [звук, номер дорожки, громкость]. Воспроизвести стандартный звук;
-
- Stop sound [файл]. Остановить воспроизведение аудио-файла;
-
- Stop slot [номер дорожки]. Остановить воспроизведение аудио-файла на указанной дорожке;
-
- Stop all sounds. Остановить воспроизведение любых звуков в проекте;
- Send to driver (отправка значений в команды драйверов):
-
- Number. Отправить константу - десятичное число (DEC);
-
- Text. Отправить константу - строку данных (ASCII);
-
- Data. Отправить константу - бинарные данные (BIN);
-
- Value from object. Отправить данные, извлеченные из переменных проекта (Value, координаты, размеры и т.д. – переменные значения, определяемые свойствами объекта).
- Send to object (отправка данных в переменные - свойства элементов, драйверы, токены проекта):
-
- Number. Записать константу (число DEC) в переменную;
-
- Text. Записать константу (строку ASCII) в переменную;
-
- Value from object. Записать переменную в переменную (например, свойство элемента в токен проекта).
- Other (остальные команды):
-
- Delay. Установить задержку между командами макроса (настраивается произвольно);
-
- Script Call. Обратиться к функции iRidium Script по имени;
-
- Keyboard [тип клавиатуры]. Вызвать виртуальную клавиатуру управляющей панели;
-
- Hide keyboard. Скрыть виртуальную клавиатуру управляющей панели;
-
- Minimize (for Windows). Свернуть приложение i3 pro;
-
- Execute [строка команды]. Выполнить стандартную команду ОС, например открыть ссылку в браузере (http://iridiummobile.ru/), отправить письмо на адрес (mailto:example@mail.ru), открыть «калькулятор» (calc) или другие стандартные команды для различных ОС;
-
- Show system menu. Открыть системное меню;
-
- Show project menu. Открыть боковое меню выбора проектов i3 pro;
-
- Paste from clipboard. Вставить текст из буфера обмена в активный Editbox;
-
- Show paste helper. Над курсором в активном EditBox отобразит нативное, масштабируемое в соответствии с разрешением проекта всплывающее окно: PasteHelper c надписью Paste, аналогично инструменту вставки на iOS и Android устройствах. По нажатию на это всплывающее окно, выполяется команда Paste from clipboard. Нажатие на окно вставки, повторное нажатие на поле ввода или смена фокуса сразу закрывают PasteHelper;
-
- Exit. Закрыть приложение iRidium App на управляющей панели (только для Windows и Android).
- Routines (настройка редактируемых сценариев):
-
- Reset settings of all routines. Сбросить настройки всех правил;
-
- Edit routine settings [имя правила]. Изменить настройки правила;
-
- Show list of all routines. Открыть список всех рутин, доступных для редактирования;
-
- Edit routine settings in list [имя правила] (old). Изменить настройки правила в списке.
Контекстный переход
Вкладка Programming позволяет быстро перейти к задействованному в макросе или связи элементу и переключить на него фокус. Для этого в контекстном меню связи или макроса, при наличии связанного элемента, выберите опцию “Перейти к (имя элемента)”

При этом произойдёт следующее:
- Откроется/переключится вкладка, на которой находится выбранный для перехода элемент (например скрипт, графический элемент, звук или токен)
- Фокус установится на этот элемент (где это возможно)*
*Исключениями являются вкладки… - Системные токены — фокусируется вкладка “Системные токены”, связанный токен не фокусируется
- Редактор скриптов — фокусируется вкладка “Редактор скриптов” и файл скрипта, в котором записана вызываемая функция; фокус на строку функции не ставится.
* * В контекстном меню для переходов к связанным элементам используются иконки, введённые с Адаптивным режимом вкладки Programming. Включать адаптивный режим для работы переходов не обязательно!
Script Call. Активация JS функции
Макрос Script Call вызывает JS функцию, которая создана в редакторе скриптов, но не может передать ей параметры вызова. Но ссылка на элемент, вызвавший функцию, передается как контекст вызова (this).
Например, функция, которая будет брать значение свойства Text элемента, который вызвал функцию, увеличивать его на единицу и записывать обратно:
var a = 0;
function action() {
a += 1;
this.Text = a; // this - элемент, который вызывал функцию, .Text - свойство "текст" элемента
IR.Log(this.Name); // имя элемента, который вызвал функцию
IR.Log(this.Parent.Name); // имя страницы, на которой находится элемент, вызвавший функцию
};
Relations: связи элемента
В окне Relations создаются связи для передачи данных от одного объекта другому:


- При активированной настройке Adaptation of "Programming" tab, внешний вид в программинге и окне Relations изменяется.
Например, с помощью значения, полученного с ползунка уровня Item 1 , Вы можете изменить координату элемента Item 2 . Взаимодействовать могут параметры графических элементов, страниц, попапов, а также каналы и токены (глобальные переменные).