Изменение визуальных форм
Содержание
Общие сведения
В программном обеспечении весового комплекса возможно изменение практически всех визуальных форм отображаемых на экране. Данная процедура может понадобиться, например, для изменения стандартных цветов на фирменные цвета или для добавления логотипа.
Изменения размеров, цветов и др. на экранных формах производится через соответствующие файлы настроек. Файлы хранят информацию в формате XML.
Местоположение файлов настроек:
/"Каталог-программы"/Settings
Стандартные каталоги программы: "/opt/R1Sensor" для ОС Linux и "c:/R1Sensor" для ОС Windows.
Правила формирования имен файлов:
Forms-X-Y.xml
Где:
X – название алгоритма работы (A0, A1 и т.д.).
Y – разрешение экрана (1024x768, 800х600 и т.д.),
Например для алгоритма А1 и разрешения 1024x768 имя будет: "Forms-A1-1024x768.xml"
Это основной файл, который должен содержать описание всех форм используемых в выбранном алгоритме работы.
Все описания в файле записаны внутри тега AclasSelfServiceFormSettingsData
, а описание форм находится внутри тега Forms
:
<AclasSelfServiceFormSettingsData LastModify="22.08.2016 12:00:00" DBVersion="1.0.0"> <Forms> … </Forms> </AclasSelfServiceFormSettingsData>
Для удобства редактирования описания форм их можно записать в разные файлы, присвоив им соответствующие имена и перечислить их в основном файле в теге Include
:
<Include File="Forms-A1-1024x768_Groups.xml"/> <Include File="Forms-A1-1024x768_SubGroups.xml"/> <Include File="Forms-A1-1024x768_Goods.xml"/>
В каждом файле структура тегов соответствует основному файлу.
Например, при установке программного обеспечения, для редактирования внешний вид кнопок на экране выбора товара нужно редактировать файл: "Forms-A1-1024x768_Goods.xml"
При использовании весового модуля LS215 (обычно с этим модулем используется персональный компьютер с тач-экраном на базе x86 совместимого процессора под управлением ОС Windows или Lixnux) формы в первую очередь ищутся в подкаталоге "LS215" каталога настроек. Подобное поведение связано с тем, что в настольных версиях ОС Windows или Linux визуальные размеры шрифтов отличаются от таких же шрифтов в ОС Embedded Linux, которая используется управляющих компьютера на базе процессоров ARM совместно с весовыми модулями LS515.
Описание форм
Формы описываются только внутри тега Forms
и только на один уровень внутрь, т.е. невозможно вложенное описание форм.
Для задания формы (как и для задания многих других элементов) используется тег Item
.
Тип формы задается атрибутом Type
.
Например:
<AclasSelfServiceFormSettingsData LastModify="22.08.2016 12:00:00" DBVersion="1.0.0"> <Forms> <Item Name="GroupForm-Algoritm-A11" Type="13" Version="0.0.1.0" Created="19.03.2015"> … Здесь будет описание элементов формы … </Item> </Forms> </AclasSelfServiceFormSettingsData>
Атрибуты Name
, Version
и Created
- необязательны и служат для более удобного восприятия файлов с описанием.
Типы форм
Тип формы | Назначение формы | Примечание |
10 | Форма с обычными группами товаров | |
11 | Форма с подгруппами обычными | |
12 | Не используется | |
13 | Форма с группами и вводом номера товара | |
14 | Форма с пользовательским вводом номера товара | |
15 | Форма для режима фасовки | |
16 | «Плавающая» форма пользовательского ввода номера товара | |
17 | Форма для режима работы без групп товаров | |
18 | Форма с автоматическими цифровыми группами | |
19 | Форма с автоматическими алфавитными группами | |
20 | Форма со списком товаров | |
40 | Форма для вывода системных сообщений | |
Системное сообщение «Идет загрузка ПО» | Подтип: MessageType=Loading | |
Системное сообщение «Критическая ошибка» | Подтип: MessageType=CriticalError | |
Системное сообщение «Весы заблокированы» | Подтип: MessageType=LockScale | |
Системное сообщение «Вызов продавца» | Подтип: MessageType=CallService | |
Системное сообщение «Весы не работают» | Подтип: MessageType=OutOfOrder | |
Системное сообщение «Нет связи с весовым модулем» | Подтип: MessageType=NoLink | |
Системное сообщение «Ошибка печати» | Подтип: MessageType=CommonPrintError | |
Системное сообщение «Не закрыта крышка принтера» | Подтип: MessageType=ClosePrinterCover | |
Системное сообщение «Не установлена кассета» | Подтип: MessageType=NoCassette | |
Системное сообщение «Установлена неверная кассета» | Подтип: MessageType=BadCassette | |
Системное сообщение «Закончились этикетки» | Подтип: MessageType=OutOfPaper | |
Системное сообщение «Не снята этикетка» | Подтип: MessageType=RemoveLabel | |
41 | Описание вывода веса/цены/стоимости | |
42 | Форма с выводом информации о товаре перед/после печати этикетки | |
43 | Описание вывода веса/цены/стоимости для системного меню | |
50 | Форма для вывода рекламных сообщений для основного экрана | |
51 | Форма для вывода рекламных сообщений для дополнительного экрана | |
52 | Форма для вывода рекламных сообщений для дополнительного экрана в режиме фасовки |
Используемые теги и их иерархия
Название тега | Описание | Примечание | ||
---|---|---|---|---|
ButtonsZone | ||||
InputString | ||||
Group | ||||
Goods | ||||
Keyboard | ||||
Pictures | ||||
StaticTexts | ||||
Buttons | ||||
ServiceZones | ||||
StyleSheet | ||||
Width | ||||
Height |
Дополнительные теги для изменения элементов
Название тега | Описание | Примечание |
StyleSheet | Тег описывающий визуальное представление элемента. Цвета, шрифт и т.д. | Для задания используется тип CDATA. Например: <![CDATA[border-left: 3px; border-style: solid; border-left-color: black; ]]> |
ExtParams | Тег задающий дополнительные параметры для элемента. | Содержимое элемента задается в формате JSON.
Для элемента "InputString": "empty-text" : "текст при отсутствии введенного номера" и "empty-text-style-sheet" : "стиль текста при отсутствии введенного номера" Для текстов, кнопок: "autohide" : "true/false" и "autoshow" : "true/false"
|
Атрибуты-описатели визуальных элементов
Название атрибута | Описание | Возможные значения | Примечание |
Type | Тип элемента | ||
Enabled | Разрешение/запрещение вывода элемента | true/false | |
Top | Координаты верхней границы элемента | число | если число от 0 – координата.
если число < 0 – координата отсчитывается от противоположной границы родительского элемента. |
Left | Координаты левой границы элемента | число | если число от 0 – координата.
если число < 0 – координата отсчитывается от противоположной границы родительского элемента. |
Width | Ширина элемента | число | если задано значение "0", тогда происходит увеличение размера по правой стороне до конца родительского элемента |
Height | Высота элемента | число | если задано значение "0", тогда происходит увеличение размера по нижней границе до конца родительского элемента |
VAlign | Выравнивание содержимого элемента по вертикали | ||
HAlign | Выравнивание содержимого элемента по горизонтали | ||
Scaled | Разрешение/запрещение растягивания содержимого элемента | true/false | если элемент является картинкой, включение данного атрибута позволяет растянуть загружаемую картинку до размеров элемента. |
Tracing | Обводка текста альтернативным цветом | число | если задано значение "0" - обводки нет |
TracingColor | Обводка текста альтернативным цветом | Цвет обводки | |
WordWrap | Перенос слов по словам | true/false | |
Scaled | Пропорциональное растягивание картинок. | true/false | |
ScaledContent | Непропорциональное растягивание картинок и текста. | true/false |
Типы визуальных элементов
Тип элемента | Описание | Примечание |
Group | ||
DigitGroup | ||
Name | ||
Number | ||
Picture | ||
DisplayNumber | ||
Price | ||
Action | ||
BackgroundText | ||
BackgroundPicture | ||
Back | ||
Forward | ||
Text | ||
TimeDate | ||
Типы кнопок
Тип кнопки | Описание | Примечание |
MainMenu | ||
ResetPrinter | ||
AlphaGroups | ||
DigitGroups | ||
NameGroups | ||
PackingUserScreen | ||
PackingSplashScreen | ||
PrintCopyLabel | ||
FeedPaper | ||
PrintTestLabel | ||
Close | ||
Retry | ||
PrintLabel | ||
PreviousGroup | ||
NextGroup | ||
BackGoodsPage | ||
ForwardGoodsPage | ||
SystemMenu |