Вход:  Пароль:  
FreeSource: Мусорка/AltLinux?/Sisyphus?/Alterator?/hig ...
Free Source | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация |

Оглавление документа

Руководство по написанию модулей

Формы

Названия полей формы не должны быть «оторваны» от самих полей.
Пример правильного описания для qt:

Обратите внимание на “0” для колонки с метками – это необходимо, чтобы колонка заняла в ширину ровно столько сколько необходимо для самой длинной метки.


Пример правильного описания для html:

CSS-класс “form-table” не будет корректно работать для старых браузеров (Internet Explorer 6.0), для них необходимо во всех td, содержащих метки использовать CSS-класс “form-table-label”.

Группировка элементов формы

Группировка при помощи пустых строк


Пример для html:


Пример для qt:


Группировка при помощи горизонтальной черты
Пример для html:


Пример для qt:


В этом способе группировки возможно задание названия группы. Название группы делается полужирным шрифтом и выравнено по левому краю формы.
Пример для html:


Пример для qt:

Элементы формы

сheckbox

Данный элемент предназначен для представления атрибута логического типа.
Метка к checkbox должна идти после галочки и начинаться с заглавной буквы.
Пример правильного описания для qt:

Пример правильного описания для html:

Обратите внимание на написание тега в стиле xml, а не html.

button

Данный элемент предназначен для представления активных действий с формой.

Пример описания для qt:

Пример описания для html:

Обратите внимание на использование класса btn и на написание тега в стиле xml, а не html.

combobox/listbox/select

В самом простом случае данные элементы представляют атрибут типа перечисление (enum), то есть обеспечивают выбор одного варианта
из числа возможных. Сombobox – более компактное представление чем Listbox, но одновременно выдно только один вариант, чтобы просмотреть остальные – надо вызвать выпадающий список.
Список вариантов предоставляет бакенд (вызываемый с action list). Параметр enumref – адрес к которому надо обращаться к бакенду за списком.


Пример описания для qt:

Текущий выбранный вариант – параметр value.


Пример описания для html:

Размер списка в строках – параметр size. Обратите внимание на написание тега в стиле xml, а не html.


Пример бакенда на shell:

Функция write_enum_item принимает два параметра:

Если функция вызвана без параметра, то она начинает со стандартного ввода строки с одним или более значениями, разделённых стандартным разделителем (переменная IFS). Первое и второе значение интерпретируются также: вариант и его название.

edit

Представляет атрибут строкового типа.


Пример на qt:

Для изменения и получения значения служит атрибут value.


Пример на html:


Пример бакенда на shell:

Функция write_string_param принимает два атрибута: имя и значение.

Переводы

Для переводов стоит пользоваться единой базой переводов alterator-l10n. Данный пакет содержит переводы для всех модулей альтераторов. Тем самым достигается единый стиль названий (например перевод “Apply” и “Reset”). Чтобы подключить модуль к единой базе необходимо выполнить следующие действия:

  1. подключить стандартный набор правил /usr/share/alterator/build/po.mak
  2. сказать make update-po и получить файл-заготовку
  3. связаться с мантейнером пакета alterator-l10n (inger@, cas@) и переслать свой .pot файл.
  4. Дождитесь когда ваш пакет будет включён в alterator-l10n
  5. Добавить пакет alterator-l10n в сборочные зависимости модуля (buildprereq)

После этого при каждой сборке пакета автоматически будут создаваться и размещаться в результирующем rpm-пакете) переводы для всех поддерживаемых языков. Если в вашем модуле уже были свои варианты переводов (файлы po/<language>.po), то их надо удалить.



 
Файлов нет. [Показать файлы/форму]
Комментариев нет. [Показать комментарии/форму]