Визуальный редактор

Визуальный редактор предназначен для визуального редактирования меню скрипта, редакторов скрипта и панели скрипта. Запускается редактор через главное меню програмы (View- User interface)или нажатием кнопки F12 на клавиатуре.

Редактор имеет три вкладки - Window, Menu, Editors.

Window

На вкладке Window производится редактирование окна скрипта. В верхней части вкладки находится переключатель "Use window". Если переключатель неактивен, то редактор окна скрыт и в скрипте не будет отображаться окно.

Редактор окна имеет три вкладки - Editors, Images и Localization. Во вкладке Editors производится редактирование окна скрипта. Во вкладке Images - управление изображениями, если они используются в скрипте. Вкладка Localization предназначена для управления файлам локализации скрипта.

Рабочая область окна скрипта выделена толстой темно-серой рамкой. Ее размеры можно изменять, наведя курсор мыши на правую или нижнюю границу окна.

В левой верхней части редактора отображается дерево компонентов окна. При выделении компонента в этом списке он будет выделен (вокруг изображения компонента появятся черные квадратики) и внизу слева отобразится список свойств этого компонента.

В верхней правой части окна редактора расположена палитра компонентов.

Show grid
Включение/отключение отображения координатной сетки окна.

Grid size
Изменение размера координатной сетки.

Show guide lines
Включени/отключение отображения габаритных линий компонентов при клике на них мышкой.


Назначение кнопок палитры компонентов
Отменить выбор компонента

Стандартная кнопка с иконкой

Текстовая надпись

Переключатель

Однострочный текстовый редактор. Стандартный компонент Windows.
Однострочный цифровой редактор. Позволяет вводить только цифры.
Однострочный шестнадцатеричный редактор. Служит для редактирования последовательности шестнадцатеричных значений.
Выпадающий список
Изображение
Контейнер с рамкой и заголовком для размещения других компонентов

Чтобы поместить новый элемент интерфейса в окно скрипта, следует выбрать нужный компонент из палитры, щелкнув по нему мышкой, а затем щелкнуть по тому месту на рабочей области окна скрипта, где этот компонент должен находиться. Компонент появится в окне скрипта, причем он будет выделен (по периметру компонента отображаются черные квадратики).

Потянув за эти квадратики мышкой, можно изменять размер компонента. Потянув за сам компонент мышкой, можно перемещать его. Чтобы выделить другой компонент, нужно кликнуть на него мышкой.

Слева внизу отображается инспектор свойств выделенного в данный момент компонента. Для компонентов различных типов он будет отличаться.

Для редактирования свойства необходимо кликнуть мышкой в правой части инспектора (где текст синего цвета). Выделенная ячейка переходит в режим редактирования. Можно ввести новое значение и нажать Enter для завершения редактирования.

Свойства компонентов
Alignment Используется для компонента метка (Label). Задает способ выравнивания текста на метке:

Left - текcт выравнивается к левой границе метки
Center - текст выравнивается по центру метки
Right - текст выравнивается к правой границе метки

Autosize Используется для компонента изображение (Image).
Если свойство имеет значение True, то размеры области изображения будут автоматически подстраиваться под размеры изображения
Caption Заголовок (текст), который отображается на компоненте.
Checked Используется для компонента переключатель (Checkbox). Если переключатель активирован, то свойство имеет значение 1 (true). Иначе 0 (false).
Color Цвет фона компонента. Если Color имеет значение 0x20000000, то цвет фона компонента будет цветом по-умолчанию.
Count Количество отображаемых символов для компонента HSymbols
Enabled Свойство только для копки. Если Enabled = 0, то кнопка неактивна. Если Enabled не ноль,  то кнопка активна.
FontColor Цвет шрифта компонента. Если FontColor имеет значение 0x20000000, то цвет шрифта компонента будет цветом по умолчанию.
FontNameИмя шрифта компонента.
FontSizeРазмер шрифта компонента.
HeightВысота компонента
Icon

Используется для кнопки. Иконка на кнопке.

Кропка [X] удаляет иконку, [...] вызвает диалог открытия изображения.

ID Идентификатор компонента. Используется для компонентов, которые имеют свойство OnClick. Этот параметр передается в функцию, которая присвоена событию OnClick. Пример:

void f(int id) ...

id - это идентификатор компонента, который вызвал эту фукнцию.

IndexИспользуется для выпадающего списка. Содержит индекс строки, которая в данный момент выбрана в списке.
LeftКоордината X компонента на экране.
NameИмя компонента. Используется для обращения к компоненту из кода.
OnClickИмя функции, которая вызывается этим компонентом.
PictureИмя файла изображения, который нужно отобразить в компоненте Image.
Show spaces Используется в компоненте HSymbols. Включает/отключает отображение пробелов - разделителей.
SymbolsСодержит значения байтов в HSymbols в виде текстовой строки.
TextТекст в однострочном текстовом редакторе или выпадающем списке.
TopКоордината Y компонента на экране.
WidthДлина компонента.
ItemsСписок строк - содержимое выпадающего списка.

С версии IDE 4.9 и версии 82 программы iProgPro добавлена возможность загрузки содержимого выпадающего списка из файла во время загрузки скрипта.

Для использования этой возможности список должен содержать единственную строку вида

file:имя_файла

В этом случае при загрузке скрипта программа будет искать файл с указанным именем в папке скрипта. имя_файла - это имя для примера, в действительности это должно быть имя реального файла на диске. Это должен быть обычный текстовый файл формата UTF8. Содержимое этого файла будет загружено в выпадающий список. Сама строка file:имя_файла будет удалена из списка и не будет отображаться в списке.

Из кода доступны не все свойства компонента. При наборе текста лучше всего использовать автодополнение, в списке будут отображаться доступные из кода свойства компонентов.

Menu

Во вкладке меню находится конструктор меню. Это будет пункт меню "Device" в программе. Для включения конструктора необходимо активировать переключатель "Use menu" вверху вкладки. Если этот переключатель отключен, то конструктор меню не отображается и в программе iProg при загрузке этого скрипта пункт меню "Device" будет неактивным.

Столбец Caption - текст пункта меню. Для редактирования нужно кликнуть мышкой в нужную ячейку, включится режим редактирования ячейки и текст можно изменить. Если ввести знак минус "-" (без кавычек), то в реальном меню в этой строке будет отображаться разделитель.

Стобец ShortСut - "горячая" клавиша для этого пункта меню. Если кликнуть мышкой в нужную ячейку, то отобразится выпадающий список возможных кнопок.

Стобец Toolbar button служит для привязки кнопки на панели инструментов к пункту меню. Нужно выбрать номер кнопки.

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

Стобец OnClick - здесь можно выбрать имя функции, которая будет вызываться при выборе пункта меню или нажатии кнопки на панели инструментов. Выпадающий список обновляется автоматически.

Вызываемые функции должны располагаться в главном файле проекта. Главный файл - это файл, который расположен в папке проекта и имеет такое же имя как и проект, только расширение файла "*.e". Прототип функции должен быть описан выше слова private в исходном файле. Функция должна иметь один и тот же тип:

void Имя_функции(int Имя_переменной);

Имя_функции и Имя переменной могут быть любыми. Тип функции - только void и тип переменной - только int. Если вид функции будет другой или она будет располагаться не в главном файле проекта, то она не будет отображаться в выпадающем списке OnCall.

Столбец ID - идентификатор компонента. Идентификатор - просто любое число. Это число передается в вызываемую функцию как параметр.

void Имя_функции(int Имя_переменной);

Имя_переменной и будет ID.

Editors

В вкладке Editors можно настроить отображение и параметры редакторов в скрипте.

Скрипт может быть с одним редактором, с двумя и без редактора. Что бы отключить отображение редактора в скрипте, необходимо дезактивировать переключатель "Use editor" вверху вкладки.

Внутри рамки "" можно установить размер первого редактора и надпись на его вкладке.

Что бы активировать второй редактор, необходимо включить переключатель "Enabled" внутри рамки "Additional tab".

С версии IDE 4.8 и версии 81 софта iProgPro добавлена возможность делать редактор существующим, но невидимым.

Если первому (левому) редактору присвоить название %hide%, то редактор (или редакторы) не будет отображаться в программе, но будет доступен программно. В самой программе будут активны кнопки отрытия/закрытия файла и соответствующие пункты меню. Загружаться (или сохраняться) данные будут только в первый редактор.

Если первому (левому) редактору присвоить название %HIDE%, то редактор (или редакторы) не будет отображаться в программе, но будет доступен программно. Все кнопки и пункты меню загрузки/сохранения файла будут заблокированы.

Управление изображениями

Если в скрипте планируется использование каких-либо изображений, то необходимо их подготовить. Для этого нужно выбрать вкладку Images на вкладке редактора окна

Кнопка "Add" добавляет изображение в список, Delete - удаляет. На диске в папке проекта скрипта создается подпапка Images и туда копируются все выбранные изображения.

При использовании компонента Images в окне скрипта картинку по умолчанию можно будет выбрать только из этого списка:

Файлы изображений при компоновке скрипта встраиваются в файл скрипта. Нет необходимости как-то отдельно их копировать со скриптом вручную.

Локализация

Локализация - возможность использования разных языков в интерфейсе скрипта без его перекомпиляции.

Локализация поддерживается с версии IDE 4.9 и версии программы 82.

Принцип работы

В папке скрипта создается папка с именем файла скрипта и расширением *.loc и в эту папку помещаются  текстовые файлы, содержащие текст для всех визуальных компонентов скрипта и пунктов меню. Названия файлов должны совпадать с названиями языковых файлов локализации самой программы из папки Languages.

Если в программе выбран языковой файл "Русский (russian).lng" то при загрузке скрипта программа будет искать файл "Русский (russian).txt" в подпапке имя_скрипта.loc в папке скрипта. Если файл будет найден, то все оригинальные текстовые надписи будут заменятся на текст из этого файла.

Редактор локализаций

Для облегчения локализации в среду разработки добавлен редактор локализаций. Он расположен на вкладке "Локализация" в редакторе окна скрипта. Этот редактор автоматически создает папку с данными для локализации. Эту папку необходимо будет распространять вместе со скриптом.

В верхней части редактора расположен выпадающий список, позволяющий выбрать редактируемый файл локализации.

Скрипт может иметь несколько файлов локализации для разных языков.

Ниже в левой части расположена таблица:

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

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

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