XmBulletinBoard
Простейший менеджер-виджет Motif, ставящий потомков ровно туда, куда указывают их x и y, и — как базовый класс XmForm и всех диалогов — дом всего диалогового поведения Motif.
Название буквальное: доска объявлений, где каждый потомок приколот по своим координатам XmNx и XmNy, а виджет не пытается их упорядочивать. Для окон, которые должны пережить изменение размера, он бесполезен, зато идеален как основа для конструкторов интерфейсов вроде UIL и Builder Xcessory, где дизайнер перетащил каждую кнопку на нужный пиксель. Ресурс XmNresizePolicy решает, растёт ли доска по размеру потомков или позволяет их обрезать.
Интересна иерархия классов. XmForm — доска с прикрученными привязками, а XmMessageBox, XmSelectionBox, XmFileSelectionBox и XmCommand наследуют от неё. Поэтому здесь живёт общее поведение диалогов: XmNdefaultButton, которую нажимает Return; XmNcancelButton, выбираемая Escape; XmNdialogStyle, делающий окно модальным для приложения или для всей системы; XmNdialogTitle для заголовка; и XmNautoUnmanage, закрывающий окно после нажатия кнопки. XmCreateBulletinBoardDialog создаёт такую доску сразу в DialogShell. Кто удивлялся, почему Escape закрывает любой диалог Motif, найдёт ответ здесь.