Вход:  Пароль:  
FreeSource: AltLinux/Sisyphus/Alterator/module/interface ...
Free Source | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация |
Это старая версия AltLinux/Sisyphus/Alterator/module/interface за 2008-06-23 15:53:57..

Интерфейс

Основу интерфейса модуля составляют формы – графическое отображение параметров того или иного объекта системы. При создании интерфейсов следует придерживаться определённых правил, чтобы интерфейс был единообразен и понятен для пользователя.

Формы

Форма — это графическое представление интерфейса некоторого объекта системы. При создании дизайна формы следует руководствоваться простым правилом — названия полей не должны быть «оторваны» от самих полей.


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

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


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

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

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

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


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


Пример для html:


Пример для qt:


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


Пример для qt:


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


Пример для qt:

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

Форма состоит из различных элементов. При размещении элементов стоит руководствоваться следующими правилами:

общие атрибуты

Если элемент формы надо скрыть, то в html для этого есть параметры CSS, а в qt — атрибут visibility.


Пример для qt:


Пример для html:

(checkbox text “Label for checkbox”)

<input type="checkbox"/>Label for checkbox

read)
...
write_bool_param"item1" “Yes”

write)

if test_bool "$in_item1"; then ... else ... fi


(button text “Button name”)

<input type="submit" class="btn" name="somename" value="Button name"/>

(combobox enumref «/x11/avail_resolution») ;;компактное представление списка
(listbox enumref «/x11/avail_driver») ;; развёрнутое представление списка

<select name="item1" enumref="/x11/avail_resolution"/> <!-- компактное представление списка >
<select name="item1" size="10" enumref="/x11/avail_driver"/> <!
развёрнутое представление списка -->

...

list)
write_enum_item “item1” “label1”
write_enum_item “item2” “label2”
;;

read)

write_string_param “name” “item1”
;;

write)

echo "$in_name">zzz
;;

...

(checklistbox enumref «/dovecot/avail_mechanisms»)

<table class="alterator-checklistbox" enumref="/dovecot/avail_mechanisms" name="mechanisms" />

(edit)

<input type="text" class="text" name="name1"/>

...

read)
write_string_param name1 “value1”
;;

write)

echo $in_name1" >zzz
;;

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


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