Home | All Classes | Main Classes | Annotated | Grouped Classes | Functions |

# QMotifDialog Class Reference

The QMotifDialog class provides the QDialog API for Motif-based dialogs. More...

This class is part of the Qt Motif Extension.

`#include <qmotifdialog.h>`

Inherits QDialog.

List of all member functions.

## Public Members

- enum DialogType { Prompt, Selection, Command, FileSelection, Template, Error, Information, Message, Question, Warning, Working } (obsolete)
- QMotifDialog ( DialogType dialogtype, Widget parent, ArgList args = NULL, Cardinal argcount = 0, const char * name = 0, bool modal = FALSE, WFlags flags = 0 ) (obsolete)
- QMotifDialog ( Widget parent, ArgList args = NULL, Cardinal argcount = 0, const char * name = 0, bool modal = FALSE, WFlags flags = 0 ) (obsolete)
- QMotifDialog ( Widget parent, const char * name = 0, bool modal = FALSE, WFlags flags = 0 )
- QMotifDialog ( QWidget * parent, const char * name = 0, bool modal = FALSE, WFlags flags = 0 )
- virtual ~QMotifDialog ()
- Widget shell () const
- Widget dialog () const

## Static Public Members

- void acceptCallback ( Widget, XtPointer client_data, XtPointer )
- void rejectCallback ( Widget, XtPointer client_data, XtPointer )

## Detailed Description

This class is defined in the Qt Motif Extension, which can be found in the `qt/extensions` directory. It is not included in the main Qt API.

The QMotifDialog class provides the QDialog API for Motif-based dialogs.

QMotifDialog provides two separate modes of operation. The application programmer can use QMotifDialog with an existing Motif-based dialog and a QWidget parent, or the application programmer can use QMotifDialog with a custom Qt-based dialog and a Motif-based parent. Modality continues to work as expected.

Motif-based dialogs must have a `Shell` widget parent with a single child, due to requirements of the Motif toolkit. The `Shell` widget, which is a special subclass of `XmDialogShell`, is created during construction. It can be accessed using the shell() member function.

The single child of the `Shell` can be accessed using the dialog() member function after it has been created.

The acceptCallback() and rejectCallback() functions provide a convenient way to call QDialog::accept() and QDialog::reject() through callbacks. A pointer to the QMotifDialog should be passed as the `client_data` argument to the callback.

The API and behavior QMotifDialog is identical to that of QDialog when using a custom Qt-based dialog with a Motif-based parent. The only difference is that a Motif-based parent argument is passed to the constructor, instead of a QWidget parent.

## Member Type Documentation

### QMotifDialog::DialogType

This function is obsolete. It is provided to keep old source working. We strongly advise against using it in new code.

This enum lists the predefined Motif dialog types.

- `QMotifDialog::Prompt`
- `QMotifDialog::Selection`
- `QMotifDialog::Command`
- `QMotifDialog::FileSelection`
- `QMotifDialog::Template`
- `QMotifDialog::Error`
- `QMotifDialog::Information`
- `QMotifDialog::Message`
- `QMotifDialog::Question`
- `QMotifDialog::Warning`
- `QMotifDialog::Working`

## Member Function Documentation

### QMotifDialog::QMotifDialog ( DialogType dialogtype, Widget parent, ArgList args = NULL, Cardinal argcount = 0, const char * name = 0, bool modal = FALSE, WFlags flags = 0 )

This function is obsolete. It is provided to keep old source working. We strongly advise against using it in new code.

Creates a QMotifDialog using one of the predefined Motif dialog types. The name, modal and flags arguments are passed to the QDialog constructor.

This constructor creates a Shell widget, which is a special subclass of XmDialogShell. The parent, args and argcount arguments are passed to XtCreatePopupShell() when creating the subclass. You can access the Shell widget with the shell() member function.

This constructor also creates the dialog widget with the Shell widget as its parent. The type of the dialog created is specified by the dialogtype argument. See the DialogType enum for a list of available dialog types. You can access the dialog widget with the dialog() member function.

Warning: QMotifDialog takes ownership of the child widget and destroys it during destruction. You should not destroy the dialog widget yourself.

See also DialogType, shell(), and dialog().

### QMotifDialog::QMotifDialog ( Widget parent, ArgList args = NULL, Cardinal argcount = 0, const char * name = 0, bool modal = FALSE, WFlags flags = 0 )

This function is obsolete. It is provided to keep old source working. We strongly advise against using it in new code.

Creates a QMotifDialog which allows the application programmer to use the Motif-based parent for a custom QDialog. The name, modal and flags arguments are passed to the QDialog constructor.

This constructor creates a Shell widget, which is a special subclass of XmDialogShell. The args and argcount arguments are passed to XtCreatePopupShell() when creating the subclass. You can access the Shell widget with the shell() member function.

The dialog widget is not created by the constructor. You must create the dialog widget as a child of the the widget returned by shell(). You can access the child widget with the dialog() member function.

A dialog widget is not created by this constructor. Instead, you should create the dialog widget as a child of this dialog. QMotifDialog will take ownership of your custom dialog, and you can access it with the dialog() member function.

Warning: QMotifDialog takes ownership of the child widget and destroys it during destruction. You should not destroy the dialog widget yourself.

See also shell() and dialog().

### QMotifDialog::QMotifDialog ( Widget parent, const char * name = 0, bool modal = FALSE, WFlags flags = 0 )

Creates a QMotifDialog which allows the application programmer to use the Motif-based parent for a custom QDialog. The name, modal and flags arguments are passed to the QDialog constructor.

This constructor creates a `Shell` widget, which is a special subclass of `XmDialogShell`. You can access the `Shell` widget with the shell() member function.

See also shell().

### QMotifDialog::QMotifDialog ( QWidget * parent, const char * name = 0, bool modal = FALSE, WFlags flags = 0 )

Creates a QMotifDialog which allows the application programmer to use a QWidget parent for an existing Motif-based dialog. The parent, name, modal and flags arguments are passed to the QDialog constructor.

This constructor creates a `Shell` widget, which is a special subclass of `XmDialogShell`. You can access the `Shell` widget with the shell() member functon.

A dialog widget is not created by this constructor. Instead, you should create the dialog widget as a child of this dialog. QMotifDialog will take ownership of your custom dialog, and you can access it with the dialog() member function.

Warning: QMotifDialog takes ownership of the child widget and destroys it during destruction. You should not destroy the dialog widget yourself.

See also shell() and dialog().

### QMotifDialog::~QMotifDialog ()`[virtual]`

Destroys the QDialog, dialog widget and `Shell` widget.

### void QMotifDialog::acceptCallback ( Widget, XtPointer client_data, XtPointer )`[static]`

Convenient Xt/Motif callback to accept the QMotifDialog.

The data is passed in client_data.

### Widget QMotifDialog::dialog () const

Returns the Motif widget embedded in this dialog.

### void QMotifDialog::rejectCallback ( Widget, XtPointer client_data, XtPointer )`[static]`

Convenient Xt/Motif callback to reject the QMotifDialog.

The data is passed in client_data.

### Widget QMotifDialog::shell () const

Returns the `Shell` widget embedded in this dialog.

Example: dialog/mainwindow.cpp.

This file is part of the Qt toolkit. Copyright © 1995-2003 Trolltech. All Rights Reserved.