Инструкция по использованию ALPS-V ~ ANTONLOGINOV PROGRAMMING

Инструкция по использованию ALPS-V

Skip to main content

Инструкция по использованию ALPS-V

ALPS-V — настольный визуальный конструктор интерфейсов панелей. Вы размещаете элементы на Рабочей области, настраиваете свойства и действия, сохраняете проект в .valp и выгружаете пакет для ALPS-E.

1. Начало работы

1.1. Запуск приложения

1.1.1. Необходимо скачать приложение с сайта www.antonloginov.pro, с раздела Загрузки

1.1.2. Запустить исполняемый файл программы ALPS-V.

1.2. Создание проекта

  1. Нажмите Новый проект на панели инструментов или выберите пункт в меню Файл.
  2. В Project Manager выберите корень проекта.
  3. В Properties задайте размер холста (global_width / global_height), при необходимости WebSocket IP, panel_id и start_page.
  4. Нажмите Apply Dimensions.
  5. Сохраните проект (Ctrl+S) — появится рабочая папка и файл .valp.

1.3. Открытие проекта

  • Открыть проект на панели / в меню Файл;
  • двойной щелчок по файлу .valp (если ассоциация зарегистрирована).

2. Интерфейс редактора

2.1. Панель инструментов

КнопкаДействие     Горячая клавиша
Новый проектСоздать проект—
ОткрытьОткрыть проект .valp—
СохранитьУпаковать и сохранить .valpCtrl+S
Сохранить какСохранить под новым именем—
Отменить / ПовторитьUndo / RedoCtrl+Z / Ctrl+Y
ВставитьСоздать Button, Slider, Text, Stream, Scrolling—
ЗапускЭмулятор панели—
Выгрузить для ALPS-EСохранить .ealp в папке проекта—
УстройстваПоиск панелей и контроллеров и отправка проекта—
ВыравниваниеВыровнять / распределить выделенные элементы—

2.2. Project Manager (слева)

Дерево проекта:

Узел  Назначение
Корень проектаНастройки проекта в Properties
PagesПолные страницы и папки
SubPageПодстраницы (слои)
ResourcesИзображения проекта
FontsПользовательские шрифты

Контекстное меню (ПКМ):

  • Add Page / Add SubPage / Add Folder;
  • Add Image / Add Font;
  • Show/Hide SubPages — видимость подстраниц в редакторе;
  • Delete.

Выберите Page или SubPage, чтобы открыть её на canvas.

2.3. Рабочая область

  • Панорамирование — средняя кнопка мыши или два пальца на тачпаде ноутбука.
  • Масштаб — Ctrl + колёсико или CTRL+два пальца на тачпаде ноутбука.
  • Вписать страницу — двойной щелчок ЛКМ по пустому canvas или двойной щелчок средней кнопкой.
  • Выделение — щелчок по элементу; Ctrl+клик — добавить к выделению.
  • Рамка — тянуть слева направо (пересечение) или справа налево (полное вхождение).
  • Перемещение — перетаскивание; стрелки — сдвиг на 1 px; Ctrl + стрелки — на 10 px.
  • Размер — Shift + стрелки; Ctrl+Shift + стрелки — шаг 10 px.
  • Удаление — Delete / Backspace.
  • Состояние — Page Up / Page Down переключают State выделенного элемента.

2.4. Properties (слева снизу)

Состав полей зависит от выбранного объекта (проект, страница, элемент).

Типичные поля элемента:

ГруппаПримеры
AttributesId – уникальное имя элемента (на латинице),
Visible – видимость элемента
Enable – активность элемента (будет ли он передавать Action1/Action0)
Touch – кликабельность элемента, если она выключена и он лежит поверх другого элемента, он не будет перекрывать кликабельность второго
FeedbackType Feedback – Local(обратная связь не учитывает LinkID value), LinkID (обратная связь учитывает LinkID value)
LinkID – число по которому идет связь между ALPS-L и ALPS-V
Value – значение, которое приходит по LinkID
StateСостояние элемента (нажат, отжат или другое)
Geometryleft, top, width, height. Положение элемента на полотне, его размеры в пикселях
Appearancebackground-color, opacity. Цвет фона элемента и прозрачность.
BorderТолщина, радиус, цвет и прозрачность контура (рамки) элемента
ImageКартинка, которую можно вставить как фон элемента
IconИконка, которую можно вставить как картинку из resources поверх Image и поверх фона.
TextТекст, который можно написать поверх всех других свойств. Там же можно выбрать Fonts из папки fonts, а также иконки текста.

2.5. Actions

Панель Actions Element (деревья Action 1 и Action 0) общая для кнопки, страницы и подстраницы. Набор шагов один, отличается момент запуска.

ОбъектКогда открыть панельAction 1Action 0
Buttonвыбран Button на Рабочей областинажатие / удержание (press)отпускание (release)
Pageвыбрана Page в Project Managerстраница показанастраница скрыта (уход на другую)
SubPageвыбрана SubPageподстраница показана (SHOW_SUBPAGE / LinkID)подстраница скрыта (HIDE_SUBPAGE / LinkID)

Колонки: Target | Property | Value.

ПКМ: Add Action, Add Delay, Add Condition, Show Page, Show SubPage, Hide SubPage, Edit / Copy / Paste / Remove.

Шаги выполняются сверху вниз.

Общий набор шагов

1. Изменить свойство (Add Action)

Поле  Смысл
Targetid элемента/страницы; пусто = сам источник
Propertyсвойство
Valueновое значение

Группы в диалоге:

ГруппаСвойства
Pagewidth, height, background-color, background-image, background-image-opacity
SubPagex, y, width, height, background-color, background-image, background-image-opacity
Elementsатрибуты и стили текущего элемента (Visible, Enable, State, Value, text, image …)

2. Навигация

Property     Value Эффект
SHOWid Page или PREVIOUS_PAGEоткрыть страницу / назад
SHOW_SUBPAGEid SubPageпоказать подстраницу
HIDE_SUBPAGEid SubPageскрыть подстраницу

3. DELAY — пауза (мс, 0…60000) перед следующим шагом.

4. CONDITION — if / else if / else; проверка State, Time, атрибута или стиля, вложенные действия.

Button

События: pressed → Action 1, released → Action 0.

Условие      Поведение
Enable = 0Actions не запускаются
Touch = 0касания проходят сквозь кнопку
Type Feedback = LocalПрограмма сама ставит State 1 на press и 0 на release
Type Feedback = LinkIDState локально не «залипает»; вид с контроллера по LinkID
УдержаниеAction 1 может повторять шаги (удобно для Time)
Отпускание при DELAYAction 0 ждёт конца очереди Action 1
Смена Pageзажатая кнопка принудительно «отпускается» → Action 0

При отпускании в атрибут Time пишется длительность нажатия (мс).

Что писать в Action 1 (Button)

ЗадачаПример
Команда «вкл»Value = 1 (Target пусто)
ПереходSHOW → id страницы
ПодстраницаSHOW_SUBPAGE → id SubPage
Долгое нажатиеCONDITION if Time >= 800 → нужный шаг
State (если LinkID)State = 1

Что писать в Action 0 (Button)

ЗадачаПример
Команда «выкл»Value = 0
Закрыть подстраницуHIDE_SUBPAGE
Только на отпусканииосновная логика в Action 0, Action 1 пуст

Примеры Button

  • Local, переход: Action 1 = SHOW → home; Action 0 пуст.
  • LinkID «свет»: Action 1 = Value 1; Action 0 = Value 0.
  • Press открыть / release закрыть: Action 1 = SHOW_SUBPAGE; Action 0 = HIDE_SUBPAGE.

Page

События видимости страницы:

ДействиеПоследствие
Страница стала активной (load_page, SHOW)Action 1
Уход со страницы (другой SHOW, смена экрана)Action 0

У Page в списке свойств Actions акцент на навигации и паузах: SHOW, SHOW_SUBPAGE, HIDE_SUBPAGE, HIDE, DELAY (плюс CONDITION и смены свойств целей через Add Action / Condition).

Что писать в Action 1 (Page) — при входе на страницу:

ЗадачаПример
Закрыть подстраницуHIDE_SUBPAGE
Сбросить локальные кнопки / флагиState 0, Visible 0
Остановить побочные эффектысмена свойств элементов страницы

Показ/скрытие по LinkID страницы (Value 1 / 0) тоже запускает Action 1 / Action 0. Если триггер пришёл по WebSocket, исходящие WS из этих Actions подавляются (без петли).

SubPage

События подстраницы:

ДействиеПоследствие
SubPage показана (SHOW_SUBPAGE, LinkID)Action 1
SubPage скрыта (HIDE_SUBPAGE, LinkID, уход с базовой Page)Action 0

3. Работа с элементами

3.1. Добавление

  1. Нажмите Вставить и выберите тип.
  2. Растяните прямоугольник на Рабочей области.
  3. В Properties задайте id, внешний вид и при необходимости LinkID.
  4. В Actions добавьте реакции на нажатие / отпускание.

3.2. Типы элементов

Тип   Назначение
ButtonКнопка; состояния 0, 1 и дополнительные через State
SliderРегулятор значения (горизонтальный / вертикальный)
TextДобавление элемента типа «Текст».
StreamВидео / поток по stream-url типа RTSP, MJPEG и другие.
ScrollingПрокручиваемый контейнер с SubPage

3.3. Button

  1. Выберите кнопку в Рабочей области.
  2. Задайте State (0, 1 или добавьте состояние).
  3. Для каждого State настройте image / icon / text.
  4. Выберите Type Feedback: Local или LinkID.
  5. В Action 1 / Action 0 опишите действия, которые вы хотите повесить на эту кнопку.

3.4. Slider

Основные свойства:

Свойство     Описание
slider-typeВертикальный/горизонтальный
slider-down-limit / slider-up-limitВпишите верхний лимит и нижний лимит
stepШаг с которым будут отправляться значения (value)
slider-type-touchВыберите тип слайдера:
1. Drag-and-Drop – нажать и тянуть за ползунок
2. Touch-slider – нажать на любой уровень слайдера
slider-touch-color / slider-touch-sizeФорма, цвет и размер ползунка слайдера
delay_fbВремя задержки мс. прихода обратной связи по LinkID (необходимо чтобы не было прыжков ползунка)

3.5. Прокрутка(Scrolling) и Постраницы(SubPage)

  1. Создайте Постраницу и наполните её элементами.]
  2. На основной странице вставьте элемент Прокрутка.
  3. В свойстве SubPage Show укажите нужную подстраницу.
  4. Выберите Type Scrolling: Vertical / Horizontal / All.

Одну и ту же SubPage можно показать в разных Scrolling на разных страницах.

3.6. Resources и Fonts

Последовательность работы с Resources и Fonts.

Изображения:

  1. Сохраните проект.
  2. ПКМ по Resources → Add Image (или перетащите файлы).
  3. Форматы: png, jpg, jpeg, gif, svg, webp.
  4. В свойствах выберите ресурс через Select Resource.

Шрифты:

  1. Сохраните проект.
  2. ПКМ по Fonts → Add Font.
  3. Форматы: ttf, otf, woff, woff2.
  4. Укажите шрифт в font-family у текстовых элементов.

3.7. Выравнивание

Выделите элементы и используйте панель выравнивания:

  • к краям / центру страницы;
  • распределение по горизонтали / вертикали;
  • совпадение ширины / высоты;
  • выравнивание относительно последнего выделенного элемента.

4. LinkID и связь с контроллером

4.1. Что такое LinkID

LinkID — номер виртуального канала между элементом (или страницей) панели и логикой контроллера.

По этому номеру панель:

  • отправляет нажатия, Value слайдера и другие изменения;
  • принимает обратную связь (Value, State, text и др.).

Карта номеров проекта: Проект → Связи (LinkID).

Синие – это занятые LInkID, серые – свободные.

4.2. Type Feedback

Режим Поведение
LinkID
Элемент принимает входящие обновления по своему LinkID. Локальный press/release сам state не меняет — ждёт ответ контроллера (или только отправляет).
LocalВходящий feedback по LinkID не применяется; при действиях элемент может отправлять данные на LinkID, если это задано в Action.

Пустой LinkID или 0 обычно означает «канал не задан».

4.3.Специальные LinkID

В настройках проекта:

Свойство     Описание
WebSocket IPХост контроллера / эмулятора
panel_idId панели. Номер панели, по которой она подключается к контроллеру или эмулятору.
websocket_portПорт (только чтение). Порт = 9000 + panel_id

Несколько элементов с одним LinkID получают одно и то же входящее обновление.

5. Страницы и проект

5.1. Page

Размер = global_width × global_height. Задается в настройка проекта

Стартовая страница задаётся в start_page.

Фон: background-color, background-image, background-image-opacity.

У страницы могут быть LinkID и Action 0 / Action 1. Через LinkID можно показывать страницы через контроллер.

5.2. SubPage

Свои x / y / width / height.

Показ и скрытие — через Actions (Show SubPage / Hide SubPage) или через Scrolling.

В редакторе видимость управляется командой Show/Hide SubPages.

5.3. Навигация в Actions

Свойство     Значение     Описание
SHOWId страницы или PREVIOUS_PAGEПоказать страницу
SHOW_SUBPAGEId SubPageПоказать подстраницу
HIDE_SUBPAGEId SubPageСкрыть подстраницу

Дополнительно: DELAY, CONDITION, изменение свойства цели (Add Action).

5.4. Screensaver

Свойство     Описание
screensaver_time (sec)Таймаут простоя панели без нажатия на экран или кликов (0 = выкл.)
screensaver_link_id1 по таймауту / 0 при активности

Фокус на screensaver_time переключает Actions на screensaver Action 0/1.

6. Запуск и выгрузка

6.1. Сохранение

  1. Нажмите Ctrl+S.
  2. Проект упаковывается в .valp.

Перед добавлением Resources и Fonts проект должен быть сохранён.

6.2. Эмулятор — Запуск

Кнопка Запуск открывает runtime-предпросмотр текущей вёрстки и действий на ПК.

6.3. Выгрузка для плеера

  1. Сохраните .valp.
  2. Нажмите Выгрузить для плеера.
  3. В папке проекта появится .ealp для ALPS-E.

6.4. Устройства

Откройте Устройства….

Найдите панель или контроллер в сети.

Отправьте .ealp на устройство.

Также в меню можно вручную добавить устройство, если оно не нашлось в сети (если в сети заблокирован UDP Broadcast). Кнопка увеличительного стекла на устройстве выдаст на данном устройстве (при запущенном приложении ALPS-E) меню выбора проектов.

7. Горячие клавиши

7.1. Правка

Клавиши      Действие
Ctrl+SСохранить
Ctrl+Z / Ctrl+YОтменить / Повторить
Ctrl+C / Ctrl+VКопировать / вставить элементы
Delete / BackspaceУдалить выделенные элементы
EscСнять выделение
F1Справка

7.2. Canvas

Жест / клавишиДействие
Средняя кнопка + перетаскивание или два пальца на тачпаде и перетаскиваниеПеремещение по рабочей области
Ctrl + колесо или Ctrl+два пальца на тачпадеМасштаб
Двойной щелчок по пустому canvas или двойной щелчок СКМВписать страницу
Стрелки при выбранном элементе на рабочей областиСдвиг на 1 px
Ctrl + Стрелки при выбранном элементе на рабочей областиСдвиг на 10 px
Shift + стрелки при выбранном элементе на рабочей областиИзменение размера элемента
Page Up / Page Down при выбранном элементе на рабочей областиПредыдущий / следующий State в свойствах элемента

8. Типовой рабочий процесс

  1. Создайте проект и задайте размер экрана.
  2. Сохраните .valp (Ctrl+S).
  3. Добавьте Page и при необходимости SubPage.
  4. Загрузите изображения в Resources.
  5. Вставьте элементы (Вставить → выделить область на canvas).
  6. Назначьте id, внешний вид и LinkID.
  7. Опишите Action 0 / Action 1 (навигация, свойства, delay, condition).
  8. Нажмите Запуск и проверьте поведение.
  9. Выгрузите .ealp для плеера или отправьте на устройство

9. Справка внутри приложения

Действие     Результат
F1Открыть справку (тема выбранного типа элемента, если есть)
Меню Справка → СправкаОткрыть справку

Темы справки: горячие клавиши, LinkID, настройки проекта, Page/SubPage, Resources, Fonts, элементы и действия.

Шпаргалка

ЗадачаГде
Новый / открыть / сохранитьПанель или Файл; Ctrl+S
Добавить элементВставить → область на рабочую область
СвойстваЛевая панель Properties
Действия для элементовAction 1 / Action 0
Получение/передача данных с контроллераLinkID + Type Feedback
Карта каналов LinkIDПроект → Связи (LinkID)
Картинки / шрифтыResources / Fonts
ПредпросмотрЗапуск
Пакет для панелиВыгрузить для ALPS-E / Устройства…
СправкаF1