Освой компьютер
Gadget\'ы. Переходим к заключительной части раздела, посвященного Intuition. Вам уже
должно быть знакомо понятие gadget\'а, так как оно не раз встречалось в
предыдущих разделах книги. Более точно, gadget системы Intuition - это
специальный \"символ\", с помощью которого пользователь может выполнять
различные действия над программой. Примерами системных gadget\'ов являются
символы закрытия и изменения размеров окон. Пользовательским программам доступны следующие четыре типа gadget\'ов: o булевские gadget\'ы, которые могут принимать два значения - \"YES\" или
\"NO\" (\"ДА\" или \"НЕТ\"). Переключать такие gadget\'ы можно с помощью
мыши.
o строковые (текстовые) gadget\'ы, которые предназначены для ввода и
редактирования текстовой информации.
o целочисленные gadget\'ы, которые используются для ввода целых чисел в
программу.
o пропорциональные gadget\'ы, которые позволяют выбирать значение
какого-либо параметра с помощью мыши, передвигая так называемый
\"движок\" (slider). 7.9.1. Булевские gadget\'ы. Начнем с gadget\'ов самого простого типа, а именно - с булевских gadget\'ов.
Примером булевского gadget\'а может служить символ закрытия окна. Этот
gadget может находится в одном из двух состояний (нажат, не нажат).
Попробуем описать такой gadget в терминах системы Intuition.
Любой gadget задается специальной структурой, содержащей 15 записей. Каждое
окно содержит поле, предназначенное для хранения указателя на блок данных
gadget\'ов. В примерах из предыдущих пунктов мы заполняли эти поля нулями,
теперь же мы будем указывать адреса структур gadget\'ов, которые должны
располагаться в соответствующем окне (или экране).
Блок данных булевского gadget\'а имеет следующий формат:
Первое двойное слово используется для хранения указателя на следующий
gadget окна. Связанные таким образом gadget\'ы располагаются в
горизонтальный ряд. Список gadget\'ов заканчивается нулем: gadget1:
dc.l 0 ;больше нет gadget\'ов
Следующие два слова определяют положение gadget\'а внутри окна.
AMIGA: ПРОГРАММИРОВАНИЕ НА АССЕМБЛЕРЕ.
|