Вход:  Пароль:  
FreeSource: AltLinux/Sisyphus/Alterator/evolution ...
Free Source | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация |
Это старая версия AltLinux/Sisyphus/Alterator/evolution за 2006-06-02 15:43:00..

Простейший язык описания интерфейсов

(всё описанное касается alterator версии 2.9 и старше)


Документ – основным кирпичик в построении интерфейса. Каждый документ есть виджет, и наоборот, каждый виджет есть некоторый документ. Простейшие документы представляют простейшие виджеты, например, кнопку, метку и так далее. Документы сложнее, композиция простейших, представляет комплексные виджеты – самостоятельные части диалога с пользователем. Кроме того каждый документ можно рассматривать ещё как некоторую программу на простом подмножестве языка программирования Scheme. Ну обо всём по порядку.

1. Документ как файл


Документ прежде всего текстовый файл, размещающийся где-то на файловой системе.
Документы адресуются любым распространённым способом: через указание полного пути, через URI по правилам RFC-3986, через URI по правилам alterator.

2. Документ как программа


Во вторую, как не странно, очередь документ это программа на подмножестве языка программирования Scheme.
Прежде чем мы увидим графическое воплощение документа, он загружается и исполняется интерпретатором.
Как в каждом языке программирования, часть документа можно скрывать от интерпретатора – делать комментарии.
Остаток строки после символа “;" интерпретатором не рассматривается. В дальнейшем изложении мы будем пользоваться комментарием для добавления пояснений в текст примеров.


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


Для удобства управления окружениями предоставлено несколько базовых конструкций:
1. (document:insert <идентификатор>)
В результате происходит вставка «окружения» внутрь существующего, <идентификатор> – это идентификатор документа как файла, определённый одним из перечисленных выше способов.


Пример:


2. (document:envelop keyword), (document:end-envelop keyword) – для создания вложенного окружения вовсе не обязательно создавать отдельные файлы, достаточно окружить его инструкциями document:envelop и document:end-envelop.
Последняя конструкция не обязательна если вы хотите распространить вложенное окружение до конца файла.


Пример:



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