Материал из for iRidium developers
Перейти к: навигация, поиск
Эта страница является переводом страницы GUI API. Перевод выполнен на 100%.

Other languages:

Методы

Объект IR - глобальный объект, содержащий в себе все функции и константы API iRidium. Методы объекта IR для графического интерфейса позволяют обратиться к страницам и попапам интерфейса визуализации, а также выполнить команды, связанные с работой операционной системы.
Цепочка команд, примененных к объекту IR, позволяет получить доступ к любому объекту интерфейса, использовать его методы и обращаться к свойствам. Иерархия объектов: IR > Page / Popup > Item > State.


IR.CreateItem

создать графический элемент на текущей странице проекта.Страница может быть определена при обращении к свойству CurrentPage объекта IR. Чтобы создать элемент на произвольной странице, нужно применить метод CreateItem к ссылке на объект Page или Popup, полученной с помощью метода IR.GetItem.

Синтаксис

IR.CreateItem(item_type, name, X, Y, width, height);

на входе значение описание
item_type IR.ITEM_BUTTON type: Object
тип графического элемента
name "Button 1" type: String
название элемента, уникальное для страницы
X 30 type: Number
координата по оси X
Y 40 type: Number
координата по оси Y
width 800 type: Number
ширина элемента
height 150 type: Number
высота элемента
на выходе
Object [Object DialogItemPrototype] type: Object
экземпляр графического объекта


Пример

IR.AddListener(IR.EVENT_START,0, function()
{
    var src = IR.CreateItem(IR.ITEM_BUTTON,"Button 1",30,40,800,150); 
    IR.Log(src) // [Object DialogItemPrototype]
});

Типы диалоговых элементов:

  • IR.ITEM_PAGE - страница (Page)
  • IR.ITEM_POPUP - попап (Popup)
  • IR.ITEM_BUTTON - кнопка (Button)
  • IR.ITEM_TRIGGER_BUTTON - кнопка триггер (Trigger Button)
  • IR.ITEM_MUTI_STATE_BUTTON - анимированная кнопка (Multistate Button)
  • IR.ITEM_UPDOWN_BUTTON - кнопка инкремент/декремент (Up/Down Button)
  • IR.ITEM_LEVEL - уровень (Level)
  • IR.ITEM_MUTI_STATE_LEVEL - анимирванный уровень (Multistate Level)
  • IR.ITEM_EDIT_BOX - поле ввода (EditBox)
  • IR.ITEM_VIRTUAL_KEY_BUTTON - виртуальная клавиша (Virtual Key)
  • IR.ITEM_JOYSTICK - джойстик (Joystick)
  • IR.ITEM_LISTBOX - динамический список (List)


Чтобы создать диалоговый элемент на конкретной странице, примените .CreateItem к ссылке на страницу или попап:

    var src = IR.GetItem("Page 1").CreateItem(IR.ITEM_BUTTON,"Button 1",30,40,800,150); 
    IR.Log(src) // [Object DialogItemPrototype]


В конструкторе приведены только базовые свойства элемента, без которых элемент вообще нельзя создать. Все элементы имеют также общий набор дополнительных свойств и набор свойств, характерных для типа элемента. См. в подразделе Свойства.
Элементы, созданные через IR.CreateItem имеют фиксированный шрифт cour.ttf, размер 20. Как изменить шрифт?


IR.DeleteItem

удалить Popup или диалоговый элемент. Страницу удалить нельзя

Синтаксис

IR.DeleteItem(popup)

на входе значение описание
page "Popup 1" type: String
имя страницы или попапа
на выходе

-


Пример

IR.AddListener(IR.EVENT_START, 0, function()
{
  IR.DeleteItem("Popup 1");
});

Чтобы удалить элемент на странице, запишите ссылку на него в переменную и используйте IR.DeleteItem для полученной ссылки:

var item = IR.GetItem("Page 1").GetItem("Item 1");
IR.DeleteItem(item);




IR.GetPage

получить доступ к странице проекта (Page). Имея доступ к странице, вы можете обратиться к элементам на этой странице с помощью метода .GetItem

Синтаксис

IR.GetPage(page)

на входе значение описание
page "Page 1" type: String
имя страницы
на выходе
Object [Object DialogItemPrototype] type: Object
ссылка на экземпляр страницы


Пример

IR.AddListener(IR.EVENT_START, 0, function()
{
  IR.GetPage("Page 1");
});

Имея доступ к странице, вы можете обратиться к элементам на ней с помощью метода .GetItem:

    var Item = IR.GetPage("Page 1").GetItem("Item 1");
    IR.Log(Item); //    [object DialogItemPrototype]




IR.GetPopup

получить доступ к попапу проекта (Popup). Имея доступ к попапу, вы можете обратиться к элементам на этом попапе с помощью метода .GetItem

Синтаксис

IR.GetPopup(popup)

на входе значение описание
popup "Popup 1" type: String
имя попапа
на выходе
Object [Object DialogItemPrototype] type: Object
ссылка на экземпляр попапа


Пример

IR.AddListener(IR.EVENT_START, 0, function()
{
  IR.GetPopup("Popup 1");
});

Имея доступ к попапу, вы можете обратиться к элементам на нем с помощью метода .GetItem:

    var Item = IR.GetItem("Popup 1").GetItem("Item 1");
    IR.Log(Item); //    [object DialogItemPrototype]




IR.ShowPage

показать страницу по имени (Page)

Синтаксис

IR.ShowPage(page)

на входе значение описание
page "Page 1" type: String
имя страницы
на выходе

-


Пример

IR.AddListener(IR.EVENT_START, 0, function()
{
  IR.ShowPage("Page 1");
});

объект не имеет методов и свойств


IR.ShowPopup

показать попап по имени (Popup)

Синтаксис

IR.ShowPopup(popup, <effect_group>)

на входе значение описание
popup "Popup 1" type: String
имя попапа
effect_group 1 type: Number
номер группы эффектов, созданной через IR.CreateEffect
на выходе

-


Пример

IR.AddListener(IR.EVENT_START, 0, function()
{
  IR.ShowPopup("Popup 1");
});

объект не имеет методов и свойств


IR.HidePopup

скрыть попап по имени (Popup)

Синтаксис

IR.HidePopup(popup, <effect_group>)

на входе значение описание
popup "Popup 1" type: String
имя попапа
effect_group 1 type: Number
номер группы эффектов, созданной через IR.CreateEffect
на выходе

-


Пример

IR.AddListener(IR.EVENT_START, 0, function()
{
  IR.HidePopup("Popup 1");
});

объект не имеет методов и свойств


IR.HideGroup

скрыть группу попапов по имени группы. Из группы может быть открыт только один попап - именно он закроется при вызове метода. Имена групп см. в меню "Manage Popup Groups"

Синтаксис

IR.HideGroup(group)

на входе значение описание
popup "Popup Group 1" type: String
имя группы
на выходе

-


Пример

function hide_1 ()
{
  IR.HideGroup("Popup Group 1");
}

больше информации о Группах Попапов


IR.TogglePopup

показать Popup, если он скрыт, и скрыть, если показан

Синтаксис

IR.TogglePopup(popup, <effect_group>)

на входе значение описание
popup "Popup 1" type: String
имя попапа
effect_group 1 type: Number
номер группы эффектов, созданной через IR.CreateEffect
на выходе

-


Пример

IR.AddListener(IR.EVENT_START, 0, function()
{
  IR.TogglePopup("Popup 1");
});

объект не имеет методов и свойств


IR.HideAllPopups

скрыть все попапы (Popup) на указанной Page

Синтаксис

IR.HideAllPopups(page)

на входе значение описание
page "Page 1" type: String
имя страницы
на выходе

-


Пример

IR.AddListener(IR.EVENT_START, 0, function()
{
  IR.HideAllPopups("Page 1");
});

объект не имеет методов и свойств


IR.CreateEffect

создать эффект анимации во время работы приложения и использовать его при показе и скрытии попапа.

Синтаксис

var name = IR.CreateEffect(effect)

на входе значение описание
name name type: string
имя переменной для сохранения группы эффектов, нужно для присвоения номера и других параметров группе
effect IR.EFFECT_FADE type: object
тип эффекта
на выходе
object [object EffectPrototype] type: object
ссылка на группу эффектов анимации


Пример

IR.AddListener(IR.EVENT_START, 0, function()
{
   var Fade = IR.CreateEffect(IR.EFFECT_FADE); // создаем группу, сохраняем в переменную 
       Fade.Group = 1000; // присваиваем номер группы
       Fade.Delay = 0; // задержка выполнения эффектов
       Fade.Duration = 400; // продолжительность эффекта
       Fade.Tween = 0; // формула вычисления эффекта (твинер)
    IR.ShowPopup("Popup 1", 1000) // покажем попап с эффектами группы 1000 
});

Эффекты:

  • IR.EFFECT_FADE - плавное появление / исчезновение;
  • IR.EFFECT_ROTATE - вращение вокруг своей оси, цент поворота середина всплывающего окна;
  • IR.EFFECT_SCALE - увеличение / уменьшение;
  • IR.EFFECT_SLIDE - движение в / из стороны;
  • IR.EFFECT_TVSCAN - сжатие по горизонтали;


Свойства Эффектов:

  • Group (число) - Номер группы эффектов, в которой будет находиться эффект. Рекомендуется использовать номера групп эффектов начиная с 1000, это убережет вас от пересечения с группами эффектов, которые создает редактор. В случае если требуется дополнить группы эффектов созданные в редакторе на эффекты созданные динамически, то используйте это осознанно.
  • Delay (число, мс)- задержка перед выполнением эффекта;
  • Duration (число, мс) - продолжительность эффекта;
  • Tween (число) - формула вычисления, см. IR.Tween




IR.ShowKeyboard

показать системную клавиатуру iOS или Android устройства

Синтаксис

IR.ShowKeyboard(type)

на входе значение описание
type 1 type: Number
тип клавиатуры: 1- алфавит, 2 - числа
на выходе

-


Пример

IR.AddListener(IR.EVENT_ITEM_PRESS, IR.GetItem("Page 1").GetItem("Item 1"), function()
{
  IR.ShowKeyboard(2);
});

типы клавиатуры:

  • 1- алфавит
  • 2 - числа


На iOS для скрытия клавиатуры можно использовать команду IR.ShowKeyboard(0), на Android это не сработает.
Для открытия клавиатуры, все другие клавиатуры должны быть скрыты. Если клавиатура уже открыта, например числовая, то команда открыть клавиатуру с алфавитом будет не удачной.
Для открытия клавиатуры на Windows, используйте команду IR.Execute("osk").


IR.PasteFromClipboard

Вставить текст из буфера обмена в активный Editbox. Текст будет вставлен только если в буфере действительно находится Текст (а не изображение или др. контент). Курсор позиционируется после вставленного текста

Синтаксис

IR.PasteFromClipboard()

на входе значение описание

-

на выходе

-


Пример

IR.AddListener(IR.EVENT_ITEM_PRESS, IR.GetItem("Page 1").GetItem("Paste Button"),function()
{
   IR.PasteFromClipboard();  
});

применение - клавиша вставки текста (можно расположить ее рядом с полем ввода)


IR.GetClipboard

Получить текст из буфера обмена

Синтаксис

IR.GetClipboard()

на входе значение описание

-

на выходе

-


Пример

var clipboard = IR.GetClipboard();

применение - передать текст из буфера в скрипт


IR.ShowPasteHelper

над курсором в активном EditBox этот метод отобразит нативное, масштабируемое в соответствии с разрешением проекта всплывающее окно: "PasteHelper" c надписью Paste, аналогично инструменту вставки на iOS и Android устройствах. По нажатию на это всплывающее окно, выполяется команда IR.PasteFromClipboard();. Нажатие на окно вставки, повторное нажатие на поле ввода или смена фокуса сразу закрывают PasteHelper

Синтаксис

IR.ShowPasteHelper()

на входе значение описание

-

на выходе

-


Пример

IR.AddListener(IR.EVENT_ITEM_HOLD, IR.GetItem("Page 1").GetItem("EditBox"),function()
{
   IR.ShowPasteHelper();  
});

Поведение инструмента вставки (элемент EditBox):

  • Windows:
    • при нажатии Ctrl+V, автоматически срабатывает IR.PasteFromClipboard();, если буфер не пустой и в нем находится текст
    • по нажатию правой кнопкой мыши на поле ввода, отображается стандартный диалог "Вставить"
    • курсор перемещается в конец строки
  • iOS, Android:
    • при удержании пальца на поле ввода в течение 1 секунды, автоматически срабатывает IR.ShowPasteHelper();, диалог Paste будет скрыт при нажатии на любой элемент
    • курсор перемещается в конец строки




IR.SelectNextEditBox();

сместить фокус с текущего поля ввода на следующее по списку. Для определения порядка полей ввода используется Z-позиция элементов, посмотреть которую можно, включив отображение элементов в дереве проекта (Tools > Options > Show > Show Items In Tree). По нажатию Tab (на Windows) фокус смещается на следующее поле ввода автоматически, в пределах страницы или окна

Синтаксис

IR.SelectNextEditBox();

на входе значение описание

-

на выходе

-


Пример

IR.AddListener(IR.EVENT_ITEM_CHANGE, IR.GetItem("Page 1").GetItem("Item 1"), function (action, key)
{
    if (action == 2)  // press Enter
    {
        IR.SelectNextEditBox();
    }
});





IR.GetItem

получить доступ к странице или попапу. Имея доступ к странице или попапу, вы можете обратиться к элементам на них с помощью метода .GetItem

Синтаксис

IR.GetItem(item)

на входе значение описание
item "Page 1" type: String
имя страницы или попапа
на выходе
Object [object DialogItemPrototype] type: Object
ссылка на объект интерфейса


Пример

IR.AddListener(IR.EVENT_START,0, function()
{
    var DialogItem = IR.GetItem("Popup 1");
    IR.Log(DialogItem); //  [object DialogItemPrototype]
});

При использовании метода IR.GetItem вы получаете ссылку на диалоговый элемент (DialogItem) - объект интерфейса iRidium: страницу, попап или графический элемент.
Ссылку на диалоговый элемент можно получить с использованием методов IR.GetItem, IR.GetPage, IR.GetPopup.
Например, имея доступ к странице или попапу, вы можете обратиться к элементам на них с помощью метода .GetItem:

    var Item = IR.GetItem("Popup 1").GetItem("Item 1");
    IR.Log(Item); //    [object DialogItemPrototype]

Доступные методы приведены далее:


.GetItem

получить доступ к графическому элементу на странице или попапе.

Синтаксис

IR.GetItem(page).GetItem(item);

на входе значение описание
page "Page 2" type: String
имя страницы или попапа
item "Item 2" type: String
имя графического элемента на странице или попапе
на выходе
Object [Object DialogItemPrototype] type: Object
ссылка на объект


Пример

IR.AddListener(IR.EVENT_START, 0, function()
{
  var DialogItem = IR.GetItem("Page 2").GetItem("Item 2");
  IR.Log(DialogItem) // [Object DialogItemPrototype]
});

Доступны свойства объектов Item


.CreateItem

создает графический элемент на странице или попапе.

Синтаксис

IR.GetItem(page).CreateItem(item_type, name, X, Y, width, height);

на входе значение описание
page "Page 1" type: String
имя страницы или попапа
item_type IR.ITEM_BUTTON type: Object
тип графического элемента
name "Button 1" type: String
название элемента, уникальное для страницы
X 30 type: Number
координата по оси X
Y 40 type: Number
координата по оси Y
width 800 type: Number
ширина элемента
height 150 type: Number
высота элемента
на выходе
Object [Object DialogItemPrototype] type: Object
экземпляр графического объекта


Пример

IR.AddListener(IR.EVENT_START, 0, function()
{
  IR.GetItem("Page 2").CreateItem(IR.ITEM_BUTTON, "Button 1", 30, 40, 800, 150);  
});

Типы диалоговых элементов:

  • IR.ITEM_PAGE - страница (Page)
  • IR.ITEM_POPUP - попап (Popup)
  • IR.ITEM_BUTTON - кнопка (Button)
  • IR.ITEM_TRIGGER_BUTTON - кнопка триггер (Trigger Button)
  • IR.ITEM_MUTI_STATE_BUTTON - анимированная кнопка (Multistate Button)
  • IR.ITEM_UPDOWN_BUTTON - кнопка инкремент/декремент (Up/Down Button)
  • IR.ITEM_LEVEL - уровень (Level)
  • IR.ITEM_MUTI_STATE_LEVEL - анимирванный уровень (Multistate Level)
  • IR.ITEM_EDIT_BOX - поле ввода (EditBox)
  • IR.ITEM_VIRTUAL_KEY_BUTTON - виртуальная клавиша (Virtual Key)
  • IR.ITEM_JOYSTICK - джойстик (Joystick)
  • IR.ITEM_LISTBOX - динамический список (List)

Доступны свойства объектов Item


.Clone

клонирует страницу, попап, графический элемент на странице или попапе.

Синтаксис

IR.GetItem(page).Clone(new_page_name);
IR.GetItem(page).GetItem(item).Clone(new_item_name);

на входе значение описание
page "Page 1" type: String
имя страницы или попапа
new_page_name "Page 2" type: String
имя новой страницы или попапа (клона)
item "Item 1" type: String
имя графического элемента
new_item_name "Item 2" type: String
имя нового графического элемента (клона)
на выходе
Object [Object DialogItemPrototype] type: Object
ссылка на объект


Пример

IR.AddListener(IR.EVENT_START, 0, function()
{
  IR.GetItem("Page 1").Clone("Page 2"); 
  IR.GetItem("Page 1").GetItem("Item 1").Clone("Item 2");
  // result:
  IR.Log(IR.GetItem("Page 2")) // [object DialogItemPrototype]
  IR.Log(IR.GetItem("Page 1").GetItem("Item 2")) // [object DialogItemPrototype]
});





.GetPopup

получает по индексу попап, показанный на странице. Индекс - номер показанного попапа от 0 до n, возвращает null, если нет попапа с таким индексом.

Синтаксис

IR.GetItem(page).GetPopup(index);

на входе значение описание
page "Page 1" type: String
имя страницы
index 0 type: Number
порядковый номер попапа в списке показанных на странице попапов, отсчет с нуля
на выходе
Object [Object DialogItemPrototype] type: Object
экземпляр попапа


Пример

IR.AddListener(IR.EVENT_START, 0, function()
{
  var DialogItem = IR.GetItem("Page 1").GetPopup(0);
  IR.Log(DialogItem) // [Object DialogItemPrototype]
});

доступны свойства Popup


.StartActions

выполнить действия, привязанные к событию графического элемента

Синтаксис

IR.GetItem(page).GetItem(item).StartActions(event);

на входе значение описание
page "Page 1" type: String
имя страницы
item "Item 1" type: String
имя графического элемента
event IR.EVENT_ITEM_PRESS type: object
событие графического элемента, действия которого нужно выполнить
на выходе

-


Пример

IR.AddListener(IR.EVENT_START, 0, function()
{
   IR.GetItem("Page 1").GetItem("Item 1").StartActions(IR.EVENT_ITEM_PRESS);
});

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


.GetState

получить состояние графического элемента как объект

Синтаксис

IR.GetItem(page).GetItem(item).GetState(state_index);

на входе значение описание
page "Page 1" type: String
имя страницы
item "Item 1" type: String
имя графического элемента
state_index 0 type: Number
порядковый номер состояния, отсчет с нуля
на выходе
Object [Object DialogItemPrototype] type: Object
ссылка на состояние элемента


Пример

IR.AddListener(IR.EVENT_START, 0, function()
{
   var DialogItem = IR.GetItem("Page 1").GetItem("Item 1").GetState(0);
   IR.Log(DialogItem); // [Object DialogItemPrototype]
});

доступны свойства объекта State


.CreateState

добавить состояние графическому элементу

Синтаксис

IR.GetItem(page).GetItem(item).CreateState();

на входе значение описание
page "Page 1" type: String
имя страницы
item "Item 1" type: String
имя графического элемента
на выходе
Object [Object DialogItemPrototype] type: Object
ссылка на объект


Пример

IR.AddListener(IR.EVENT_START, 0, function()
{
   IR.GetItem("Page 1").GetItem("Item 1").CreateState();
});

учитывайте допустимое число состояний для выбранного элемента!


.ShowPopup

показать попап на странице

Синтаксис

IR.GetItem(page).ShowPopup(popup, <effect_group>);

на входе значение описание
page "Page 1" type: String
имя страницы
popup "Popup 1" type: String
имя попапа
effect_group 1 type: Number
номер группы эффектов, созданной через IR.CreateEffect
на выходе

-


Пример

IR.AddListener(IR.EVENT_START, 0, function()
{
   IR.GetItem("Page 1").ShowPopup("Popup 1");
});





.HidePopup

скрыть попап на странице

Синтаксис

IR.GetItem(page).HidePopup(popup, <effect_group>);

на входе значение описание
page "Page 1" type: String
имя страницы
popup "Popup 1" type: String
имя попапа
effect_group 1 type: Number
номер группы эффектов, созданной через IR.CreateEffect
на выходе

-


Пример

IR.AddListener(IR.EVENT_START, 0, function()
{
   IR.GetItem("Page 1").HidePopup("Popup 1");
});





.TogglePopup

скрыть попап, если он показан, показать, если скрыт

Синтаксис

IR.GetItem(page).TogglePopup(popup, <effect_group>);

на входе значение описание
page "Page 1" type: String
имя страницы
popup "Popup 1" type: String
имя попапа
effect_group 1 type: Number
номер группы эффектов, созданной через IR.CreateEffect
на выходе

-


Пример

IR.AddListener(IR.EVENT_START, 0, function()
{
   IR.GetItem("Page 1").TogglePopup("Popup 1");
});





События

Событие - процесс, проброшенный в скрипты и имеющий идентификатор для отслеживания.

Слушатель - это функция, которая выполняется в случае срабатывания указанного ей события

Добавьте слушатель с помощью метода IR.AddListener

IR.AddListener(event, input, action);
  • event - идентификатор события, за которым следит слушатель
  • input - входной параметр, необходимый для создания слушателя. Если параметра нет, укажите 0
  • action - не именованная функция или ссылка на объявленную функцию, внутри которой выполняются действия
  • pointer - указатель на контекст вызова слушателя (не обязательный). Обратиться к контексту можно с помощью оператора this. Контекст может меняться во время работы программы


Пример:

IR.AddListener(IR.EVENT_ITEM_PRESS, IR.GetItem("Page 1").GetItem("Item 1"), function ()
{
    IR.Log("pressed!");
});

IR.EVENT_ITEM_PRESS

идентификатор события, которое срабатывает при нажатии на графический элемент

Синтаксис

IR.AddListener(IR.EVENT_ITEM_PRESS, item, function, [pointer]);

на входе значение описание
item IR.GetItem("Page 1").GetItem("Item 1") type: object
ссылка на объект интерфейса
function function() {} type: function
не именованная функция или обращение к функции
pointer - type: object
указатель на объект, который обслуживает функцию (опционально)
на выходе

-


Пример

IR.AddListener(IR.EVENT_ITEM_PRESS, IR.GetItem("Page 1").GetItem("Item 1"), function ()
{
    IR.Log("action"); // action
});





IR.EVENT_ITEM_RELEASE

идентификатор события, которое срабатывает при отпускании графического элемента

Синтаксис

IR.AddListener(IR.EVENT_ITEM_RELEASE, item, function, [pointer]);

на входе значение описание
item IR.GetItem("Page 1").GetItem("Item 1") type: object
ссылка на объект интерфейса
function function() {} type: function
не именованная функция или обращение к функции
pointer - type: object
указатель на объект, который обслуживает функцию (опционально)
на выходе

-


Пример

IR.AddListener(IR.EVENT_ITEM_RELEASE, IR.GetItem("Page 1").GetItem("Item 1"), function ()
{
    IR.Log("action"); // action
});





IR.EVENT_ITEM_HOLD

идентификатор события, которое срабатывает при удержании графического элемента

Синтаксис

IR.AddListener(IR.EVENT_ITEM_HOLD, item, function, [pointer]);

на входе значение описание
item IR.GetItem("Page 1").GetItem("Item 1") type: object
ссылка на объект интерфейса
function function() {} type: function
не именованная функция или обращение к функции
pointer - type: object
указатель на объект, который обслуживает функцию (опционально)
на выходе

-


Пример

IR.AddListener(IR.EVENT_ITEM_HOLD, IR.GetItem("Page 1").GetItem("Item 1"), function ()
{
    IR.Log("action"); // action
});





IR.EVENT_ITEM_END_HOLD

идентификатор события, которое срабатывает в конце удержания графического элемента (при отпускании, после события HOLD)

Синтаксис

IR.AddListener(IR.EVENT_ITEM_END_HOLD, item, function, [pointer]);

на входе значение описание
item IR.GetItem("Page 1").GetItem("Item 1") type: object
ссылка на объект интерфейса
function function() {} type: function
не именованная функция или обращение к функции
pointer - type: object
указатель на объект, который обслуживает функцию (опционально)
на выходе

-


Пример

IR.AddListener(IR.EVENT_ITEM_END_HOLD, IR.GetItem("Page 1").GetItem("Item 1"), function ()
{
    IR.Log("action"); // action
});





IR.EVENT_ITEM_LOST_FOCUS

идентификатор события, которое срабатывает при отпускании любого объекта интерфейса (вместе с Release или End Of Hold). Событие указывает на потерю элементом фокуса

Синтаксис

IR.AddListener(IR.EVENT_ITEM_LOST_FOCUS, item, function, [pointer]);

на входе значение описание
item IR.GetItem("Page 1").GetItem("Item 1") type: object
ссылка на объект интерфейса
function function() {} type: function
не именованная функция или обращение к функции
pointer - type: object
указатель на объект, который обслуживает функцию (опционально)
на выходе

-


Пример

IR.AddListener(IR.EVENT_ITEM_LOST_FOCUS, IR.GetItem("Page 1").GetItem("Item 1"), function ()
{
    IR.Log("action"); // action
});





IR.EVENT_ITEM_CHANGE

идентификатор события, которое срабатывает при вводе текста в EditBox. С его помощью можно различать ввод символа и отправку команды, такой как Del или Enter.


Событие возвращает:

action - идентификатор действия:

0 - NONE				11 - NEXT							22 - BANK_2_MOMENTARY_SELECT
1 - INSERT_TEXT			12 - PREVIOUS						23 - BANK_3_MOMENTARY_SELECT
2 - ENTER				13 - HOME							24 - BANK_4_MOMENTARY_SELECT
3 - UP					14 - END							25 - BANK_5_MOMENTARY_SELECT
4 - DOWN				15 - INSERT							26 - PAGE_UP
5 - LEFT				16 - BANK_1_LOCKING_SELECT			27 - PAGE_DOWN
6 - RIGHT				17 - BANK_2_LOCKING_SELECT			28 - FUNCTION
7 - DELETE				18 - BANK_3_LOCKING_SELECT			29 - CTRL
8 - CLEAR				19 - BANK_4_LOCKING_SELECT			30 - ALT
9 - ABORT				20 - BANK_5_LOCKING_SELECT			31 - SCANCODE
10 - EXIT				21 - BANK_1_MOMENTARY_SELECT


key - идентификатор клавиши, дающий наиболее точное представление о действии.
Например: action: 30 (ALT), key: 56 (LEFT ALT), 90 (RIGHT ALT)

0 - NONE = 0		26 - BRACKET_LEFT		52 - PERIOD				78 - KEYPAD_ADD
1 - ESCAPE			27 - BRACKET_RIGHT		53 - SLASH				79 - KEYPAD_1
2 - 1				28 - RETURN				54 - SHIFT_RIGHT		80 - KEYPAD_2
3 - 2				29 - CONTROL_LEFT		55 - KEYPAD_MULTIPLY	81 - KEYPAD_3
4 - 3				30 - A					56 - ALT_LEFT			82 - KEYPAD_0
5 - 4				31 - S					57 - SPACE				83 - KEYPAD_PERIOD
6 - 5				32 - D					58 - CAPS_LOCK			84 - F11
7 - 6				33 - F					59 - F1					85 - F12
8 - 7				34 - G					60 - F2					86 - KEYPAD_ENTER
9 - 8				35 - H					61 - F3					87 - CONTROL_RIGHT
10 - 9				36 - J					62 - F4					88 - KEYPAD_DIVIDE
11 - 0				37 - K					63 - F5					89 - PRINT_SCREEN
12 - MINUS			38 - L					64 - F6					90 - ALT_RIGHT
13 - EQUAL			39 - SEMICOLON			65 - F7					91 - HOME
14 - BACKSPACE		40 - APOSTROPHE			66 - F8					92 - UP
15 - TAB			41 - GRAVE				67 - F9					93 - PAGE_UP
16 - Q				42 - SHIFT_LEFT			68 - F10				94 - LEFT
17 - W				43 - BACKSLASH			69 - KEYPAD_NUM_LOCK	95 - RIGHT
18 - E				44 - Z					70 - SCOLL_LOCK			96 - END
19 - R				45 - X					71 - KEYPAD_7			97 - DOWN
20 - T				46 - C					72 - KEYPAD_8			98 - PAGE_DOWN
21 - Y				47 - V					73 - KEYPAD_9			99 - INSERT
22 - U				48 - B					74 - KEYPAD_SUBTRACT	100 - DELETE
23 - I				49 - N					75 - KEYPAD_4			101 - PAUSE
24 - O				50 - M					76 - KEYPAD_5			102 - WINDOWS_LEFT
25 - P				51 - COMMA				77 - KEYPAD_6			103 - WINDOWS_RIGHT

Синтаксис

IR.AddListener(IR.EVENT_ITEM_CHANGE, item, function (action, key) {}, [pointer]);

на входе значение описание
item IR.GetItem("Page 1").GetItem("Item 1") type: object
ссылка на объект интерфейса EditBox
function function (action, key) {} type: function
функция, получающая от события входные параметры:
  • action - идентификатор действия: ввод символа или нажатие командной клавиши
  • key - идентификатор клавиши, дающий наиболее точное представление о действии. Например: action: 30 (ALT), key: 56 (LEFT ALT), 90 (RIGHT ALT)
pointer - type: object
указатель на объект, который обслуживает функцию (опционально)
на выходе
action 1 type: number
идентификатор действия: ввод символа или нажатие командной клавиши
key 0 type: number
идентификатор клавиши, дающий наиболее точное представление о действии. Например: action: 30 (ALT), key: 56 (LEFT ALT), 90 (RIGHT ALT)


Пример

IR.AddListener(IR.EVENT_ITEM_CHANGE, IR.GetItem("Page 1").GetItem("Item 1"), function (action, key)
{
    if (action == 1)  // insert text
    {
        IR.Log("new string: " + IR.GetItem("Page 1").GetItem("Item 1").Text)
    }
});





IR.EVENT_MOUSE_DOWN

идентификатор события, которое срабатывает при нажатии кнопки мыши (Windows)

Синтаксис

IR.AddListener(IR.EVENT_MOUSE_DOWN, item, function, [pointer]);

на входе значение описание
item IR.GetItem("Page 1").GetItem("Item 1") type: object
ссылка на объект интерфейса
function function() {} type: function
не именованная функция или обращение к функции
pointer - type: object
указатель на объект, который обслуживает функцию (опционально)
на выходе

-


Пример

IR.AddListener(IR.EVENT_MOUSE_DOWN, IR.GetItem("Page 1").GetItem("Item 1"), function ()
{
    IR.Log("action"); // action
});





IR.EVENT_MOUSE_UP

идентификатор события, которое срабатывает при отжатии кнопки мыши (Windows)

Синтаксис

IR.AddListener(IR.EVENT_MOUSE_UP, item, function, [pointer]);

на входе значение описание
item IR.GetItem("Page 1").GetItem("Item 1") type: object
ссылка на объект интерфейса
function function() {} type: function
не именованная функция или обращение к функции
pointer - type: object
указатель на объект, который обслуживает функцию (опционально)
на выходе

-


Пример

IR.AddListener(IR.EVENT_MOUSE_UP, IR.GetItem("Page 1").GetItem("Item 1"), function ()
{
    IR.Log("action"); // action
});





IR.EVENT_MOUSE_MOVE

идентификатор события, которое срабатывает при перетягивании курсора мыши с зажатой левой кнопкой (Windows). Отдает каждое изменение координат курсора до момента, пока левая кнопка не будет отпущена.

Синтаксис

IR.AddListener(IR.EVENT_MOUSE_MOVE, item, function, [pointer]);

на входе значение описание
item IR.GetItem("Page 1").GetItem("Item 1") type: object
ссылка на объект интерфейса
function function(x, y) {} type: function
не именованная функция или обращение к функции. Получает параметры:
  • х - координата курсора по горизонтали
  • y - координата курсора по вертикали
pointer - type: object
указатель на объект, который обслуживает функцию (опционально)
на выходе
x 120 type: number
координата курсора по горизонтали
y 240 type: number
координата курсора по вертикали


Пример

IR.AddListener(IR.EVENT_MOUSE_MOVE, IR.GetItem("Page 1").GetItem("Item 1"), function (x, y)
{
    IR.Log(x + ":" + y); // new coordinates on move
});





IR.EVENT_TOUCH_DOWN

идентификатор события, которое срабатывает при нажатии на элемент (iOS, Android)

Синтаксис

IR.AddListener(IR.EVENT_TOUCH_DOWN, item, function, [pointer]);

на входе значение описание
item IR.GetItem("Page 1").GetItem("Item 1") type: object
ссылка на объект интерфейса
function function() {} type: function
не именованная функция или обращение к функции
pointer - type: object
указатель на объект, который обслуживает функцию (опционально)
на выходе

-


Пример

IR.AddListener(IR.EVENT_TOUCH_DOWN, IR.GetItem("Page 1").GetItem("Item 1"), function ()
{
    IR.Log("action"); // action
});





IR.EVENT_TOUCH_UP

идентификатор события, которое срабатывает при нажатии на элемент (iOS, Android)

Синтаксис

IR.AddListener(IR.EVENT_TOUCH_UP, item, function, [pointer]);

на входе значение описание
item IR.GetItem("Page 1").GetItem("Item 1") type: object
ссылка на объект интерфейса
function function() {} type: function
не именованная функция или обращение к функции
pointer - type: object
указатель на объект, который обслуживает функцию (опционально)
на выходе

-


Пример

IR.AddListener(IR.EVENT_TOUCH_UP, IR.GetItem("Page 1").GetItem("Item 1"), function ()
{
    IR.Log("action"); // action
});





IR.EVENT_TOUCH_MOVE

идентификатор события, которое срабатывает при перемещении пальца по элементу (iOS, Android)

Синтаксис

IR.AddListener(IR.EVENT_TOUCH_MOVE, item, function, [pointer]);

на входе значение описание
item IR.GetItem("Page 1").GetItem("Item 1") type: object
ссылка на объект интерфейса
function function() {} type: function
не именованная функция или обращение к функции. Получает параметры:
  • х - координата касания экрана по горизонтали
  • y - координата касания экрана по вертикали
pointer - type: object
указатель на объект, который обслуживает функцию (опционально)
на выходе
x 120 type: number
координата касания экрана по горизонтали
y 240 type: number
координата касания экрана по вертикали


Пример

IR.AddListener(IR.EVENT_TOUCH_MOVE, IR.GetItem("Page 1").GetItem("Item 1"), function ()
{
    IR.Log(x + ":" + y); // new coordinates on move
});





IR.EVENT_ITEM_SHOW

идентификатор события, которое срабатывает при показе страницы или попапа

Синтаксис

IR.AddListener(IR.EVENT_ITEM_SHOW, item, function, [pointer]);

на входе значение описание
item IR.GetItem("Page 1") type: object
ссылка на страницу или попап
function function() {} type: function
не именованная функция или обращение к функции
pointer - type: object
указатель на объект, который обслуживает функцию (опционально)
на выходе

-


Пример

IR.AddListener(IR.EVENT_ITEM_SHOW, IR.GetItem("Page 1"), function ()
{
    IR.Log("action"); // action
});





IR.EVENT_ITEM_HIDE

идентификатор события, которое срабатывает при скрытии страницы или попапа

Синтаксис

IR.AddListener(IR.EVENT_ITEM_HIDE, item, function, [pointer]);

на входе значение описание
item IR.GetItem("Page 1") type: object
ссылка на страницу или попап
function function() {} type: function
не именованная функция или обращение к функции
pointer - type: object
указатель на объект, который обслуживает функцию (опционально)
на выходе

-


Пример

IR.AddListener(IR.EVENT_ITEM_HIDE, IR.GetItem("Page 1"), function ()
{
    IR.Log("action"); // action
});





Свойства объектов

Свойство объекта - одна из характеристик объекта, доступная для обращения. Набор свойств зависит от типа объекта. Объекты, полученные при обращении к нижележащим объектам иерархии, не наследуют их свойств (например, обратившись к объекту Item нельзя получить ширину объекта Popup, на котором он расположен).


IR

IR.property

ProjectName "Welcome" type: String
имя проекта, который сейчас открыт в приложении
PagesCount 4 type: Number
число страниц в проекте
PopupsCount 12 type: Number
число попапов в проекте
CurrentPage [object DialogItemPrototype] type: Object
ссылка на объект - открытую страницу проекта


Page

IR.GetItem(page).property

ItemsCount 53 type: Number
отдает число элементов на странице
PopupsCount 2 type: Number
отдает число попапов на странице
PopupsOnPage Array of Objects type: Array
отдает массив объектов - попапов на странице
X 100 type: Number
координата по горизонтали
Y 100 type: Number
кооридната по вертикали
Width 250 type: Number
ширина
Height 400 type: Number
высота
Name "Item 1" type: String
имя объекта
Type IR.ITEM_BUTTON type: Object
тип объекта

Popup

IR.GetItem(popup).property

ItemsCount 53 type: Number
отдает число элементов на попапе
Modal 0 / 1 type: Number
свойство модальности попапа
X 100 type: Number
координата по горизонтали
Y 100 type: Number
кооридната по вертикали
Width 250 type: Number
ширина
Height 400 type: Number
высота
Name "Item 1" type: String
имя объекта
Type IR.ITEM_BUTTON type: Object
тип объекта
Angle 360 type: Number
угол поворота
Parent "Page 1" type: String
родительский объект

Item

IR.GetItem(page/popup).GetItem(item).property

Text "Hello" type: String
текст во всех состояниях элемента
State 2 type: Number
установить состояние элемента, Feefback: Channel
Feedback 4 type: Number
установить тип обратной связи элемента. Для Button: 0 - None, 1 - Channel, 2 - InvertChannel, 3 - On, 4 - Momentary, 5 - Blink. Для других элементов см. порядок свойств в Studio
Hit 2 type: Number
установить реакцию на нажатия. Для Button: 0 - Active Touch, 1 - Bounding Box, 2 - Pass Through. Для других элементов см. порядок свойств в Studio
Password 0 type: Number
установить номер пароля, 0 - без пароля, 1-4 - один из паролей
Value 1 type: Number
установить значение Value элемента
StatesCount 1 type: Number
количество состояний элемента
X 100 type: Number
координата элемента по горизонтали
Y 100 type: Number
кооридната элемента по вертикали
Width 250 type: Number
ширина элемента
Height 400 type: Number
высота элемента
Name "Item 1" type: String
имя элемента
Type IR.ITEM_BUTTON type: Object
тип элемента
Angle 360 type: Number
угол поворота элемента относительно центральной оси
ScaleX 100 type: Number
коэффициент растяжения Image по оси по Х
ScaleY 100 type: Number
коэффициент растяжения Image по оси по Y
Visible true type: Boolean
показать/скрыть элемент
Enable true type: Boolean
возможность нажать на елемент. false - элемент отображается в оттенках серого, нажать на него нельзя
Parent "Page 1" type: String
родительский объект - страница или окно, на которой расположен элемент, страница, на которой открыто окно
PasswordChar "\u2022" type: String
символ, на который будет визуально заменен любой текст, введенный в EditBox. Используется для скрытия введенных паролей. Получить исходный текст можно из свойства .Text

Item: Level

IR.GetItem(page/popup).GetItem(level).property

Min 0 type: Number
нижний предел уровня
Max 100 type: Number
верхний предел уровня
Invert 0 / 1 type: Number
инвертировать шкалу уровня
Direction 0 / 1 type: Number
вертикальный/горизонтальный уровень
Slider 1 type: Number
тип ползунка, от 0 до N, см. порядковый номер ползунка в Studio
SliderColor 0xFF0000FF type: ARGB
цвет ползунка


Item: Multistate Level

IR.GetItem(page/popup).GetItem(MS_level).property

Min 0 type: Number
нижний предел уровня
Max 100 type: Number
верхний предел уровня
Invert 0 / 1 type: Number
инвертировать шкалу уровня
Direction 0 / 1 type: Number
вертикальный/горизонтальный уровень


Item: Joystick

IR.GetItem(page/popup).GetItem(Joystick).property

ValueX 50 type: Number
значение Value по оси X
ValueY 100 type: Number
значение Value по оси Y
Color - type: -
-
PickColor (ColorPicker) - type: -
цвет под курсором ждойстика
Min 0 type: Number
нижний предел джойстика
Max 100 type: Number
верхний предел джойстика
Cursor 1 type: Number
тип курсора джойстика, от 0 до N, см. порядковый номер курсора в Studio
CursorColor 0xFF0000FF type: ARGB
цвет курсора

Item: Up/Down Button

IR.GetItem(page/popup).GetItem(Up/Down_Button).property

Max 100 type: Number
предел приращения Up/Down Button
Delta 1 type: Number
шаг приращения
PressDelta 1 type: Number
шаг приращения при нажатии
HoldDelta 5 type: Number
шаг приращения при удержании


Item: Trigger Button

IR.GetItem(page/popup).GetItem(Trigger_Button).property

TriggerValue1 0 type: Number
первое значение триггера
TriggerValue2 1 type: Number
второе значение триггера


Item: List

IR.GetItem(page/popup).GetItem(list).property

Template "Popup 1" type: string
позволяет установить или запросить шаблон для пунктов списка, которым является один из попапов проекта
Direction 0 type: number
позволяет установить или запросить направление прокрутки списка:
  • 0 - вертикальный список
  • 1 - горизонтальный список
ItemsCount 24 type: number
позволяет запросить количество пунктов списка
Filter "A" type: string
позволяет отфильтровать пункты списка по их имени (части имени)


см. подробнее в JavaScript API iRIdium. Спсики


State

IR.GetItem(page/popup).GetItem(item).GetState(n).property

Color 0xFF0000FF type: ARGB
получить цвет состояния
FillColor 0xFF0000FF type: ARGB
установить цвет состояния
Border 1 type: Number
указать тип бордюра от 0 до N, см. порядковый номер бордюра в Studio
BorderColor 0xFF0000FF type: ARGB
установить цвет бордюра
TextColor 0xFF0000FF type: ARGB
установить цвет текста
Text "string" type: String
текст в состоянии элемента
TextEffectColor 0xFF0000FF type: ARGB
установить цвет эффекта
Opacity 255 type: Number
0-255 прозрачность состояния
Image "Image 1.png" type: String
установить изображение по имени. Для динамического изображения используйте имя без расширения
ImageX 0 type: Number
смещение изображения по X, для ImageAlign: Absolute
ImageY 0 type: Number
смещение изображения по Y, для ImageAlign: Absolute
ImageAlign 0 type: Number
способ выравнивания изображения
ImageStretch 0 type: Number
способ масштабирования 0 - None; 1 - Proportional; 2 - FullSize
Icon "Image 2.png" type: String
установить изображение-иконку по имени
IconX 0 type: Number
смещение иконки по X, для IconAlign: Absolute
IconY 0 type: Number
смещение иконки по Y, для IconAlign: Absolute
IconAlign 0 type: Number
способ выравнивания иконки
FontId 1001 type: Number
установить шрифт по его идентификатору пример
Font - type: -
-
FontSize 12 type: Number
Получить размер шрифта
TextAlign 0 type: Number
способ выравнивания текста
TextX 0 type: Number
смещение текста по X, для TextAlign: Absolute
TextY 0 type: Number
смещение текста по Y, для TextAlign: Absolute
TextEffect 1 type: Number
включить эффект текста, от 0 до N, см. порядковый номер эффекта в Studio
DrawOrder 0x34521 type: HEX number
Последовательность отрисовки слоев графического элемента.Каждое число означает слой. Верхний слой - первое число, нижний - последнее. Стандартная последовательность слоев: 0x34521
  • 3 - Icon (иконка)
  • 4 - Text (текст)
  • 5 - Border (бордюр)
  • 2 - Image (картинка)
  • 1 - Fill (заливка)


Например, отобразить текст поверх иконки: 0x43521

WordWrap 0 / 1 type: Number
включить авто-перенос текста