37
JavaScript Enhanced capabilities of control interfaces Markov Ilya 2016 Webinar

iRidium Script: Интерфейсы

Embed Size (px)

Citation preview

Page 1: iRidium Script: Интерфейсы

JavaScriptEnhanced capabilities of control

interfaces

Markov Ilya2016

Webinar

Page 2: iRidium Script: Интерфейсы

JSGUI

Tokens

Drivers

Sounds

Page 3: iRidium Script: Интерфейсы

Interface

Listener

Actions

Page 4: iRidium Script: Интерфейсы
Page 5: iRidium Script: Интерфейсы
Page 6: iRidium Script: Интерфейсы
Page 7: iRidium Script: Интерфейсы

IR.AddListener(Тип_События,Указатель_на_Элемент,function(Входные_Параметры){ Тело Слушателя});

Тип_События - Событие при котором сработает функция Указатель_на_Элемент - Указатель элемента к которому привязывается функцияВходные_Параметры - Параметры передающие информацию функцииТело Слушателя - Инструкции которые будут выполнены при активации слушателя

Page 8: iRidium Script: Интерфейсы

Типы событий для системных слушателей• IR.EVENT_START – событие при указании которого слушатель

будет срабатывать на начале работы приложения.

• IR.EVENT_WORK – событие при указании которого слушатель будет срабатывать циклично во время работы приложения до тех пор пока приложение не завершит свою работу.

• IR.EVENT_EXIT – событие при указании которого слушатель будет срабатывать при окончании работы приложения.

• IR.EVENT_ORIENTATION – событие при указании которого слушатель будет срабатывать при смене ориентации панели.

• IR.EVENT_KEYBOARD_SHOW – событие при указании которого слушатель будет срабатывать при открытии клавиатуры.

Page 9: iRidium Script: Интерфейсы

IR.AddListener(Тип_События,Указатель_на_Элемент,function(Входные_Параметры){ Тело Слушателя});

Тип_События - Событие при котором сработает функция Указатель_на_Элемент - Указатель элемента к которому привязывается функцияВходные_Параметры - Параметры передающие информацию функцииТело Слушателя - Инструкции которые будут выполнены при активации слушателя

Page 10: iRidium Script: Интерфейсы

IR.AddListener(Тип_События,Указатель_на_Элемент,function(Входные_Параметры){ Тело Слушателя});

Тип_События - Событие при котором сработает функция Указатель_на_Элемент - Указатель элемента к которому привязывается функцияВходные_Параметры - Параметры передающие информацию функцииТело Слушателя - Инструкции которые будут выполнены при активации слушателя

Page 11: iRidium Script: Интерфейсы
Page 12: iRidium Script: Интерфейсы

Таймеры в iRidumScript.

IR.SetTimeout(time, Name_Function); - Эта функция используется для запуска функции по истечению задержки

time - время промежутка, мсName_Function - имя функции содержащей команды

IR.SetInterval(time, Name_Function); - Эта функция используется для цикличного повторения функции с заданным промежутком

time - время задержки, мсName_Function - имя функции содержащей команды

Page 13: iRidium Script: Интерфейсы

Удаление таймеров

IR.ClearInterval(id); - Эта функция используется для удаления функций задержки.

id - идентификатор функции SetTimeout или SetInterval

Page 14: iRidium Script: Интерфейсы

IR.RemoveListener (Тип_События, Указатель_на_Элемент, Имя_Функции);

Тип_События - Событие при котором сработает функцияУказатель_на_Элемент - Указатель элемента к которому привязывается функцияИмя_функции - Имя функции в которой содержится список инструкций

Page 15: iRidium Script: Интерфейсы

Функция для вывода информации в консоль

IR.Log('text');IR.Log(Variable);

text – строкаVariable - переменная

Page 16: iRidium Script: Интерфейсы

IR.Exit(); - Эта функция закрывает приложение

IR.Execute('text'); - Эта функция используется для запуска внешних программ

IR.ShowKeyboard(value); - Эта функция используется для показа клавиатуры.

Page 17: iRidium Script: Интерфейсы

GUI API

GUI API - это набор функций, предназначенных для работы с графическими объектами в проекте.

Эти функции позволяют:• Создавать элементы• Удалять элементы• Обращаться к элементам и менять их свойства• Создавать слушатели привязанные к графическим элементам• Открывать и закрывать страницы и попапы

Page 18: iRidium Script: Интерфейсы

IR.CreateItem(Тип_элемента, Имя_элемента,Координата_X, Координата_Y, Ширина_элемента, Высота_элемента);

Эта функция используется для создания элементов

Тип_элемента - указываем тип элемента, который создаем;Имя_элемента - задаем имя элемента;Координата_Х, Координата_Y - начальная позиция элемента в рабочем поле;Ширина_элемента, Высота_элемента - ширина и высота создаваемого элемента

Page 19: iRidium Script: Интерфейсы

Тип элемента определяет, что будет представлять из себя созданный элемент, а именно, задает элементу специфичный набор свойств.

Существуют такие типы:• 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: Интерфейсы

IR.CreateItem(Тип_элемента, Имя_элемента,Координата_X, Координата_Y, Ширина_элемента, Высота_элемента);

Эта функция используется для создания элементов

Тип_элемента - указываем тип элемента, который создаем;Имя_элемента - задаем имя элемента;Координата_Х, Координата_Y - начальная позиция элемента в рабочем поле;Ширина_элемента, Высота_элемента - ширина и высота создаваемого элемента

Page 21: iRidium Script: Интерфейсы

IR.CreateItem(Тип_элемента, Имя_элемента,Координата_X, Координата_Y, Ширина_элемента, Высота_элемента);

Эта функция используется для создания элементов

Тип_элемента - указываем тип элемента, который создаем;Имя_элемента - задаем имя элемента;Координата_Х, Координата_Y - начальная позиция элемента в рабочем поле;Ширина_элемента, Высота_элемента - ширина и высота создаваемого элемента

Page 22: iRidium Script: Интерфейсы

IR.CreateItem(Тип_элемента, Имя_элемента,Координата_X, Координата_Y, Ширина_элемента, Высота_элемента);

Эта функция используется для создания элементов

Тип_элемента - указываем тип элемента, который создаем;Имя_элемента - задаем имя элемента;Координата_Х, Координата_Y - начальная позиция элемента в рабочем поле;Ширина_элемента, Высота_элемента - ширина и высота создаваемого элемента

Page 23: iRidium Script: Интерфейсы

IR.CreateItem(Тип_элемента, Имя_элемента,Координата_X, Координата_Y, Ширина_элемента, Высота_элемента);

Эта функция используется для создания элементов

Тип_элемента - указываем тип элемента, который создаем;Имя_элемента - задаем имя элемента;Координата_Х, Координата_Y - начальная позиция элемента в рабочем поле;Ширина_элемента, Высота_элемента - ширина и высота создаваемого элемента

Page 24: iRidium Script: Интерфейсы

IR.CreateItem(Тип_элемента, Имя_элемента,Координата_X, Координата_Y, Ширина_элемента, Высота_элемента);

Эта функция используется для создания элементов

Тип_элемента - указываем тип элемента, который создаем;Имя_элемента - задаем имя элемента;Координата_Х, Координата_Y - начальная позиция элемента в рабочем поле;Ширина_элемента, Высота_элемента - ширина и высота создаваемого элемента

Page 25: iRidium Script: Интерфейсы

IR.GetItem("Страница_Размещения_Элемента").GetItem("Имя_Элемента")

Эта функция используется для получения идентификатора элемента

Страница_Размещения_Элемента - страница с расположенным элементИмя_Элемента - имя элемента, который редактируем

Page 26: iRidium Script: Интерфейсы

IR.GetState(№ состояния)

Эта функция используется для получения доступа к свойствам состояний

Page 27: iRidium Script: Интерфейсы

IR.DeleteItem(Идентификатор_элемента);

Эта функция используется для удаления графических элементов

Идентификатор_элемента – Обращение к элементу с помощью GetItem или передача переменной, которая хранит в себе идентификатор объекта

Page 28: iRidium Script: Интерфейсы

Функции для работы со страницами и попапами

• IR.PagesCount - Функция используется для подсчета страниц в проекте

• IR.PopupsCount - Функция используется для подсчета попапов в проекте

• IR.CurrentPage - Функция используется для получения открытой в данный момент страницы

• IR.ShowPopup – Функция для открытия попапа• IR.ShowPage – Функция для открытия страницы• IR.HidePage – Функция для закрытия страницы• IR.HideAllPopups – Функция для закрытия всех попапов• IR.HidePopup – функция для закрытия попапа

Page 29: iRidium Script: Интерфейсы

События слушателя 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: Интерфейсы

События слушателя 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: Интерфейсы

Новое в 3.0

Теперь можно работать с буфером обмена• IR.PasteFromClipboard• IR.GetClipboard• IR.ShowPasteHelper• IR.CopyToClipboard

Появился метод клонирования• IR.GetItem("Page 2").GetItem("Item 1").CloneItem("Item 2");

Page 32: iRidium Script: Интерфейсы

Новое в 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: Интерфейсы

Новое в 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: Интерфейсы

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: Интерфейсы

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: Интерфейсы

Событие 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: Интерфейсы