Примеры использования 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") //Чтение из данного токена });