iRidium Script: Интерфейсы
-
Upload
iridiummobile365 -
Category
Internet
-
view
293 -
download
0
Transcript of iRidium Script: Интерфейсы
JavaScriptEnhanced capabilities of control
interfaces
Markov Ilya2016
Webinar
JSGUI
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 – Слушатель активируется при изменении элемента EditBoxIR.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.0IR.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 - стандартный рингтон iOSbadge_increment_num - на сколько увеличить число полученных уведомлений поверх иконки приложенияId - уникальный идентификатор уведомления
IR.ClearNotification – очистка уведомлений от приложения
Новое в 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");
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; } });