Примеры использования iRidium Script
Содержание
- 1 Работа с клавиатурой и полями ввода
- 2 Работа с цветовыми схемами
- 3 Работа со звуками
- 4 Работа с элементами
- 5 Работа со страницами и попапами
- 5.1 Создание попапа
- 5.2 Создание страницы
- 5.3 Удаление страницы
- 5.4 Удаление попапа
- 5.5 Изменение свойств страницы
- 5.6 Изменение свойств попапа
- 5.7 Получение количества страниц в проекте
- 5.8 Получение количества попапов в проекте
- 5.9 Работа с элементами на странице
- 5.10 Работа с элементами на попапе
- 5.11 Нажатия на страницу и жесты производящиеся на страницах
- 5.12 Работа с ориентацией устройства
- 5.13 Получение текущей страницы
- 5.14 Поворот попапов
- 5.15 Масштабирование попапов
- 5.16 Обращение к странице
- 5.17 Обращение к попапу
- 6 Работа с JSON
- 7 Работа с Xml
- 8 Использование списков
- 9 Использование токенов
Работа с клавиатурой и полями ввода
| Пример: Работа с клавиатурой и полями ввода |
С помощью iRidiumScript вы можете:
- Вызывать разные виды клавиатур
- Записывать с клавиатуры текст в элемент EditBox и редактировать введенный текст
В iRidium вы можете вызвать следующие типы клавиатур:
- Regular
- Numeric
- Smart
- Voice dialog
Получение данных с EditBox
Используя iRidiumScript вы можете считать информация вписанную в EditBox. Для этого следует использовать следующую конструкцию:
Text = IR.GetItem("Page_Name").GetItem("Item_Name").Text;
- Text - переменная в которую требуется записать данные из EditBox
- Page_Name - имя страницы на которой расположен EditBox
- Item_Name - имя EditBox
IR.AddListener(IR.EVENT_WORK, 0, function() //Событие работает на протяжении работы приложения
{
IR.GetItem("Page 1").GetItem("Item 2").Text = IR.GetItem("Page 1").GetItem("Item 1").Text; //Конструкция, которая считывает данные из EditBox и записыет в элемент
});
Считывание данных с EditBox
В iRidiumScript есть возможность считывание данных из EditBox'а, реализовано это так:
IR.AddListener(IR.EVENT_ITEM_CHANGE, IR.GetItem("Page 1").GetItem("Item 1"),function() //Событие происходит при изменении
{
IR.Log(IR.GetItem("Page 1").GetItem("Item 1").Text); //Происходит вывод в лог, то что изменяется
});
Работа с цветовыми схемами
| Пример: Работа с цветовыми схемами |
С помощью iRidiumScript можно изменять следующие цвета, используемые при отображении объекта:
- цвет фона (FillColor),
- цвет бордюра (BorderColor),
- цвет текста (TextColor),
- цвет текстового эффекта (TextEffectColor)
Для изменения цветов можно использовать следующие команды:
IR.GetItem("Page_Name").GetItem("Item_Name").GetState(State_Number).Fillcolor=0xFFFFFFFF;
IR.GetItem("Page_Name").GetItem("Item_Name").GetState(State_Number).BorderColor=0xFFFFFFFF;
IR.GetItem("Page_Name").GetItem("Item_Name").GetState(State_Number).TextColor=0xFFFFFFFF;
IR.GetItem("Page_Name").GetItem("Item_Name").GetState(State_Number).TextEffectColor=0xFFFFFFFF;
- Page_Name - Имя страницы на которой расположен выбранный элемент
- Item_Name - Имя элемента, у которого надо изменить цвет
- State_Number - Номер стэйта у которого надо изменить цвет
- 0xFFFFFFFF - Цветовая схема в Hex формате
Формат цвета
В iRidiumScript цветовая схема имеет следующую структуру:
0x FF FF FF FF
- FF - Оттенок красного (00 - FF)
- FF - Оттенок зеленого (00 - FF)
- FF - Оттенок синего (00 - FF)
- FF - Прозрачность (00 - FF)
Пример:
//Команда для изменения цвета заливки фона
IR.GetItem("Page 1").GetItem("Item 1").GetState(0).FillColor = 0xFFFF00FF;
//Команда для изменения цвета бордюра
IR.GetItem("Page 1").GetItem("Item 1").GetState(0).BorderColor = 0xFFFF00FF;
//Команда для изменения цвета текста
IR.GetItem("Page 1").GetItem("Item 1").GetState(0).TextColor = 0xFFFF00FF;
//Команда для изменения цвета текстового эффекта
/*(в разработке)*/IR.GetItem("Page 1").GetItem("Item 1").GetState(0).TextEffectColor = 0xFFFFFFFF;
Основные коды цветов
- Красный цвет 0xFF0000FF - Красный
- Оранжевый цвет 0xFF5A00FF - Оранжевый
- Желтый цвет 0xFFFF00FF - Желтый
- Зеленый цвет 0x00FF00FF - Зеленый
- Голубой цвет 0x00FBFFFF - Голубой
- Синий цвет 0x0000FFFF - Синий
- Фиолетовый цвет 0xA000FFFF - Фиолетовый
Работа со звуками
| Пример: Работа со звуками |
С помощью iRidiumScript вы можете
- Проигрывать звуковые файлы
- Останавливать проигрывание звукового файла
Проигрывание звука
Для проигрывания звукового файла используется команда
IR.PlaySound('File_Name');
- File_Name - имя звукового файла
IR.AddListener(IR.EVENT_START,0,function() //Событие, которое срабатывает при начале работы приложения
{
IR.PlaySound('ANGELS_F.WAV'); //Команда для проигрывания звука
});
Остановка звука
Для остановки воспроизведения звукового файла используется команда
IR.StopSound('File_Name');
- File_Name - имя звукового файла
IR.AddListener(IR.EVENT_START,0,function() //Событие, которое срабатывает при начале работы приложения
{
IR.StopSound('ANGELS_F.WAV'); //Команда для проигрывания звука
});
Работа с элементами
| Пример: Работа с элементами |
С помощью iRidium API можно создать изменить, удалить элемент графического интерфейса.
IR.CreateItem
Для создание элемента используется команда
IR.CreateItem(Тип_элемента, Имя_элемента,Координата_X, Координата_Y, Ширина_элемента, Высота_элемента);
- Тип_элемента - указываем тип элемента, который создаем;
- Имя_элемента - задаем имя элемента;
- Координата_Х, Координата_Y - начальная позиция элемента в рабочем поле;
- Ширина_элемента, Высота_элемента - ширина и высота создаваемого элемента
IR.AddListener(IR.EVENT_START,0, function() //Событие, которое срабатывает при начале работы приложения
{
IR.CreateItem(IR.ITEM_BUTTON,"Button",30,40,800,150); //Создание итема
});
IR.GetItem
Для изменения элемента используется команда
IR.GetItem("Страница_Размещения_Элемента").GetItem("Имя_Элемента")
- Страница_Размещения_Элемента - страница с расположенным элемент
- Имя_Элемента - имя элемента, который редактируем
IR.AddListener(IR.EVENT_START,0, function() //Событие, которое срабатывает при начале работы приложения
{
IR.CreateItem(IR.ITEM_BUTTON,"Button"); //Создание итема
IR.GetItem("Page 1").GetItem("Button").Width = 500; // Изменение ширины итема
IR.GetItem("Page 1").GetItem("Button").Height = 100; //Изменение высоты итема
IR.GetItem("Page 1").GetItem("Button").X = 0; //Изменение координаты Х у итема
IR.GetItem("Page 1").GetItem("Button").Y = 100; //Изменение координаты Y у итема
IR.GetItem("Page 1").GetItem("Button").GetState(0).Border = 5; //Изменение типа бордюра у итема
IR.GetItem("Page 1").GetItem("Button").GetState(0).Text = "This is new items"; //Изменение отображаемого текста на итема
IR.GetItem("Page 1").GetItem("Button").GetState(0).Opacity = 200; //Изменение прозрачности итема(0-255)
//Изменение отображаемой картинки на итеме
//(Для получения имени картинки воспользуйтесь интеллектуальной подсказкой, для этого нажмите ctrl+space после команды IR.GetItem("Page 1").GetItem("Button").GetState(0).Image =)
IR.GetItem("Page 1").GetItem("Button").GetState(0).Image = "pict.jpg";
//Изменение отображаемой иконки на итеме
//(Для получения имени картинки воспользуйтесь интеллектуальной подсказкой, для этого нажмите ctrl+space после команды IR.GetItem("Page 1").GetItem("Button").GetState(0).Icon =)
IR.GetItem("Page 1").GetItem("Button").GetState(0).Icon = "pict.jpg";
IR.GetItem("Page 1").GetItem("Button").GetState(0).Font = "Tohoma"; //Изменение шрифта текста[размер текста]
IR.GetItem("Page 1").GetItem("Button").GetState(0).TextEffect = 1; //Добавление эфектов к шрифту
});
IR.DeleteItem
- в разработке
ItemsCount
Для подсчета числа элементов на странице существует функция
IR.CurrentPage.ItemsCount
Она возвращает количество элементов на выбранной странице. Полученное число можно сохранить в переменную или отобразить на элементе:
IR.AddListener(IR.EVENT_START, 0, function() // Функция запускаемая при старте приложения
{
// Получаем идентификатор элемента на котором высветим число элементов
var ShowCount = IR.GetItem("Page 1").GetItem("Item 107");
// Получаем число элементов и отображаем
ShowCount.Text = IR.CurrentPage.ItemsCount;
});
Также можно подсчитать количество элементов на любой другой доступной странице, заменив:
IR.CurrentPage на IR.GetItem("Имя_Страницы")
- Имя_Страницы - имя страницы на которой будут подсчитываться элементы
IR.AddListener(IR.EVENT_START, 0, function() // Функция запускаемая при старте приложения
{
// Получаем идентификатор элемента на котором высветим число элементов
var ShowCount = IR.GetItem("Page 1").GetItem("Item 107");
// Получаем число элементов и отображаем
ShowCount.Text = IR.GetItem("Page 2").ItemsCount;
});
EVENTS
Что бы сделать приложение интерактивным, существуют события:
- EVENT_ITEM_PRESS - нажатие
IR.AddListener(IR.EVENT_START, 0, function() //Событие, которое срабатывает при начале работы приложения
{
var popup = IR.CreateItem(IR.ITEM_POPUP,"POPUP", 150, 10, 200, 200); //Создаем попап
var button = IR.CreateItem(IR.ITEM_BUTTON, "POPUP_BUTTON", 10, 10); //Создаем итем
button.Text = "POPUP";
IR.AddListener(IR.EVENT_ITEM_PRESS, button, function() //Событие, которое срабатывает при нажатии на кнопку
{
IR.TogglePopup("POPUP"); //Показать попап
});
});
- EVENT_ITEM_RELEASE - отпускание
IR.AddListener(IR.EVENT_START, 0, function() //Событие, которое срабатывает при начале работы приложения
{
var popup = IR.CreateItem(IR.ITEM_POPUP, "POPUP2", 150, 10, 200, 200); //Создаем попап
var button = IR.CreateItem(IR.ITEM_BUTTON, "POPUP_BUTTON2", 10, 10); //Создаем итем
button.Text = "POPUP2";
IR.AddListener(IR.EVENT_ITEM_RELEASE, button, function() //Событие, которое срабатывает при отпускании кнопки
{
IR.TogglePopup("POPUP2"); //показать попап
});
});
- EVENT_ITEM_SELECT - выбор
- EVENT_ITEM_CHANGE - изменение
- EVENT_MOUSE_DOWN - нажатие кнопки мыши
IR.AddListener(IR.EVENT_MOUSE_DOWN, IR.GetItem("Page 1"), function() //Событие, которое срабатывает при отпускании клавиши мыши
{
IR.GetItem("Page 1").GetItem("Level").Value = IR.GetItem("Page 1").GetItem("Level").Value -4 //изменения параметра итема (Понижение значения на 4)
});
- EVENT_MOUSE_UP - отпускание кнопки мыши
IR.AddListener(IR.EVENT_MOUSE_UP, IR.GetItem("Page 1"), function() //Событие, которое срабатывает при нажатии на клавишу мыши
{
IR.GetItem("Page 1").GetItem("Level").Value = IR.GetItem("Page 1").GetItem("Level").Value +4 //изменения параметра итема (Повышение значения на 4)
});
- EVENT_MOUSE_MOVE - движение кнопки мыши
IR.AddListener(IR.EVENT_MOUSE_MOVE, IR.GetItem("Page 1"), function() //Событие, которое срабатывает при движении мыши
{
IR.GetItem("Page 1").GetItem("Level").Value = IR.GetItem("Page 1").GetItem("Level").Value +4 //изменения параметра итема (Повышение значения на 4)
});
- EVENT_TOUCH_DOWN - нажатие пальца
IR.AddListener(IR.EVENT_TOUCH_DOWN, IR.GetItem("Page 1"), function() //Событие, которое срабатывает при отпускании пальца
{
IR.GetItem("Page 1").GetItem("Level").Value = IR.GetItem("Page 1").GetItem("Level").Value -4 //изменения параметра итема (Понижение значения на 4)
});
- EVENT_TOUCH_UP - отпускание пальца
IR.AddListener(IR.EVENT_TOUCH_UP, IR.GetItem("Page 1"), function() //Событие, которое срабатывает при нажатии пальца
{
IR.GetItem("Page 1").GetItem("Level").Value = IR.GetItem("Page 1").GetItem("Level").Value +4 //изменения параметра итема (Повышение значения на 4)
});
- EVENT_TOUCH_MOVE - движение пальца
IR.AddListener(IR.EVENT_TOUCH_MOVE, IR.GetItem("Page 1"), function() //Событие, которое срабатывает при движении пальца
{
IR.GetItem("Page 1").GetItem("Level").Value = IR.GetItem("Page 1").GetItem("Level").Value +4 //изменения параметра итема (Повышение значения на 4)
});
IR.AddListener
Для обработки событий используется слушатель:
IR.AddListener(Событие, Элемент, function(){Тело_Функции})
- Событие - собыитие, которое будет обрабатыватсья слушателем
- Элемент - Идентификатор элемента, или переменая хранящая идентификатор элемента
- Тело_Функции - команды которые должны выполняться при срабатывании события
Пример обработки событий:
// Обработка нажатия для
IR.AddListener(IR.EVENT_ITEM_PRESS, IR.GetItem("Color_Picker").GetItem("Item 20"), function()
{
ColorPiker();
});
// Обработка движения мыши
IR.AddListener(IR.EVENT_MOUSE_MOVE, IR.GetItem("Color_Picker").GetItem("Item 20"), function()
{
ColorPiker()
});
// Обработка движения пальца
IR.AddListener(IR.EVENT_TOUCH_MOVE, IR.GetItem("Color_Picker").GetItem("Item 20"), function()
{
ColorPiker()
});
StartActions
Для того чтобы обратится к макросу существует команда
IR.GetItem("Имя_Страницы").GetItem("Имя_итема").StartActions(Тип_события)
- Имя_страницы - указывает команде к какой странице нужно обратиться
- Имя_итема - указывает команде к какому итему нужно обратиться
- Тип_события - событие, при котором срабатывает макрос (PRESS, RELEASE, SELECT, CHANGE, MOUSE_DOWN, MOUSE_UP, MOUSE_MOVE, TOUCH_DOWN, TOUCH_UP, TOUCH_MOVE)
IR.AddListener(IR.EVENT_START,0,function() //Событие, которое происходит по старту приложения
{
IR.GetItem("Page 1").GetItem("Item 1").StartActions(IR.EVENT_ITEM_PRESS); //Обращение к макросу
});
GetState
Для того чтобы обратится к стейту существует следующая команда:
IR.GetItem("Имя_страницы").GetItem("Имя_Итема").GetState(Положение_стейта).Свойства;
- Имя_страницы - указывает команде к какой странице нужно обратиться
- Имя_Итема - указывает команде к какому итему нужно обратиться
- Положение_стейта - указывает команде к какому стейту нужно обратиться (отсчет идет с 0)
- Свойства - указываем свойства для изменения
IR.AddListener(IR.EVENT_START,0,function() //Событие, которое происходит по старту приложения
{
IR.CreateItem(IR.ITEM_BUTTON,"Button") //Создаем итем
IR.GetItem("Page 1").GetItem("Button").GetState(0).Opacity = 200; //Обращаемся к стейту 1 и изменяем прозрачность
IR.GetItem("Page 1").GetItem("Button").GetState(1).Opacity = 10; //Обращаемся к стейту 2 и изменяем прозрачность
IR.GetItem("Page 1").GetItem("Button").Feedback = 4 //указываем какой способ смены стейтов использовать
});
Работа со страницами и попапами
| Пример: Работа со страницами и попапами |
Существуют следующие операции для взаимодействия со страницами и окнами проекта (попапами):
- Создание страниц и попапов
- Изменение страниц и попапов
- Удаление страниц и попапов
- Подсчет количества страниц и попапов
- Работа с элементами расположенными на страницах и попапах
- Добавление действий при активации жеста или нажатия
- Добавление действий при смене ориентации устройства
- Поворот попапов
Создание попапа
Для создания попапа используется команда
IR.CreateItem(IR.ITEM_POPUP, Имя_Попапа,КоординатаX, КоординатаY, Ширина_попапа, Высота_попапа);
- IR.ITEM_POPUP - указывает команде создавать элемент типа попап;
- Имя_Попапа - указывается имя попапа, который будет создан;
- КоординатаX, КоординатаY - начальная позиция попапа в рабочем поле;
- Ширина_попапа, Высота_попапа - ширина и высота попапа.
Пример создания попапа при старте приложения:
IR.AddListener(IR.EVENT_START,0,function() //Событие, которое срабатывает при начале работы приложения
{
//Создание попапа: IR.CreateItem(IR.ITEM_POPUP, Имя_Попапа,КоординатаX,КоординатаY, Ширина_попапа, Высота_попапа);
IR.CreateItem(IR.ITEM_POPUP, "lamps", 0, 0, 480, 100);
IR.ShowPopup("lamps"); //Открыть попап на текущей странице
});
Создание страницы
Для создания страницы используется команда:
IR.CreateItem(IR.ITEM_PAGE, Имя_страницы, Ширина_страницы, Высота_страницы);
- IR.ITEM_PAGE - указывает команде создавать элемент типа страница;
- Имя_страницы - указывается имя страницы, которая будет создана;
- Ширина_страницы, Высота_страницы - ширина и высота страницы.
Пример создания страницы при старте приложения:
IR.AddListener(IR.EVENT_START,0,function() //Событие, которое срабатывает при начале работы приложения
{
//Создание страницы: IR.CreateItem(IR.ITEM_PAGE, Имя_страницы, Ширина_страницы, Высота_страницы);
IR.CreateItem(IR.ITEM_PAGE, "New Page", 480, 100);
IR.ShowPage("New Page"); //Открыть страницу
});
Удаление страницы
- в разработке
Удаление попапа
- в разработке
Изменение свойств страницы
Для изменения свойства страницы следует сначала обратиться к самой странице:
IR.GetItem("Имя_Страницы")
- Имя_Страницы - указывает к какой странице нужно обратиться.
У страниц есть свойства, теперь к ним можно обратиться и присвоить требуемое значение:
IR.GetItem("Page 1").Width = 100;
- Width - указывает что нужно обратиться к свойству "ширина страницы".
Пример изменения свойств страницы:
IR.GetItem("New Page").Width = 100; // Изменение ширины страницы
IR.GetItem("New Page").Height = 100; //Изменение высоты страницы
IR.GetItem("New Page").X = 100; //Изменение координаты Х у страницы
IR.GetItem("New Page").Y = 100; //Изменение координаты Y у страницы
IR.GetItem("New Page").GetState(0).Border = 5; //Изменение типа бордюра у страницы
IR.GetItem("New Page").GetState(0).Text = "This is new page"; //Изменение отображаемого текста на странице
IR.GetItem("New Page").GetState(0).Opacity = 200; //Изменение прозрачности страницы(0-255)
//Изменение отображаемой картинки на странице
//(Для получения имени картинки воспользуйтесь интеллектуальной подсказкой, для этого нажмите ctrl+space после команды IR.GetItem("New Page").GetState(0).Image =)
IR.GetItem("New Page").GetState(0).Image = "pict.jpg";
//Изменение отображаемой иконки на странице
//(Для получения имени иконки воспользуйтесь интеллектуальной подсказкой, для этого нажмите ctrl+space после команды IR.GetItem("New Page").GetState(0).Icon =)
IR.GetItem("New Page").GetState(0).Icon = "pict.jpg";
Изменение свойств попапа
Для изменения свойства попапа следует сначала обратиться к самому попапу:
IR.GetItem("Имя_Попапа")
- Имя_Попапа - указывает команде к какому попапу нужно обратиться.
У попапа есть свойства, теперь к ним можно обратиться и присвоить требуемое значение:
IR.GetItem("Popup 1").Width = 100;
- Width - указывает что нужно обратиться к свойству ширина у попапа.
Пример изменения свойств у попапа:
IR.GetItem("lamps").Width = 100; // Изменение ширины попапа
IR.GetItem("lamps").Height = 100; //Изменение высоты попапа
IR.GetItem("lamps").X = 100; //Изменение координаты Х у попапа
IR.GetItem("lamps").Y = 100; //Изменение координаты Y у попапа
IR.GetItem("lamps").GetState(0).Border = 5; //Изменение типа бордюра у попапа
IR.GetItem("lamps").GetState(0).Text = "This is new page"; //Изменение отображаемого текста на попапе
IR.GetItem("lamps").GetState(0).Opacity = 200; //Изменение прозрачности попапа(0-255)
IR.GetItem("lamps").GetState(0).Image = "pict.jpg"; //Изменение отображаемой картинки на попапе
IR.GetItem("lamps").GetState(0).Icon = "pict.jpg"; //Изменение отображаемой иконки на попапе
Получение количества страниц в проекте
Чтобы узнать сколько страниц существует в проекте используйте команду
IR.PagesCount.
Команда возвращает число, его можно к примеру сохранить в переменную:
IR.AddListener(IR.EVENT_START, 0, function() //Событие, которое срабатывает при начале работы приложения
{
var count = IR.PagesCount; //Команда для подсчета количества страниц в проекте
});
Получение количества попапов в проекте
Что бы узнать сколько попапов существует в проекте используйте команду
IR.PopupsCount.
Команда возвращает число, его можно к примеру сохранить в переменную:
IR.AddListener(IR.EVENT_START, 0, function() //Событие, которое срабатывает при начале работы приложения
{
var PopupsCount = IR.PopupsCount; //Команда для подсчета количества попапов в проекте
});
Работа с элементами на странице
Для изменения свойств элементов следует сначала обратится к странице на которой расположен элемент, следом обратится к элементу, далее обратится к его свойству и присвоить ему новое значение
IR.GetItem("Имя_Страницы").GetItem("Имя_Элемента").Свойство = Новое значение;
//В цикле перебираем все страницы в проекте (Цикл начинается с 1 так как страница с нулевым идентификатором это системная страница, которая не может быть изменена)
for (var i = 1; i < PagesCount; i++)
{
var a = IR.GetPage(i); //Приравниваем переменной идентификатор страницы
if (a.Name == "Page 1") //Если имя перебираемой страницы соответствует Page 1
{
a.GetItem("Item 2").Width = 10; //Изменяем у её элемента Item 2 ширину
}
}
Работа с элементами на попапе
Для изменения свойств элементов следует сначала обратится к попапу на которой расположен элемент, следом обратится к элементу, далее обратится к его свойству и присвоить ему новое значение
IR.GetItem("Имя_Попапа").GetItem("Имя_Элемента").Свойство = Новое значение;
for (var i = 0; i < PopupCount; i++) //В цикле перебираем все попапы в проекте
{
var a = IR.GetPage(i); //Присваиваем переменной идентификатор попапа
if (a.Name == "Popup 1") //Если имя перебираемого попапа соответствует Popup 1
{
a.GetItem("Item 2").Width = 10; //Изменяем у его элемента Item 2 ширину
}
}
Нажатия на страницу и жесты производящиеся на страницах
Работа с ориентацией устройства
Каждое устройство может принимать вертикальное и горизонтальное положения. Для получения текущего положения устройства, следует использовать слушателя:
IR.AddListener(IR.EVENT_ORIENTATION, 0, function(orientation)
- где в переменной orientation передается 0 или 1 (0 - горизонтальная, 1 - вертикальная)
IR.AddListener(IR.EVENT_ORIENTATION, 0, function(orientation) //Событие срабатывает при смене ориентации устройства
{
IR.Log(orientation); //положение устройства(0 - горизонтальное, 1 - вертикальное)
});
Получение текущей страницы
Для получения страницы открытой в данный момент используется команда
IR.CurrentPage;
IR.AddListener(IR.EVENT_START, 0, function() //Событие, которое срабатывает при начале работы приложения
{
var current = IR.CurrentPage; //Команда записывает идентификатор текущей страницы
});
Поворот попапов
Для поворота попапа используется команда
IR.GetItem("Popup_Name").Angle = Value;
Value - угол поворота в градусах
IR.AddListener(IR.EVENT_START, 0, function() //Событие, которое срабатывает при начале работы приложения
{
IR.GetItem("Popup 1").Angle = 50; //Команда для поворота попапа на введенное число (в градусах)
});
Масштабирование попапов
Для масштабирования попапа используется команда
IR.GetItem("Popup_Name").ScaleX = Value; или IR.GetItem("Popup_Name").ScaleY = Value;
Value - Процент масштабирования
IR.AddListener(IR.EVENT_START, 0, function() //Событие, которое срабатывает при начале работы приложения
{
IR.GetItem("Popup 1").ScaleY = 0.5; //Команда масштабирующая попап по координате Y на 50%
IR.GetItem("Popup 1").ScaleX = 0.8; //Команда масштабирующая попап по координате X на 80%
IR.GetItem("Popup 1").ScaleY = 1.5; //Команда масштабирующая попап по координате Y на 150%
IR.GetItem("Popup 1").ScaleX = 1.8; //Команда масштабирующая попап по координате X на 180%
});
Обращение к странице
Вы можете обратиться к любой странице по её имени или идентификатору страницы с помощью команды
IR.GetPage(Имя_Страницы_или_идентификатор);
IR.AddListener(IR.EVENT_START, 0, function() //Событие, которое срабатывает при начале работы приложения
{
var MyPage = IR.GetPage("Page 1"); //Обращение к странице по имени
var MyPage = IR.GetPage(0); //Обращение к странице по идентификатору
});
Обращение к попапу
Вы можете обратиться к любому попапу по его имени или по идентификатору попапа с помощью команды
IR.GetPopup(Имя_Попапа_или_идентификатор);
IR.AddListener(IR.EVENT_START, 0, function() //Событие, которое срабатывает при начале работы приложения
{
var MyPopup = IR.GetPopup("Popup 1"); //Обращение к попапу по имени
var MyPopup = IR.GetPopup(0); //Обращение к попапу по идентификатору
});
Работа с JSON
| Пример: Работа с JSON |
В iRidiumScript вы можете создавать и редактировать JSON-объекты.
JSON-объект - это текстовый формат обмена данными, основанный на JavaScript и обычно используемый именно с этим языком.
Пример JSON-объекта:
"firstName": "Иван",
"lastName": "Иванов",
"address": {
"streetAddress": "Московское ш., 101, кв.101",
"city": "Москва",
"postalCode": 101101
},
"phoneNumbers": [
"812 123-1234",
"916 123-4567"
]
В iRidiumScript используются следующие команды для работы с JSON-объектом:
- JSON.Parse(value); - инструкция для преобразования строки в JSON-объект
- JSON.Stringify(value); - инструкция для преобразования JSON-объекта в строку
var text = '{"firstName": "Иван","lastName": "Иванов","address": {"streetAddress": "Московское ш., 101, кв.101", "city": "Ленинград", "postalCode": 101101},"phoneNumbers": ["812 123-1234","916 123-4567"]}'
IR.AddListener(IR.EVENT_START,0,function() //Событие срабатывает при начале работы приложения
{
IR.Log("text = "+text); //Вывод в лог исходного теста
var JSONObject = JSON.Parse(text); //Конвертирование исходного текста в JSON-объект
IR.Log("JSONObject = "+JSONObject.lastName); //Вывод в лог полученного JSON-объекта
var TextFromJSON = JSON.Stringify(JSONObject); //Переконвертирование JSON-объекта в текстовую строку
IR.Log("TextFromJSON = "+TextFromJSON); //Вывод в лог полученной текстовой строки
});
Работа с Xml
| Пример: Работа с Xml |
В iRidumScript Вы можете создавать и редактировать xml-объекты, а так же обращаться к каждому полю объекта и манипулировать им. Для создания xml-объекта используется команда
xmlObject = new XML('<test atrib="123">text</test>');
- xmlObject - переменная которой мы назначаем тип xml-объект и записываем в нее xml-структуру
- <test atrib="123">text</test> - данные которые будут храниться в объекте как поля и значения
var DEVICE = IR.GetDevice("Weather"); //Определяем драйвер работы с погодой
var xml; //переменная хранит xml-объект
//---------------------------------------------------
//Блок инициализации пользовательских переменных
//---------------------------------------------------
var City;
var Region;
var Country;
var Temperature;
var Distance;
var Pressure;
var Speed;
var Chill;
var Direction;
var SpeedNumber;
var Humidity;
var Visibility;
var Pressure;
var Rising;
var Sunrise;
var Sunset;
//---------------------------------------------------
IR.AddListener(IR.EVENT_RECEIVE_TEXT, DEVICE, function(text) //Событие срабатывает, когда от сервера приходят данные
{
xml = new XML(text); //Преобразуем полученные от сервера данные в xml-объект
//---------------------------------------------------
//Запись xml-аттрибутов в соответствующие переменные
//---------------------------------------------------
City = xml.rss.channel["yweather:location"]["@city"]; //Запись названия города в переменную
Region = xml.rss.channel["yweather:location"]["@region"]; //Запись названия региона в переменную
Country = xml.rss.channel["yweather:location"]["@country"]; //Запись названия страны в переменную
Temperature = xml.rss.channel["yweather:units"]["@temperature"];//Запись вида отображения погоды в переменную
Distance = xml.rss.channel["yweather:units"]["@distance"]; //Запись единиц измерения скорости в переменную
Pressure = xml.rss.channel["yweather:units"]["@pressure"]; //Запись показателей давления в переменную
Speed = xml.rss.channel["yweather:units"]["@speed"]; //Запись показателей скорости в переменную
Chill = xml.rss.channel["yweather:wind"]["@chill"]; //Запись показателей температуры в переменную
Direction = xml.rss.channel["yweather:wind"]["@direction"]; //Запись направления ветра в переменную
SpeedNumber = xml.rss.channel["yweather:wind"]["@speed"]; //Запись скорости ветра в переменную
//---------------------------------------------------
//Вывод в лог полученных значений
//---------------------------------------------------
IR.Log("City = "+City);
IR.Log("Region = "+Region);
IR.Log("Country = "+Country);
IR.Log("Temperature = "+Temperature);
IR.Log("Distance = "+Distance);
IR.Log("Pressure = "+Pressure);
IR.Log("Speed = "+Speed);
IR.Log("Chill = "+Chill);
IR.Log("Direction = "+Direction);
IR.Log("SpeedNumber = "+SpeedNumber);
});
Использование списков
| Пример: Использование списков |
Листы (инерционные списки) содержат в себе заданное (целое, положительное) целое элементов.
Типы листов:
- List - использует один шаблон для всех своих элементов, все элементы одного типа, одновременно отображается несколько элементов.
- Static List - элементы листа - попапы, все разные, единовременно отображается только один элемент листа, выравнивается по центру листа.
Создание листа
Процесс создания листа, можно разделить на три этапа:
- Создание элемента типа list
- Создание и прикрепления шаблона для листа - заранее созданного окна popup
- Наполнение листа
Для создания элемента list используется команда
IR.CreateItem(IR.ITEM_LISTBOX, Имя_Листа, Left, Top, Width, Height)
- IR.ITEM_LISTBOX - указывает команде создавать элемент типа list
- Имя_Листа - имя создаваемого листа
- Left - отступ от левого края страницы
- Top - отступ от верхнего края страницы
- Width - ширина элемента
- Height - высота элемента
Пример создания элемента list при старте приложения:
IR.AddListener(IR.EVENT_START,0,function() // Событие, которое срабатывает при начале работы приложения
{
IR.CreateItem(IR.ITEM_LISTBOX,"Item 1",277,10,441,751); // Создаем элемент типа list, он создастася на странице которая отобразилась при старте
});
Шаблон листа
Шаблон листа - это попап, который задает порядок, размещение и количество подэлементов для элемента листа.
Шаблон может быть создан в редакторе при помощи визуального размещения элементов, а так же из под скрипта. Как создать попап из под скрипта можно прочитать здесь.
Для прикрепления шаблона к листу используется команда
Имя_Листа.Template = "Имя_Попапа"
- Имя_Листа - имя переменной содержащей идентификатор листа
- Template - свойство листа отвечающее за шаблон
- Имя_Попапа - имя попапа, который будет использоваться как шаблон
Пример прикрепления шаблона к элементу типа list при старте приложения:
IR.AddListener(IR.EVENT_START,0,function() // Событие, которое срабатывает при начале работы приложения
{
IR.CreateItem(IR.ITEM_LISTBOX,"Item 1",277,10,441,751); // Создаем элемент типа list, он создастася на странице которая отобразилась при старте
list = IR.GetItem("Page 1").GetItem("Item 1"); // Получаем идентификатор элемента типа list и сохраняем его в переменной с именем list.
list.Template = "Popup 1"; // Прикрепляем шаблон к созданному листу
});
Направление листа
Направление элемента лист отвечает за то, как будет ориентирован лист:
- Vertical - элементы листа прокручиваются друг за другом сверху вниз
- Horizontal - элементы листа прокручиваются друг за другом слева направо
Наполнение листа
После того как лист создан и шаблон попапа выбран, можно начать наполнение листа.
Для наполнения листа используется команда
Имя_Листа.CreateItem(element, sub_element, {Свойство_1: Значение, .. ,Свойство_N: Значение});
- Имя_Листа - имя переменной содержащей идентификатор листа
- element - номер элемента листа начиная с единицы
- sub_element - номер подэлемента элемента листа, начиная с нуля. Ноль - это сам исходных попап
- Свойство_1, Свойство_N - любые доступные свойства подэлемента, к примеру .Width - ширина. Свойство можно указывать через запятую N-раз, N - число доступных свойств для подэлемента
- Значение - само значение, которое будет принимать свойство, к примеру для свойства .Width (ширина) укажем значение 1024.
Пример заполнения листа при старте приложения:
IR.AddListener(IR.EVENT_START,0,function() // Событие, которое срабатывает при начале работы приложения
{
list = IR.GetItem("Page 1").GetItem("Item 1");// Получаем идентификатор элемента типа list и сохраняем его в переменной с именем list.
list.CreateItem(1, 1, {Text: "TV Bedroom"}); // Создается 1-ый элемент и у 1-ого субэлемента назначается свойство Text равное "TV Bedroom"
list.CreateItem(2, 1, {Text: "Projector"}); // Создается 2-ой элемент и у 1-ого субэлемента назначается свойство Text равное "Projector"
list.CreateItem(2, 2, {Image: 1}); // У 2-ого субэлемента назанчается свойство Image получающее идентификатор изображения равное 1
list.CreateItem(3, 1, {Text: "TV Hall"}); // Создается 3-ый элемент и у 1-ого субэлемента назначается свойство Text равное "TV Hall"
list.CreateItem(3, 2, {Image: 2}); // У 3-ого субэлемента назанчается свойство Image получающее идентификатор изображения равное 2
});
Изменение свойств листа
Изменение листа осуществляется путем создания элемента листа заново, с указанием нового значения для изменяемого свойства.
Пример изменения листа по нажатию на кнопку:
IR.AddListener(IR.EVENT_START,0,function() // Событие, которое срабатывает при начале работы приложения
{
list = IR.GetItem("Page 1").GetItem("Item 1"); // Получаем идентификатор элемента типа list и сохраняем его в переменной с именем list.
button = IR.GetItem("Page 1").GetItem("Item 2"); // Получаем идентификатор элемента типа button и сохраняем его в переменной с именем button.
list.CreateItem(1, 1, {Text: "TV Bedroom"}); // Создается 1-ый элемент и у 1-ого субэлемента назначается свойство Text равное "TV Bedroom"
list.CreateItem(2, 1, {Text: "Projector"}); // Создается 2-ой элемент и у 1-ого субэлемента назначается свойство Text равное "Projector"
list.CreateItem(2, 2, {Image: 1}); // У 2-ого субэлемента назанчается свойство Image получающее идентификатор изображения равное 1
list.CreateItem(3, 1, {Text: "TV Hall"}); // Создается 3-ый элемент и у 1-ого субэлемента назначается свойство Text равное "TV Hall"
list.CreateItem(3, 2, {Image: 2}); // У 3-ого субэлемента назанчается свойство Image получающее идентификатор изображения равное 2
// Для примера изменения листа поменяем второй элемент и третий местами по нажатию на кнопку
IR.AddListener(IR.EVENT_ITEM_PRESS, button, function() // Собыите, которое срабатывает при нажатии на кнопку
{
list.CreateItem(2, 1, {Text: "TV Hall"}); // Заменяем значения свойств 2-го элемента на значения свойств 3-го
list.CreateItem(2, 2, {Image: 2});
list.CreateItem(3, 1, {Text: "Projector"}); // А тут заменяем значения свойств 3-го элемента на значения свойств 2-го
list.CreateItem(3, 2, {Image: 1});
});
});
Очистка листа
Очистка листа удаляет все элементы листа, используется когда в содержимом листа больше нет необходимости.
Для очистки листа существует метод Имя_Листа.Clear(), где
- Имя_Листа - имя переменной содержащей идентификатор листа.
Пример очистки листа по нажатию на кнопку:
IR.AddListener(IR.EVENT_START,0,function() // Событие, которое срабатывает при начале работы приложения
{
list = IR.GetItem("Page 1").GetItem("Item 1"); // Получаем идентификатор элемента типа list и сохраняем его в переменной с именем list.
button = IR.GetItem("Page 1").GetItem("Item 2"); // Получаем идентификатор элемента типа button и сохраняем его в переменной с именем button.
list.CreateItem(1, 1, {Text: "TV Bedroom"}); // Создается 1-ый элемент и у 1-ого субэлемента назначается свойство Text равное "TV Bedroom"
list.CreateItem(2, 1, {Text: "Projector"}); // Создается 2-ой элемент и у 1-ого субэлемента назначается свойство Text равное "Projector"
list.CreateItem(3, 1, {Text: "TV Hall"}); // Создается 3-ый элемент и у 1-ого субэлемента назначается свойство Text равное "TV Hall"
// Для примера очистки листа - сделаем очистку по нажатию на кнопку:
IR.AddListener(IR.EVENT_ITEM_PRESS, button, function() // Собыите, которое срабатывает при нажатии на кнопку
{
list.Clear(); // Очистка листа
});
});
Удаление элементов
Если требуется удалить один или несколько элементов листа, для этого используется метод
Имя_Листа.DeleteItem(element)
- Имя_Листа - имя переменной содержащей идентификатор листа.
- element - номер элемента листа начиная с единицы.
Пример удаления элементов листа по нажатию на кнопку:
IR.AddListener(IR.EVENT_START,0,function() // Событие, которое срабатывает при начале работы приложения
{
list = IR.GetItem("Page 1").GetItem("Item 1"); // Получаем идентификатор элемента типа list и сохраняем его в переменной с именем list.
button = IR.GetItem("Page 1").GetItem("Item 2"); // Получаем идентификатор элемента типа button и сохраняем его в переменной с именем button.
list.CreateItem(1, 1, {Text: "TV Bedroom"}); // Создается 1-ый элемент и у 1-ого субэлемента назначается свойство Text равное "TV Bedroom"
list.CreateItem(2, 1, {Text: "Projector"}); // Создается 2-ой элемент и у 1-ого субэлемента назначается свойство Text равное "Projector"
list.CreateItem(3, 1, {Text: "TV Hall"}); // Создается 3-ый элемент и у 1-ого субэлемента назначается свойство Text равное "TV Hall"
// Удаление элементов листа сделаем по нажатию на кнопку
IR.AddListener(IR.EVENT_ITEM_PRESS, button, function() // Собыите, которое срабатывает при нажатии на кнопку
{
list.DeleteItem(3); // Удаляем третий элемент листа
list.DeleteItem(2); // Удаляем второй элемент листа
});
});
Использование токенов
| Пример: Использование токенов |
Токены (Tokens) записывают информацию при закрытии приложения, чтобы при повторном открытии приложения, вы вновь могли ей воспользоваться. Например: при вводе пароля, можно записать его в токен, чтобы в дальнейшем не требовалось его вводить.
Типы команд для работы с токенами:
- Чтение из токена
- Запись в токен
Запись значения в токен
Для записи данных в токен используется команда
IR.SetVariable("Tokens,имя_токена",'значение передаваемое в токен')
- имя_токена - указываем имя токена, в который будет производится запись
- значение передаваемое в токен - указываем значение, которое запишется в токен
IR.AddListener(IR.EVENT_START,0,function() //Событие, которое срабатывает при начале работы приложения
{
IR.SetVariable("Tokens.example",'300') //Запись в токен заданного значения
});
Чтение данных из токенов
Для того чтобы считать токен используется команда
IR.GetVariable("Tokens,имя_токена")
- имя_токена - указываем имя токена, в который будет производится запись
IR.AddListener(IR.EVENT_START,0,function() //Событие, которое срабатывает при начале работы приложения
{
IR.GetVariable("Tokens.example") //Чтение из данного токена
});