iridium script: Интерфейсы
TRANSCRIPT
![Page 1: iRidium Script: Интерфейсы](https://reader035.vdocument.in/reader035/viewer/2022062218/5877213b1a28ab4c1d8b7a01/html5/thumbnails/1.jpg)
JavaScriptEnhanced capabilities of control
interfaces
Markov Ilya2016
Webinar
![Page 2: iRidium Script: Интерфейсы](https://reader035.vdocument.in/reader035/viewer/2022062218/5877213b1a28ab4c1d8b7a01/html5/thumbnails/2.jpg)
JSGUI
Tokens
Drivers
Sounds
![Page 3: iRidium Script: Интерфейсы](https://reader035.vdocument.in/reader035/viewer/2022062218/5877213b1a28ab4c1d8b7a01/html5/thumbnails/3.jpg)
Interface
Listener
Actions
![Page 4: iRidium Script: Интерфейсы](https://reader035.vdocument.in/reader035/viewer/2022062218/5877213b1a28ab4c1d8b7a01/html5/thumbnails/4.jpg)
![Page 5: iRidium Script: Интерфейсы](https://reader035.vdocument.in/reader035/viewer/2022062218/5877213b1a28ab4c1d8b7a01/html5/thumbnails/5.jpg)
![Page 6: iRidium Script: Интерфейсы](https://reader035.vdocument.in/reader035/viewer/2022062218/5877213b1a28ab4c1d8b7a01/html5/thumbnails/6.jpg)
![Page 7: iRidium Script: Интерфейсы](https://reader035.vdocument.in/reader035/viewer/2022062218/5877213b1a28ab4c1d8b7a01/html5/thumbnails/7.jpg)
IR.AddListener(Тип_События,Указатель_на_Элемент,function(Входные_Параметры){ Тело Слушателя});
Тип_События - Событие при котором сработает функция Указатель_на_Элемент - Указатель элемента к которому привязывается функцияВходные_Параметры - Параметры передающие информацию функцииТело Слушателя - Инструкции которые будут выполнены при активации слушателя
![Page 8: iRidium Script: Интерфейсы](https://reader035.vdocument.in/reader035/viewer/2022062218/5877213b1a28ab4c1d8b7a01/html5/thumbnails/8.jpg)
Типы событий для системных слушателей• IR.EVENT_START – событие при указании которого слушатель
будет срабатывать на начале работы приложения.
• IR.EVENT_WORK – событие при указании которого слушатель будет срабатывать циклично во время работы приложения до тех пор пока приложение не завершит свою работу.
• IR.EVENT_EXIT – событие при указании которого слушатель будет срабатывать при окончании работы приложения.
• IR.EVENT_ORIENTATION – событие при указании которого слушатель будет срабатывать при смене ориентации панели.
• IR.EVENT_KEYBOARD_SHOW – событие при указании которого слушатель будет срабатывать при открытии клавиатуры.
![Page 9: iRidium Script: Интерфейсы](https://reader035.vdocument.in/reader035/viewer/2022062218/5877213b1a28ab4c1d8b7a01/html5/thumbnails/9.jpg)
IR.AddListener(Тип_События,Указатель_на_Элемент,function(Входные_Параметры){ Тело Слушателя});
Тип_События - Событие при котором сработает функция Указатель_на_Элемент - Указатель элемента к которому привязывается функцияВходные_Параметры - Параметры передающие информацию функцииТело Слушателя - Инструкции которые будут выполнены при активации слушателя
![Page 10: iRidium Script: Интерфейсы](https://reader035.vdocument.in/reader035/viewer/2022062218/5877213b1a28ab4c1d8b7a01/html5/thumbnails/10.jpg)
IR.AddListener(Тип_События,Указатель_на_Элемент,function(Входные_Параметры){ Тело Слушателя});
Тип_События - Событие при котором сработает функция Указатель_на_Элемент - Указатель элемента к которому привязывается функцияВходные_Параметры - Параметры передающие информацию функцииТело Слушателя - Инструкции которые будут выполнены при активации слушателя
![Page 11: iRidium Script: Интерфейсы](https://reader035.vdocument.in/reader035/viewer/2022062218/5877213b1a28ab4c1d8b7a01/html5/thumbnails/11.jpg)
![Page 12: iRidium Script: Интерфейсы](https://reader035.vdocument.in/reader035/viewer/2022062218/5877213b1a28ab4c1d8b7a01/html5/thumbnails/12.jpg)
Таймеры в iRidumScript.
IR.SetTimeout(time, Name_Function); - Эта функция используется для запуска функции по истечению задержки
time - время промежутка, мсName_Function - имя функции содержащей команды
IR.SetInterval(time, Name_Function); - Эта функция используется для цикличного повторения функции с заданным промежутком
time - время задержки, мсName_Function - имя функции содержащей команды
![Page 13: iRidium Script: Интерфейсы](https://reader035.vdocument.in/reader035/viewer/2022062218/5877213b1a28ab4c1d8b7a01/html5/thumbnails/13.jpg)
Удаление таймеров
IR.ClearInterval(id); - Эта функция используется для удаления функций задержки.
id - идентификатор функции SetTimeout или SetInterval
![Page 14: iRidium Script: Интерфейсы](https://reader035.vdocument.in/reader035/viewer/2022062218/5877213b1a28ab4c1d8b7a01/html5/thumbnails/14.jpg)
IR.RemoveListener (Тип_События, Указатель_на_Элемент, Имя_Функции);
Тип_События - Событие при котором сработает функцияУказатель_на_Элемент - Указатель элемента к которому привязывается функцияИмя_функции - Имя функции в которой содержится список инструкций
![Page 15: iRidium Script: Интерфейсы](https://reader035.vdocument.in/reader035/viewer/2022062218/5877213b1a28ab4c1d8b7a01/html5/thumbnails/15.jpg)
Функция для вывода информации в консоль
IR.Log('text');IR.Log(Variable);
text – строкаVariable - переменная
![Page 16: iRidium Script: Интерфейсы](https://reader035.vdocument.in/reader035/viewer/2022062218/5877213b1a28ab4c1d8b7a01/html5/thumbnails/16.jpg)
IR.Exit(); - Эта функция закрывает приложение
IR.Execute('text'); - Эта функция используется для запуска внешних программ
IR.ShowKeyboard(value); - Эта функция используется для показа клавиатуры.
![Page 17: iRidium Script: Интерфейсы](https://reader035.vdocument.in/reader035/viewer/2022062218/5877213b1a28ab4c1d8b7a01/html5/thumbnails/17.jpg)
GUI API
GUI API - это набор функций, предназначенных для работы с графическими объектами в проекте.
Эти функции позволяют:• Создавать элементы• Удалять элементы• Обращаться к элементам и менять их свойства• Создавать слушатели привязанные к графическим элементам• Открывать и закрывать страницы и попапы
![Page 18: iRidium Script: Интерфейсы](https://reader035.vdocument.in/reader035/viewer/2022062218/5877213b1a28ab4c1d8b7a01/html5/thumbnails/18.jpg)
IR.CreateItem(Тип_элемента, Имя_элемента,Координата_X, Координата_Y, Ширина_элемента, Высота_элемента);
Эта функция используется для создания элементов
Тип_элемента - указываем тип элемента, который создаем;Имя_элемента - задаем имя элемента;Координата_Х, Координата_Y - начальная позиция элемента в рабочем поле;Ширина_элемента, Высота_элемента - ширина и высота создаваемого элемента
![Page 19: iRidium Script: Интерфейсы](https://reader035.vdocument.in/reader035/viewer/2022062218/5877213b1a28ab4c1d8b7a01/html5/thumbnails/19.jpg)
Тип элемента определяет, что будет представлять из себя созданный элемент, а именно, задает элементу специфичный набор свойств.
Существуют такие типы:• Page - IR.ITEM_PAGE• Popup - IR.ITEM_POPUP• Button - IR.ITEM_BUTTON• Trigger button - IR.ITEM_TRIGGER_BUTTON• Multistate button - IR.ITEM_MUTI_STATE_BUTTON• Up/Down button - IR.ITEM_UPDOWN_BUTTON• Level - IR.ITEM_LEVEL• Multistate level - IR.ITEM_MUTI_STATE_LEVEL• EditBox - IR.ITEM_EDIT_BOX• Virtual Key - IR.ITEM_VIRTUAL_KEY_BUTTON• Joystick - IR.ITEM_JOYSTICK
![Page 20: iRidium Script: Интерфейсы](https://reader035.vdocument.in/reader035/viewer/2022062218/5877213b1a28ab4c1d8b7a01/html5/thumbnails/20.jpg)
IR.CreateItem(Тип_элемента, Имя_элемента,Координата_X, Координата_Y, Ширина_элемента, Высота_элемента);
Эта функция используется для создания элементов
Тип_элемента - указываем тип элемента, который создаем;Имя_элемента - задаем имя элемента;Координата_Х, Координата_Y - начальная позиция элемента в рабочем поле;Ширина_элемента, Высота_элемента - ширина и высота создаваемого элемента
![Page 21: iRidium Script: Интерфейсы](https://reader035.vdocument.in/reader035/viewer/2022062218/5877213b1a28ab4c1d8b7a01/html5/thumbnails/21.jpg)
IR.CreateItem(Тип_элемента, Имя_элемента,Координата_X, Координата_Y, Ширина_элемента, Высота_элемента);
Эта функция используется для создания элементов
Тип_элемента - указываем тип элемента, который создаем;Имя_элемента - задаем имя элемента;Координата_Х, Координата_Y - начальная позиция элемента в рабочем поле;Ширина_элемента, Высота_элемента - ширина и высота создаваемого элемента
![Page 22: iRidium Script: Интерфейсы](https://reader035.vdocument.in/reader035/viewer/2022062218/5877213b1a28ab4c1d8b7a01/html5/thumbnails/22.jpg)
IR.CreateItem(Тип_элемента, Имя_элемента,Координата_X, Координата_Y, Ширина_элемента, Высота_элемента);
Эта функция используется для создания элементов
Тип_элемента - указываем тип элемента, который создаем;Имя_элемента - задаем имя элемента;Координата_Х, Координата_Y - начальная позиция элемента в рабочем поле;Ширина_элемента, Высота_элемента - ширина и высота создаваемого элемента
![Page 23: iRidium Script: Интерфейсы](https://reader035.vdocument.in/reader035/viewer/2022062218/5877213b1a28ab4c1d8b7a01/html5/thumbnails/23.jpg)
IR.CreateItem(Тип_элемента, Имя_элемента,Координата_X, Координата_Y, Ширина_элемента, Высота_элемента);
Эта функция используется для создания элементов
Тип_элемента - указываем тип элемента, который создаем;Имя_элемента - задаем имя элемента;Координата_Х, Координата_Y - начальная позиция элемента в рабочем поле;Ширина_элемента, Высота_элемента - ширина и высота создаваемого элемента
![Page 24: iRidium Script: Интерфейсы](https://reader035.vdocument.in/reader035/viewer/2022062218/5877213b1a28ab4c1d8b7a01/html5/thumbnails/24.jpg)
IR.CreateItem(Тип_элемента, Имя_элемента,Координата_X, Координата_Y, Ширина_элемента, Высота_элемента);
Эта функция используется для создания элементов
Тип_элемента - указываем тип элемента, который создаем;Имя_элемента - задаем имя элемента;Координата_Х, Координата_Y - начальная позиция элемента в рабочем поле;Ширина_элемента, Высота_элемента - ширина и высота создаваемого элемента
![Page 25: iRidium Script: Интерфейсы](https://reader035.vdocument.in/reader035/viewer/2022062218/5877213b1a28ab4c1d8b7a01/html5/thumbnails/25.jpg)
IR.GetItem("Страница_Размещения_Элемента").GetItem("Имя_Элемента")
Эта функция используется для получения идентификатора элемента
Страница_Размещения_Элемента - страница с расположенным элементИмя_Элемента - имя элемента, который редактируем
![Page 26: iRidium Script: Интерфейсы](https://reader035.vdocument.in/reader035/viewer/2022062218/5877213b1a28ab4c1d8b7a01/html5/thumbnails/26.jpg)
IR.GetState(№ состояния)
Эта функция используется для получения доступа к свойствам состояний
![Page 27: iRidium Script: Интерфейсы](https://reader035.vdocument.in/reader035/viewer/2022062218/5877213b1a28ab4c1d8b7a01/html5/thumbnails/27.jpg)
IR.DeleteItem(Идентификатор_элемента);
Эта функция используется для удаления графических элементов
Идентификатор_элемента – Обращение к элементу с помощью GetItem или передача переменной, которая хранит в себе идентификатор объекта
![Page 28: iRidium Script: Интерфейсы](https://reader035.vdocument.in/reader035/viewer/2022062218/5877213b1a28ab4c1d8b7a01/html5/thumbnails/28.jpg)
Функции для работы со страницами и попапами
• IR.PagesCount - Функция используется для подсчета страниц в проекте
• IR.PopupsCount - Функция используется для подсчета попапов в проекте
• IR.CurrentPage - Функция используется для получения открытой в данный момент страницы
• IR.ShowPopup – Функция для открытия попапа• IR.ShowPage – Функция для открытия страницы• IR.HidePage – Функция для закрытия страницы• IR.HideAllPopups – Функция для закрытия всех попапов• IR.HidePopup – функция для закрытия попапа
![Page 29: iRidium Script: Интерфейсы](https://reader035.vdocument.in/reader035/viewer/2022062218/5877213b1a28ab4c1d8b7a01/html5/thumbnails/29.jpg)
События слушателя GUI API
IR.EVENT_ITEM_PRESS – Слушатель активируется при нажатии на элемент IR.EVENT_ITEM_RELEASE – Слушатель активируется при отпускании элементаIR.EVENT_ITEM_CHANGE – Слушатель активируется при изменении элемента EditBoxIR.EVENT_MOUSE_DOWN – Слушатель активируется если нажать на элемент и провести мышкой внизIR.EVENT_MOUSE_UP– Слушатель активируется если нажать на элемент и провести мышкой вверхIR.EVENT_MOUSE_MOVE – Слушатель активируется если нажать на элемент и провести мышкой в любую сторону
![Page 30: iRidium Script: Интерфейсы](https://reader035.vdocument.in/reader035/viewer/2022062218/5877213b1a28ab4c1d8b7a01/html5/thumbnails/30.jpg)
События слушателя GUI API
IR.EVENT_TOUCH_DOWN – Слушатель активируется если нажать на элемент и провести пальцем внизIR.EVENT_TOUCH_UP – Слушатель активируется если нажать на элемент и провести пальцем вверхIR.EVENT_TOUCH_MOVE– Слушатель активируется если нажать на элемент и провести пальцем в любую сторонуIR.EVENT_ITEM_SHOW– Слушатель активируется если открылась страница или попапIR.EVENT_ITEM_HIDE– Слушатель активируется если закрылась страница или попап
Новое в 3.0IR.EVENT_ITEM_END_HOLD - срабатывает в конце удержания графического элемента (при отпускании, после события HOLD)IR.EVENT_ITEM_LOST_FOCUS - срабатывает при отпускании любого объекта интерфейса (вместе с Release или End Of Hold). Событие указывает на потерю элементом фокуса
![Page 31: iRidium Script: Интерфейсы](https://reader035.vdocument.in/reader035/viewer/2022062218/5877213b1a28ab4c1d8b7a01/html5/thumbnails/31.jpg)
Новое в 3.0
Теперь можно работать с буфером обмена• IR.PasteFromClipboard• IR.GetClipboard• IR.ShowPasteHelper• IR.CopyToClipboard
Появился метод клонирования• IR.GetItem("Page 2").GetItem("Item 1").CloneItem("Item 2");
![Page 32: iRidium Script: Интерфейсы](https://reader035.vdocument.in/reader035/viewer/2022062218/5877213b1a28ab4c1d8b7a01/html5/thumbnails/32.jpg)
Новое в 3.0
Локальные уведомления IR.SendNotificationотправить локальное уведомление на то же iOS устройство, где запущено приложение i3 pro (на других ОС не работает)
СинтаксисIR.SendNotification(text, delay, sound_id, badge_increment_num, id)
Text - текст уведомленияDelay - (cек) задержка появления уведомленияsound_id - идентификатор звука, с которым будет вызвано уведомление:• 0 - без звука• 1 - стандартный звук уведомления iOS• 2 - стандартный рингтон iOSbadge_increment_num - на сколько увеличить число полученных уведомлений поверх иконки приложенияId - уникальный идентификатор уведомления
IR.ClearNotification – очистка уведомлений от приложения
![Page 33: iRidium Script: Интерфейсы](https://reader035.vdocument.in/reader035/viewer/2022062218/5877213b1a28ab4c1d8b7a01/html5/thumbnails/33.jpg)
Новое в 3.0
Глобальный слушатель и подписка на любые тегиВ версии 3.0 вы можете подписываться на изменение ЛЮБОГО тега, будь то фидбек драйвера или текст EditBox
//Set global listenerIR.SetGlobalListener(IR.EVENT_GLOBAL_TAG_CHANGE, function(name, value){ IR.Log("Global Listener Activated: " + name + "\tValue: " + value);});// Subscribe IR.SubscribeTagChange("Drivers.KNX IP Router.Address 1"); IR.SubscribeTagChange("Drivers.AV & Custom Systems (TCP).Online"); IR.SubscribeTagChange("UI.Page 1.Item 1.Text"); IR.SubscribeTagChange("System.Time.24");
![Page 34: iRidium Script: Интерфейсы](https://reader035.vdocument.in/reader035/viewer/2022062218/5877213b1a28ab4c1d8b7a01/html5/thumbnails/34.jpg)
Sound API
• IR.PlaySound('File_Name',Slot_Number,Volume);
File_Name - имя звукового файлаSlot_Number - номер слотаVolume - уровень громкости
• IR.StopSound('File_Name');
File_Name - имя звукового файла
• IR.StopSlot('Slot_Number');
Slot_Number - номер слота
• IR.StopAllSounds();
![Page 35: iRidium Script: Интерфейсы](https://reader035.vdocument.in/reader035/viewer/2022062218/5877213b1a28ab4c1d8b7a01/html5/thumbnails/35.jpg)
Gestures API
IR.AddRecognizer(Тип_Жеста); IR.RemoveRecognizer(Тип_Жеста);
Событие: IR.EVENT_GESTURE_BEGIN
Типы жестовIR.GESTURE_SWIPE_LEFT - жест влево;IR.GESTURE_SWIPE_RIGHT - жест вправо;IR.GESTURE_SWIPE_UP - жест вверх;IR.GESTURE_SWIPE_DOWN - жест вниз;IR.GESTURE_PINCH_IN - жест сжать;IR.GESTURE_PINCH_OUT - жест разжать;IR.GESTURE_LONG_PRESS - долгое нажатие;IR.GESTURE_DOUBLE_TAP - двойное нажатие;
![Page 36: iRidium Script: Интерфейсы](https://reader035.vdocument.in/reader035/viewer/2022062218/5877213b1a28ab4c1d8b7a01/html5/thumbnails/36.jpg)
Событие IR.EVENT_GESTURE_BEGIN
IR.AddListener(IR.EVENT_GESTURE_BEGIN, IR.CurrentPage, function(gesture, x, y) { // Конструкция выбора switch(gesture) { case IR.GESTURE_SWIPE_LEFT: button.Text = "Left"; // Если начался жест влево, то появится надпись "Left" break; case IR.GESTURE_SWIPE_RIGHT: button.Text = "Right"; // Если начался жест вправо, то появится надпись "Right" break; case IR.GESTURE_SWIPE_UP: button.Text = "Up"; // Если начался жест вверх, то появится надпись "Up" break; case IR.GESTURE_SWIPE_DOWN: button.Text = "Down"; // Если начался жест вниз, то появится надпись "Down" break; } });
![Page 37: iRidium Script: Интерфейсы](https://reader035.vdocument.in/reader035/viewer/2022062218/5877213b1a28ab4c1d8b7a01/html5/thumbnails/37.jpg)