SlideShare a Scribd company logo
JavaScript
Enhanced capabilities of control interfaces
Markov Ilya
2016
Webinar
JS
GUI
Tokens
Drivers
Sounds
Interface Listener Actions
IR.AddListener(Тип_События,Указатель_на_Элемент,function(Входные_Параметры)
{
Тело Слушателя
});
Тип_События - Событие при котором сработает функция Указатель_на_Элемент -
Указатель элемента к которому привязывается функция
Входные_Параметры - Параметры передающие информацию функции
Тело Слушателя - Инструкции которые будут выполнены при активации слушателя
Типы событий для системных слушателей
•IR.EVENT_START – событие при указании которого слушатель будет
срабатывать на начале работы приложения.
•IR.EVENT_WORK – событие при указании которого слушатель будет
срабатывать циклично во время работы приложения до тех пор пока
приложение не завершит свою работу.
•IR.EVENT_EXIT – событие при указании которого слушатель будет
срабатывать при окончании работы приложения.
•IR.EVENT_ORIENTATION – событие при указании которого слушатель будет
срабатывать при смене ориентации панели.
•IR.EVENT_KEYBOARD_SHOW – событие при указании которого слушатель
будет срабатывать при открытии клавиатуры.
IR.AddListener(Тип_События,Указатель_на_Элемент,function(Входные_Параметры)
{
Тело Слушателя
});
Тип_События - Событие при котором сработает функция Указатель_на_Элемент -
Указатель элемента к которому привязывается функция
Входные_Параметры - Параметры передающие информацию функции
Тело Слушателя - Инструкции которые будут выполнены при активации слушателя
IR.AddListener(Тип_События,Указатель_на_Элемент,function(Входные_Параметры)
{
Тело Слушателя
});
Тип_События - Событие при котором сработает функция Указатель_на_Элемент -
Указатель элемента к которому привязывается функция
Входные_Параметры - Параметры передающие информацию функции
Тело Слушателя - Инструкции которые будут выполнены при активации слушателя
Таймеры в iRidumScript.
IR.SetTimeout(time, Name_Function); - Эта функция используется для запуска
функции по истечению задержки
time - время промежутка, мс
Name_Function - имя функции содержащей команды
IR.SetInterval(time, Name_Function); - Эта функция используется для
цикличного повторения функции с заданным промежутком
time - время задержки, мс
Name_Function - имя функции содержащей команды
Удаление таймеров
IR.ClearInterval(id); - Эта функция используется для удаления функций задержки.
id - идентификатор функции SetTimeout или SetInterval
IR.RemoveListener (Тип_События, Указатель_на_Элемент, Имя_Функции);
Тип_События - Событие при котором сработает функция
Указатель_на_Элемент - Указатель элемента к которому привязывается функция
Имя_функции - Имя функции в которой содержится список инструкций
Функция для вывода информации в консоль
IR.Log('text');
IR.Log(Variable);
text – строка
Variable - переменная
IR.Exit(); - Эта функция закрывает приложение
IR.Execute('text'); - Эта функция используется для запуска внешних
программ
IR.ShowKeyboard(value); - Эта функция используется для показа
клавиатуры.
GUI API
GUI API - это набор функций, предназначенных для работы с
графическими объектами в проекте.
Эти функции позволяют:
• Создавать элементы
• Удалять элементы
• Обращаться к элементам и менять их свойства
• Создавать слушатели привязанные к графическим элементам
• Открывать и закрывать страницы и попапы
IR.CreateItem(Тип_элемента, Имя_элемента,Координата_X, Координата_Y,
Ширина_элемента, Высота_элемента);
Эта функция используется для создания элементов
Тип_элемента - указываем тип элемента, который создаем;
Имя_элемента - задаем имя элемента;
Координата_Х, Координата_Y - начальная позиция элемента в рабочем
поле;
Ширина_элемента, Высота_элемента - ширина и высота создаваемого
элемента
Тип элемента определяет, что будет представлять из себя созданный
элемент, а именно, задает элементу специфичный набор свойств.
Существуют такие типы:
•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
IR.CreateItem(Тип_элемента, Имя_элемента,Координата_X, Координата_Y,
Ширина_элемента, Высота_элемента);
Эта функция используется для создания элементов
Тип_элемента - указываем тип элемента, который создаем;
Имя_элемента - задаем имя элемента;
Координата_Х, Координата_Y - начальная позиция элемента в рабочем
поле;
Ширина_элемента, Высота_элемента - ширина и высота создаваемого
элемента
IR.CreateItem(Тип_элемента, Имя_элемента,Координата_X, Координата_Y,
Ширина_элемента, Высота_элемента);
Эта функция используется для создания элементов
Тип_элемента - указываем тип элемента, который создаем;
Имя_элемента - задаем имя элемента;
Координата_Х, Координата_Y - начальная позиция элемента в рабочем
поле;
Ширина_элемента, Высота_элемента - ширина и высота создаваемого
элемента
IR.CreateItem(Тип_элемента, Имя_элемента,Координата_X, Координата_Y,
Ширина_элемента, Высота_элемента);
Эта функция используется для создания элементов
Тип_элемента - указываем тип элемента, который создаем;
Имя_элемента - задаем имя элемента;
Координата_Х, Координата_Y - начальная позиция элемента в рабочем
поле;
Ширина_элемента, Высота_элемента - ширина и высота создаваемого
элемента
IR.CreateItem(Тип_элемента, Имя_элемента,Координата_X, Координата_Y,
Ширина_элемента, Высота_элемента);
Эта функция используется для создания элементов
Тип_элемента - указываем тип элемента, который создаем;
Имя_элемента - задаем имя элемента;
Координата_Х, Координата_Y - начальная позиция элемента в рабочем
поле;
Ширина_элемента, Высота_элемента - ширина и высота создаваемого
элемента
IR.CreateItem(Тип_элемента, Имя_элемента,Координата_X, Координата_Y,
Ширина_элемента, Высота_элемента);
Эта функция используется для создания элементов
Тип_элемента - указываем тип элемента, который создаем;
Имя_элемента - задаем имя элемента;
Координата_Х, Координата_Y - начальная позиция элемента в рабочем
поле;
Ширина_элемента, Высота_элемента - ширина и высота создаваемого
элемента
IR.GetItem("Страница_Размещения_Элемента").GetItem("Имя_Элемента")
Эта функция используется для получения идентификатора элемента
Страница_Размещения_Элемента - страница с расположенным элемент
Имя_Элемента - имя элемента, который редактируем
IR.GetState(№ состояния)
Эта функция используется для получения доступа к свойствам состояний
IR.DeleteItem(Идентификатор_элемента);
Эта функция используется для удаления графических элементов
Идентификатор_элемента – Обращение к элементу с помощью GetItem или
передача переменной, которая хранит в себе идентификатор объекта
Функции для работы со страницами и попапами
•IR.PagesCount - Функция используется для подсчета страниц в проекте
•IR.PopupsCount - Функция используется для подсчета попапов в проекте
•IR.CurrentPage - Функция используется для получения открытой в данный
момент страницы
•IR.ShowPopup – Функция для открытия попапа
•IR.ShowPage – Функция для открытия страницы
•IR.HidePage – Функция для закрытия страницы
•IR.HideAllPopups – Функция для закрытия всех попапов
•IR.HidePopup – функция для закрытия попапа
События слушателя GUI API
IR.EVENT_ITEM_PRESS – Слушатель активируется при нажатии на элемент
IR.EVENT_ITEM_RELEASE – Слушатель активируется при отпускании элемента
IR.EVENT_ITEM_CHANGE – Слушатель активируется при изменении элемента
EditBox
IR.EVENT_MOUSE_DOWN – Слушатель активируется если нажать на элемент и
провести мышкой вниз
IR.EVENT_MOUSE_UP– Слушатель активируется если нажать на элемент и провести
мышкой вверх
IR.EVENT_MOUSE_MOVE – Слушатель активируется если нажать на элемент и
провести мышкой в любую сторону
События слушателя GUI API
IR.EVENT_TOUCH_DOWN – Слушатель активируется если нажать на элемент и
провести пальцем вниз
IR.EVENT_TOUCH_UP – Слушатель активируется если нажать на элемент и
провести пальцем вверх
IR.EVENT_TOUCH_MOVE– Слушатель активируется если нажать на элемент и
провести пальцем в любую сторону
IR.EVENT_ITEM_SHOW– Слушатель активируется если открылась страница или
попап
IR.EVENT_ITEM_HIDE– Слушатель активируется если закрылась страница или
попап
Новое в 3.0
IR.EVENT_ITEM_END_HOLD - срабатывает в конце удержания графического
элемента (при отпускании, после события HOLD)
IR.EVENT_ITEM_LOST_FOCUS - срабатывает при отпускании любого объекта
интерфейса (вместе с Release или End Of Hold). Событие указывает на потерю
элементом фокуса
Новое в 3.0
Теперь можно работать с буфером обмена
• IR.PasteFromClipboard
• IR.GetClipboard
• IR.ShowPasteHelper
• IR.CopyToClipboard
Появился метод клонирования
• IR.GetItem("Page 2").GetItem("Item 1").CloneItem("Item 2");
Новое в 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 - стандартный рингтон iOS
badge_increment_num - на сколько увеличить число полученных уведомлений поверх иконки приложения
Id - уникальный идентификатор уведомления
IR.ClearNotification – очистка уведомлений от приложения
Новое в 3.0
Глобальный слушатель и подписка на любые теги
В версии 3.0 вы можете подписываться на изменение ЛЮБОГО тега, будь то фидбек драйвера или текст
EditBox
//Set global listener
IR.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");
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();
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 - двойное нажатие;
Событие 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;
}
});
iRidium Script: Интерфейсы

More Related Content

Viewers also liked

1 pravitelstvo moskvy
1 pravitelstvo moskvy1 pravitelstvo moskvy
1 pravitelstvo moskvysouthmos
 
iRidium 3.0 for KNX
iRidium 3.0 for KNXiRidium 3.0 for KNX
iRidium 3.0 for KNX
iRidiumMobile365
 
iRidium для Teco
iRidium для TecoiRidium для Teco
iRidium для Teco
iRidiumMobile365
 
Как работать в iRidium Studio
Как работать в iRidium StudioКак работать в iRidium Studio
Как работать в iRidium Studio
iRidiumMobile365
 
Как продавать iRidium
Как продавать iRidiumКак продавать iRidium
Как продавать iRidium
iRidiumMobile365
 
iRidium for TECO
iRidium for TECOiRidium for TECO
iRidium for TECO
iRidiumMobile365
 
Как настраивать iRidium Server?
Как настраивать iRidium Server?Как настраивать iRidium Server?
Как настраивать iRidium Server?
iRidiumMobile365
 
iRidium pro for HDL
iRidium pro for HDLiRidium pro for HDL
iRidium pro for HDL
iRidiumMobile365
 
Технологии "Умного города"
Технологии "Умного города"Технологии "Умного города"
Технологии "Умного города"
Сергей Ледин
 
iRidium Script: Драйверы
iRidium Script: ДрайверыiRidium Script: Драйверы
iRidium Script: Драйверы
iRidiumMobile365
 
"Разработака и применение технологий программного управления для бытовых нужд...
"Разработака и применение технологий программного управления для бытовых нужд..."Разработака и применение технологий программного управления для бытовых нужд...
"Разработака и применение технологий программного управления для бытовых нужд...
Olexander Kovalenko
 
iRidium for Global Caché, AV & Custom Systems
iRidium for Global Caché, AV & Custom SystemsiRidium for Global Caché, AV & Custom Systems
iRidium for Global Caché, AV & Custom Systems
iRidiumMobile365
 
Вводный вебинар по iRidium 3.0
Вводный вебинар по iRidium 3.0Вводный вебинар по iRidium 3.0
Вводный вебинар по iRidium 3.0
iRidiumMobile365
 
"Умный дом" команды КЭШ
"Умный дом" команды КЭШ"Умный дом" команды КЭШ
"Умный дом" команды КЭШ
StarodubovaPolina
 
умный дом презентация
умный дом презентацияумный дом презентация
умный дом презентация
Ingvar Lav
 
Умный дом - просто!
Умный дом - просто!Умный дом - просто!
Умный дом - просто!
Pavel Cheremisin
 
Умный дом и Интернет Вещей. Трансформация существующей концепции автоматизации
Умный дом и Интернет Вещей. Трансформация существующей концепции автоматизацииУмный дом и Интернет Вещей. Трансформация существующей концепции автоматизации
Умный дом и Интернет Вещей. Трансформация существующей концепции автоматизации
iRidiumMobile365
 
BeeWi умный дом 2015
BeeWi умный дом 2015BeeWi умный дом 2015
BeeWi умный дом 2015
grafitec_z
 
презентация
презентацияпрезентация
презентация
Ирина Маркина
 

Viewers also liked (20)

1 pravitelstvo moskvy
1 pravitelstvo moskvy1 pravitelstvo moskvy
1 pravitelstvo moskvy
 
iRidium 3.0 for KNX
iRidium 3.0 for KNXiRidium 3.0 for KNX
iRidium 3.0 for KNX
 
iRidium для Teco
iRidium для TecoiRidium для Teco
iRidium для Teco
 
Как работать в iRidium Studio
Как работать в iRidium StudioКак работать в iRidium Studio
Как работать в iRidium Studio
 
Как продавать iRidium
Как продавать iRidiumКак продавать iRidium
Как продавать iRidium
 
iRidium for TECO
iRidium for TECOiRidium for TECO
iRidium for TECO
 
Как настраивать iRidium Server?
Как настраивать iRidium Server?Как настраивать iRidium Server?
Как настраивать iRidium Server?
 
iRidium pro for HDL
iRidium pro for HDLiRidium pro for HDL
iRidium pro for HDL
 
Технологии "Умного города"
Технологии "Умного города"Технологии "Умного города"
Технологии "Умного города"
 
iRidium Script: Драйверы
iRidium Script: ДрайверыiRidium Script: Драйверы
iRidium Script: Драйверы
 
"Разработака и применение технологий программного управления для бытовых нужд...
"Разработака и применение технологий программного управления для бытовых нужд..."Разработака и применение технологий программного управления для бытовых нужд...
"Разработака и применение технологий программного управления для бытовых нужд...
 
iRidium for Global Caché, AV & Custom Systems
iRidium for Global Caché, AV & Custom SystemsiRidium for Global Caché, AV & Custom Systems
iRidium for Global Caché, AV & Custom Systems
 
Вводный вебинар по iRidium 3.0
Вводный вебинар по iRidium 3.0Вводный вебинар по iRidium 3.0
Вводный вебинар по iRidium 3.0
 
Умный дом
Умный домУмный дом
Умный дом
 
"Умный дом" команды КЭШ
"Умный дом" команды КЭШ"Умный дом" команды КЭШ
"Умный дом" команды КЭШ
 
умный дом презентация
умный дом презентацияумный дом презентация
умный дом презентация
 
Умный дом - просто!
Умный дом - просто!Умный дом - просто!
Умный дом - просто!
 
Умный дом и Интернет Вещей. Трансформация существующей концепции автоматизации
Умный дом и Интернет Вещей. Трансформация существующей концепции автоматизацииУмный дом и Интернет Вещей. Трансформация существующей концепции автоматизации
Умный дом и Интернет Вещей. Трансформация существующей концепции автоматизации
 
BeeWi умный дом 2015
BeeWi умный дом 2015BeeWi умный дом 2015
BeeWi умный дом 2015
 
презентация
презентацияпрезентация
презентация
 

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

Автоматизация UI тестирования под Windows и Windows Phone
Автоматизация UI тестирования под Windows и Windows PhoneАвтоматизация UI тестирования под Windows и Windows Phone
Автоматизация UI тестирования под Windows и Windows Phone
CodeFest
 
Анджей Гужовский "Riot.JS, или как приготовить современные Web Components"
Анджей Гужовский "Riot.JS, или как приготовить современные Web Components"Анджей Гужовский "Riot.JS, или как приготовить современные Web Components"
Анджей Гужовский "Riot.JS, или как приготовить современные Web Components"
Fwdays
 
UI-тесты в iOS-проекте / Михаил Домрачев (Improve Digital)
UI-тесты в iOS-проекте / Михаил Домрачев (Improve Digital)UI-тесты в iOS-проекте / Михаил Домрачев (Improve Digital)
UI-тесты в iOS-проекте / Михаил Домрачев (Improve Digital)
Ontico
 
Дмитрий Котенко – Реактивный VIPER
Дмитрий Котенко – Реактивный VIPERДмитрий Котенко – Реактивный VIPER
Дмитрий Котенко – Реактивный VIPER
CocoaHeads
 
Mobile automation uamobile
Mobile automation uamobileMobile automation uamobile
Mobile automation uamobileUA Mobile
 
Building corporate portals with liferay JEEConf 2011
Building corporate portals with liferay   JEEConf 2011Building corporate portals with liferay   JEEConf 2011
Building corporate portals with liferay JEEConf 2011Alexey Kakunin
 
Функциональный .NET
Функциональный .NETФункциональный .NET
Функциональный .NET
Roman Nevolin
 
Toolbar (Lecture 16 – toolbar)
Toolbar (Lecture 16 – toolbar)Toolbar (Lecture 16 – toolbar)
Toolbar (Lecture 16 – toolbar)
Noveo
 
JavaScript Базовый. Занятие 10.
JavaScript Базовый. Занятие 10.JavaScript Базовый. Занятие 10.
JavaScript Базовый. Занятие 10.
Igor Shkulipa
 
Принципы разработки ПО для iPhone с использованием акселерометра
Принципы разработки ПО для iPhone с использованием акселерометраПринципы разработки ПО для iPhone с использованием акселерометра
Принципы разработки ПО для iPhone с использованием акселерометраYandex
 
iOS and Android Mobile Test Automation
iOS and Android Mobile Test AutomationiOS and Android Mobile Test Automation
iOS and Android Mobile Test Automation
Andrii Dzynia
 
JavaScript Базовый. Занятие 05.
JavaScript Базовый. Занятие 05.JavaScript Базовый. Занятие 05.
JavaScript Базовый. Занятие 05.
Igor Shkulipa
 
CodeFest 2010. Высоцкий С. — Автоматизация тестирования Flex/Flash GUI
CodeFest 2010. Высоцкий С. — Автоматизация тестирования Flex/Flash GUICodeFest 2010. Высоцкий С. — Автоматизация тестирования Flex/Flash GUI
CodeFest 2010. Высоцкий С. — Автоматизация тестирования Flex/Flash GUICodeFest
 
Online TechTalk “Flutter Mobile Development”
Online TechTalk “Flutter Mobile Development”Online TechTalk “Flutter Mobile Development”
Online TechTalk “Flutter Mobile Development”
GlobalLogic Ukraine
 
Сидристый Станислав: Паттерны и антипаттерны BDD
Сидристый Станислав: Паттерны и антипаттерны BDDСидристый Станислав: Паттерны и антипаттерны BDD
Сидристый Станислав: Паттерны и антипаттерны BDD
Stanislav Sidristy
 
Поговорим о JavaScript, основы и современные тенденции развития языка
Поговорим о JavaScript, основы и современные тенденции развития языкаПоговорим о JavaScript, основы и современные тенденции развития языка
Поговорим о JavaScript, основы и современные тенденции развития языка
Alexander Kucherenko
 
Лекция_3
Лекция_3Лекция_3
Лекция_3itc73
 

Similar to iRidium Script: Интерфейсы (20)

Автоматизация UI тестирования под Windows и Windows Phone
Автоматизация UI тестирования под Windows и Windows PhoneАвтоматизация UI тестирования под Windows и Windows Phone
Автоматизация UI тестирования под Windows и Windows Phone
 
Анджей Гужовский "Riot.JS, или как приготовить современные Web Components"
Анджей Гужовский "Riot.JS, или как приготовить современные Web Components"Анджей Гужовский "Riot.JS, или как приготовить современные Web Components"
Анджей Гужовский "Riot.JS, или как приготовить современные Web Components"
 
UI-тесты в iOS-проекте / Михаил Домрачев (Improve Digital)
UI-тесты в iOS-проекте / Михаил Домрачев (Improve Digital)UI-тесты в iOS-проекте / Михаил Домрачев (Improve Digital)
UI-тесты в iOS-проекте / Михаил Домрачев (Improve Digital)
 
Дмитрий Котенко – Реактивный VIPER
Дмитрий Котенко – Реактивный VIPERДмитрий Котенко – Реактивный VIPER
Дмитрий Котенко – Реактивный VIPER
 
Mobile automation uamobile
Mobile automation uamobileMobile automation uamobile
Mobile automation uamobile
 
Building corporate portals with liferay JEEConf 2011
Building corporate portals with liferay   JEEConf 2011Building corporate portals with liferay   JEEConf 2011
Building corporate portals with liferay JEEConf 2011
 
Функциональный .NET
Функциональный .NETФункциональный .NET
Функциональный .NET
 
Views обзор
Views обзорViews обзор
Views обзор
 
Toolbar (Lecture 16 – toolbar)
Toolbar (Lecture 16 – toolbar)Toolbar (Lecture 16 – toolbar)
Toolbar (Lecture 16 – toolbar)
 
JavaScript Базовый. Занятие 10.
JavaScript Базовый. Занятие 10.JavaScript Базовый. Занятие 10.
JavaScript Базовый. Занятие 10.
 
Принципы разработки ПО для iPhone с использованием акселерометра
Принципы разработки ПО для iPhone с использованием акселерометраПринципы разработки ПО для iPhone с использованием акселерометра
Принципы разработки ПО для iPhone с использованием акселерометра
 
iOS and Android Mobile Test Automation
iOS and Android Mobile Test AutomationiOS and Android Mobile Test Automation
iOS and Android Mobile Test Automation
 
JavaScript Базовый. Занятие 05.
JavaScript Базовый. Занятие 05.JavaScript Базовый. Занятие 05.
JavaScript Базовый. Занятие 05.
 
CodeFest 2010. Высоцкий С. — Автоматизация тестирования Flex/Flash GUI
CodeFest 2010. Высоцкий С. — Автоматизация тестирования Flex/Flash GUICodeFest 2010. Высоцкий С. — Автоматизация тестирования Flex/Flash GUI
CodeFest 2010. Высоцкий С. — Автоматизация тестирования Flex/Flash GUI
 
Online TechTalk “Flutter Mobile Development”
Online TechTalk “Flutter Mobile Development”Online TechTalk “Flutter Mobile Development”
Online TechTalk “Flutter Mobile Development”
 
Сидристый Станислав: Паттерны и антипаттерны BDD
Сидристый Станислав: Паттерны и антипаттерны BDDСидристый Станислав: Паттерны и антипаттерны BDD
Сидристый Станислав: Паттерны и антипаттерны BDD
 
Обзор возможностей HTML5
Обзор возможностей HTML5Обзор возможностей HTML5
Обзор возможностей HTML5
 
Обзор возможностей HTML5
Обзор возможностей HTML5Обзор возможностей HTML5
Обзор возможностей HTML5
 
Поговорим о JavaScript, основы и современные тенденции развития языка
Поговорим о JavaScript, основы и современные тенденции развития языкаПоговорим о JavaScript, основы и современные тенденции развития языка
Поговорим о JavaScript, основы и современные тенденции развития языка
 
Лекция_3
Лекция_3Лекция_3
Лекция_3
 

More from iRidiumMobile365

iRidium 3.0 for KNX
iRidium 3.0 for KNXiRidium 3.0 for KNX
iRidium 3.0 for KNX
iRidiumMobile365
 
How to work in iRidium Studio?
How to work in iRidium Studio?How to work in iRidium Studio?
How to work in iRidium Studio?
iRidiumMobile365
 
How to Set iRidium Server?
How to Set iRidium Server?How to Set iRidium Server?
How to Set iRidium Server?
iRidiumMobile365
 
iRidium для AMX
iRidium для AMXiRidium для AMX
iRidium для AMX
iRidiumMobile365
 
iRidium для KNX
iRidium для KNXiRidium для KNX
iRidium для KNX
iRidiumMobile365
 
Introductory webinar on iRidium
Introductory webinar on iRidiumIntroductory webinar on iRidium
Introductory webinar on iRidium
iRidiumMobile365
 
Вводный вебинар по iRidium
Вводный вебинар по iRidiumВводный вебинар по iRidium
Вводный вебинар по iRidium
iRidiumMobile365
 
Smart home and internet of things transformation of the existing concept of a...
Smart home and internet of things transformation of the existing concept of a...Smart home and internet of things transformation of the existing concept of a...
Smart home and internet of things transformation of the existing concept of a...
iRidiumMobile365
 

More from iRidiumMobile365 (8)

iRidium 3.0 for KNX
iRidium 3.0 for KNXiRidium 3.0 for KNX
iRidium 3.0 for KNX
 
How to work in iRidium Studio?
How to work in iRidium Studio?How to work in iRidium Studio?
How to work in iRidium Studio?
 
How to Set iRidium Server?
How to Set iRidium Server?How to Set iRidium Server?
How to Set iRidium Server?
 
iRidium для AMX
iRidium для AMXiRidium для AMX
iRidium для AMX
 
iRidium для KNX
iRidium для KNXiRidium для KNX
iRidium для KNX
 
Introductory webinar on iRidium
Introductory webinar on iRidiumIntroductory webinar on iRidium
Introductory webinar on iRidium
 
Вводный вебинар по iRidium
Вводный вебинар по iRidiumВводный вебинар по iRidium
Вводный вебинар по iRidium
 
Smart home and internet of things transformation of the existing concept of a...
Smart home and internet of things transformation of the existing concept of a...Smart home and internet of things transformation of the existing concept of a...
Smart home and internet of things transformation of the existing concept of a...
 

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

  • 1. JavaScript Enhanced capabilities of control interfaces Markov Ilya 2016 Webinar
  • 4.
  • 5.
  • 6.
  • 7. IR.AddListener(Тип_События,Указатель_на_Элемент,function(Входные_Параметры) { Тело Слушателя }); Тип_События - Событие при котором сработает функция Указатель_на_Элемент - Указатель элемента к которому привязывается функция Входные_Параметры - Параметры передающие информацию функции Тело Слушателя - Инструкции которые будут выполнены при активации слушателя
  • 8. Типы событий для системных слушателей •IR.EVENT_START – событие при указании которого слушатель будет срабатывать на начале работы приложения. •IR.EVENT_WORK – событие при указании которого слушатель будет срабатывать циклично во время работы приложения до тех пор пока приложение не завершит свою работу. •IR.EVENT_EXIT – событие при указании которого слушатель будет срабатывать при окончании работы приложения. •IR.EVENT_ORIENTATION – событие при указании которого слушатель будет срабатывать при смене ориентации панели. •IR.EVENT_KEYBOARD_SHOW – событие при указании которого слушатель будет срабатывать при открытии клавиатуры.
  • 9. IR.AddListener(Тип_События,Указатель_на_Элемент,function(Входные_Параметры) { Тело Слушателя }); Тип_События - Событие при котором сработает функция Указатель_на_Элемент - Указатель элемента к которому привязывается функция Входные_Параметры - Параметры передающие информацию функции Тело Слушателя - Инструкции которые будут выполнены при активации слушателя
  • 10. IR.AddListener(Тип_События,Указатель_на_Элемент,function(Входные_Параметры) { Тело Слушателя }); Тип_События - Событие при котором сработает функция Указатель_на_Элемент - Указатель элемента к которому привязывается функция Входные_Параметры - Параметры передающие информацию функции Тело Слушателя - Инструкции которые будут выполнены при активации слушателя
  • 11.
  • 12. Таймеры в iRidumScript. IR.SetTimeout(time, Name_Function); - Эта функция используется для запуска функции по истечению задержки time - время промежутка, мс Name_Function - имя функции содержащей команды IR.SetInterval(time, Name_Function); - Эта функция используется для цикличного повторения функции с заданным промежутком time - время задержки, мс Name_Function - имя функции содержащей команды
  • 13. Удаление таймеров IR.ClearInterval(id); - Эта функция используется для удаления функций задержки. id - идентификатор функции SetTimeout или SetInterval
  • 14. IR.RemoveListener (Тип_События, Указатель_на_Элемент, Имя_Функции); Тип_События - Событие при котором сработает функция Указатель_на_Элемент - Указатель элемента к которому привязывается функция Имя_функции - Имя функции в которой содержится список инструкций
  • 15. Функция для вывода информации в консоль IR.Log('text'); IR.Log(Variable); text – строка Variable - переменная
  • 16. IR.Exit(); - Эта функция закрывает приложение IR.Execute('text'); - Эта функция используется для запуска внешних программ IR.ShowKeyboard(value); - Эта функция используется для показа клавиатуры.
  • 17. GUI API GUI API - это набор функций, предназначенных для работы с графическими объектами в проекте. Эти функции позволяют: • Создавать элементы • Удалять элементы • Обращаться к элементам и менять их свойства • Создавать слушатели привязанные к графическим элементам • Открывать и закрывать страницы и попапы
  • 18. IR.CreateItem(Тип_элемента, Имя_элемента,Координата_X, Координата_Y, Ширина_элемента, Высота_элемента); Эта функция используется для создания элементов Тип_элемента - указываем тип элемента, который создаем; Имя_элемента - задаем имя элемента; Координата_Х, Координата_Y - начальная позиция элемента в рабочем поле; Ширина_элемента, Высота_элемента - ширина и высота создаваемого элемента
  • 19. Тип элемента определяет, что будет представлять из себя созданный элемент, а именно, задает элементу специфичный набор свойств. Существуют такие типы: •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
  • 20. IR.CreateItem(Тип_элемента, Имя_элемента,Координата_X, Координата_Y, Ширина_элемента, Высота_элемента); Эта функция используется для создания элементов Тип_элемента - указываем тип элемента, который создаем; Имя_элемента - задаем имя элемента; Координата_Х, Координата_Y - начальная позиция элемента в рабочем поле; Ширина_элемента, Высота_элемента - ширина и высота создаваемого элемента
  • 21. IR.CreateItem(Тип_элемента, Имя_элемента,Координата_X, Координата_Y, Ширина_элемента, Высота_элемента); Эта функция используется для создания элементов Тип_элемента - указываем тип элемента, который создаем; Имя_элемента - задаем имя элемента; Координата_Х, Координата_Y - начальная позиция элемента в рабочем поле; Ширина_элемента, Высота_элемента - ширина и высота создаваемого элемента
  • 22. IR.CreateItem(Тип_элемента, Имя_элемента,Координата_X, Координата_Y, Ширина_элемента, Высота_элемента); Эта функция используется для создания элементов Тип_элемента - указываем тип элемента, который создаем; Имя_элемента - задаем имя элемента; Координата_Х, Координата_Y - начальная позиция элемента в рабочем поле; Ширина_элемента, Высота_элемента - ширина и высота создаваемого элемента
  • 23. IR.CreateItem(Тип_элемента, Имя_элемента,Координата_X, Координата_Y, Ширина_элемента, Высота_элемента); Эта функция используется для создания элементов Тип_элемента - указываем тип элемента, который создаем; Имя_элемента - задаем имя элемента; Координата_Х, Координата_Y - начальная позиция элемента в рабочем поле; Ширина_элемента, Высота_элемента - ширина и высота создаваемого элемента
  • 24. IR.CreateItem(Тип_элемента, Имя_элемента,Координата_X, Координата_Y, Ширина_элемента, Высота_элемента); Эта функция используется для создания элементов Тип_элемента - указываем тип элемента, который создаем; Имя_элемента - задаем имя элемента; Координата_Х, Координата_Y - начальная позиция элемента в рабочем поле; Ширина_элемента, Высота_элемента - ширина и высота создаваемого элемента
  • 25. IR.GetItem("Страница_Размещения_Элемента").GetItem("Имя_Элемента") Эта функция используется для получения идентификатора элемента Страница_Размещения_Элемента - страница с расположенным элемент Имя_Элемента - имя элемента, который редактируем
  • 26. IR.GetState(№ состояния) Эта функция используется для получения доступа к свойствам состояний
  • 27. IR.DeleteItem(Идентификатор_элемента); Эта функция используется для удаления графических элементов Идентификатор_элемента – Обращение к элементу с помощью GetItem или передача переменной, которая хранит в себе идентификатор объекта
  • 28. Функции для работы со страницами и попапами •IR.PagesCount - Функция используется для подсчета страниц в проекте •IR.PopupsCount - Функция используется для подсчета попапов в проекте •IR.CurrentPage - Функция используется для получения открытой в данный момент страницы •IR.ShowPopup – Функция для открытия попапа •IR.ShowPage – Функция для открытия страницы •IR.HidePage – Функция для закрытия страницы •IR.HideAllPopups – Функция для закрытия всех попапов •IR.HidePopup – функция для закрытия попапа
  • 29. События слушателя GUI API IR.EVENT_ITEM_PRESS – Слушатель активируется при нажатии на элемент IR.EVENT_ITEM_RELEASE – Слушатель активируется при отпускании элемента IR.EVENT_ITEM_CHANGE – Слушатель активируется при изменении элемента EditBox IR.EVENT_MOUSE_DOWN – Слушатель активируется если нажать на элемент и провести мышкой вниз IR.EVENT_MOUSE_UP– Слушатель активируется если нажать на элемент и провести мышкой вверх IR.EVENT_MOUSE_MOVE – Слушатель активируется если нажать на элемент и провести мышкой в любую сторону
  • 30. События слушателя GUI API IR.EVENT_TOUCH_DOWN – Слушатель активируется если нажать на элемент и провести пальцем вниз IR.EVENT_TOUCH_UP – Слушатель активируется если нажать на элемент и провести пальцем вверх IR.EVENT_TOUCH_MOVE– Слушатель активируется если нажать на элемент и провести пальцем в любую сторону IR.EVENT_ITEM_SHOW– Слушатель активируется если открылась страница или попап IR.EVENT_ITEM_HIDE– Слушатель активируется если закрылась страница или попап Новое в 3.0 IR.EVENT_ITEM_END_HOLD - срабатывает в конце удержания графического элемента (при отпускании, после события HOLD) IR.EVENT_ITEM_LOST_FOCUS - срабатывает при отпускании любого объекта интерфейса (вместе с Release или End Of Hold). Событие указывает на потерю элементом фокуса
  • 31. Новое в 3.0 Теперь можно работать с буфером обмена • IR.PasteFromClipboard • IR.GetClipboard • IR.ShowPasteHelper • IR.CopyToClipboard Появился метод клонирования • IR.GetItem("Page 2").GetItem("Item 1").CloneItem("Item 2");
  • 32. Новое в 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 - стандартный рингтон iOS badge_increment_num - на сколько увеличить число полученных уведомлений поверх иконки приложения Id - уникальный идентификатор уведомления IR.ClearNotification – очистка уведомлений от приложения
  • 33. Новое в 3.0 Глобальный слушатель и подписка на любые теги В версии 3.0 вы можете подписываться на изменение ЛЮБОГО тега, будь то фидбек драйвера или текст EditBox //Set global listener IR.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");
  • 34. 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();
  • 35. 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 - двойное нажатие;
  • 36. Событие 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; } });