The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Каталог документации / Раздел "Программирование, языки" / Оглавление документа

Глава 3. Структура Motif программы

Содержание
Подключение заголовочных файлов
Инициализация
Создание виджетов
Добавление процедур обратного вызова
Визуализация виджетов
Вход в цикл обработки событий
Написание многонитевых приложений

Motif использует такую же событийно-управляемую модель программирования как и X Toolkit Intrinsics. В своей основе, Motif приложение ожидает пока пользователь произведет ввод, обычно нажмет клавишу, переместит мышь или щелкнет кнопкой мыши. Подобные действия пользователя заставляют X сервер сгенерировать одно или более событий системы X Window. Xt ожидает эти события и диспетчеризирует их соответствующему Motif виджету, обычно это виджет, которому пользователь направляет свой ввод. Виджет может выполните некоторые действия в результате ввода пользователя.Если приложение запрашивает оповещение об этом действии, виджет вызывает приложение - другими словами, он инициирует выполнение процедуры обратного вызова приложения. Когда и Motif и приложение заканчивают отвечать на ввод пользователя, приложение продолжает ожидать дальнейшего ввода пользователя. Этот из цикл инициированных пользователем событий и ответа приложения, называемый циклом обработки событий, продолжается пока пользователь не остановит приложение.

В простых приложениях X Toolkit и Motif выполняют все необходимое для диспетчеризации ввода пользователя к виджетам. Приложение должно выполнить следующие действия:

Эта глава рассказывает о каждом из этих шагов. Последующая таблица обобщает эти шаги и некоторые их процедур, которые необходимо вызвать приложению. Обратите внимание, что некоторые из этих шагов отличаются когда приложение использует UIL и MRM. Смотрите главу 4 для дополнительной информации.

Таблица 3-1. Шаги при написании программы

ШагОписаниеСоответствующие функции
1Подключить необходимые заголовочные файлы. #include <Xm/Xm.h> #include <Xm/widget.h> или <Xm/XmAll.h>
2Инициализировать X Toolkit Intrinsics. Выполнить шаги 3 и 4 для каждого виджета.XtAppInitialize()
3Создать виджет.XtSetArg() XtCreateManagedWidget() или XtVaCreateManagedWidget() или XmCreate<WidgetName>() с последующим XtManageChild(widget)
4Добавить процедуры обратного вызова.XtAddCallback()
5Реализовать виджеты.XtRealizeWidget(parent)
6Войти в цикл обработки событий.XtAppMainLoop()

Подключение заголовочных файлов

Все Motif приложения должны подключать файл <Xm/Xm.h>. Этот файл содержит определения необходимые для любого приложения. Он также подключает заголовочные файлы Xt: <X11/Intrinsic.h> и <X11/StringDefs.h>.

Каждый Motif виджет также имеет заголовочный файл. Приложение должно подключать заголовочные файлы для всех создаваемых виджетов. Помимо этого некоторые группы подпрограмм Motif имеют собственные заголовочные файлы. Например, приложение, использующее любые подпрограмм буфера обмена Motif должны подключать файл <Xm/CutPaste.h>. Необходимые заголовочные файлы для каждого Motif виджета или подпрограммы описаны в Motif. Справочник программиста.

Далее следует пример, показывающий подключение заголовочных файлов для приложения, использующего только тектовый виджет.

#include <Xm/Xm.h>
#include <Xm/Text.h>

Вместо использования большого числа заголовочных файлов для конкретных виджетов и подпрограмм приложение может подключить файл <Xm/XmAll.h>. Этот файл объединяет все документированные заголовочные файлы Motif.




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2022 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру