Изменение визуальных форм

Материал из Википедия ЭТИМа (ETIM Wikipedia)
Перейти к навигации Перейти к поиску

Общие сведения

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

Изменения размеров, цветов и др. на экранных формах производится через соответствующие файлы настроек. Файлы хранят информацию в формате 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  

Дополнительное описание

Вот здесь