дальше выше обратно Содержание
Следующий пункт: Надстройки над Xt Надпункт: Программирование с использованием библиотеки Xt Предыдущий пункт: Объекты Xt, их классификация

Дополнительные возможности Xt

В Xt предусмотрен механизм для работы с файлами (и вообще с внешними устройствами) в асинхронном режиме. Приложение может зарегистрировать процедуру, которая будет вызываться по мере готовности данных или при возникновении ошибок чтения/записи.

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

Xt предоставляет возможность выполнять какие-либо действия, когда очередь событий пуста. Это реализуется через регистрацию специальной ``рабочей'' (work) процедуры, которую Xt вызовет, если очередь событий опустеет. Такие функции обычно используются для выполнения различных действий и вычислений в течение очень короткого времени.

Каждое приложение при необходимости может модифицировать обычный цикл получения и рассылки (обработки) событий -- Xt предусматривает целый набор процедур для работы с очередью событий.

Xt имеет механизм, так называемых, акселераторов (accelerator), который позволяет вводить зависимости событий и действий. Акселераторы похожи на action-процедуры с той разницей, что событие (или группа событий), происходящее в одном widget, инициирует вызов соответствующей action-процедуры для другого объекта.

Xt поддерживает несколько способов работы с окнами widget. Так, программка, используя процедурки, предоставляемые Xt, может показать окошко, установить для него тот или иной режим работы, и закрыть окошко, когда оно становится ненужным. В основном эти процедуры используются для создания pop-up меню и диалогов. Как правило, все множества widget (например, OSF/Motif) имеют свои намного более удобные процедуры для создания меню и диалогов.



WebMaster at Bolizm
Sat Oct 5 20:29:45 MSD 1996