`GtkMessageDialog` presents a dialog with some message text.
![An example GtkMessageDialog](messagedialog.png)
It’s simply a convenience widget; you could construct the equivalent of `GtkMessageDialog` from `GtkDialog` without too much effort, but `GtkMessageDialog` saves typing.
The easiest way to do a modal message dialog is to use the gtk_dialog_modal flag, which will call [
[email protected]_modal] internally. The dialog will prevent interaction with the parent window until it's hidden or destroyed. You
can use the [[email protected]:GtkMessageDialog:response
] signal to know when the user dismissed the dialog.
An example for using a modal dialog: ```c GtkDialogFlags flags = GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_MODAL; dialog = gtk_message_dialog_new (parent_window, flags, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, "Error reading “s ”: s", filename, g_strerror (errno)); // Destroy the dialog when the user responds to it // ( e.g. clicks a button)
g_signal_connect (dialog, "response", G_CALLBACK (gtk_window_destroy), NULL); ```
You might do a non-modal `GtkMessageDialog` simply by omitting the gtk_dialog_modal flag:
```c GtkDialogFlags flags = GTK_DIALOG_DESTROY_WITH_PARENT; dialog = gtk_message_dialog_new (parent_window, flags, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, "Error reading “s”: s", filename, g_strerror (errno));
// Destroy the dialog when the user responds to it // (e.g. clicks a button) g_signal_connect (dialog, "response", G_CALLBACK ( gtk_window_destroy), NULL); ```
The `GtkMessageDialog` implementation of the `GtkBuildable` interface exposes the message area as an internal child with the name “message_area”.