### Class

# Gtk MessageDialog

#### Description [src]

    final class Gtk.MessageDialog : Gtk.Dialog {
      parent_instance: GtkDialog
    }

`GtkMessageDialog` presents a dialog with some message text.

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 gtk_window_set_modal() internally. The dialog will prevent interaction with the parent window until it’s hidden or destroyed. You can use the `GtkDialog::response` signal to know when the user dismissed the dialog.

An example for using a modal dialog:

    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:

    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);

# GtkMessageDialog as GtkBuildable

The `GtkMessageDialog` implementation of the `GtkBuildable` interface exposes the message area as an internal child with the name “message_area”.

#### Hierarchy

#### Ancestors

- GtkDialog
- GtkWindow
- GtkWidget
- GInitiallyUnowned
- GObject

#### Implements

- GtkAccessible
- GtkBuildable
- GtkConstraintTarget
- GtkNative
- GtkRoot
- GtkShortcutManager

#### Constructors

###### gtk_message_dialog_new

Creates a new message dialog.

###### gtk_message_dialog_new_with_markup

Creates a new message dialog.

#### Instance methods

###### gtk_message_dialog_format_secondary_markup

Sets the secondary text of the message dialog.

###### gtk_message_dialog_format_secondary_text

Sets the secondary text of the message dialog.

###### gtk_message_dialog_get_message_area

Returns the message area of the dialog.

###### gtk_message_dialog_set_markup

Sets the text of the message dialog.

##### Methods inherited from GtkDialog (10)

###### gtk_dialog_add_action_widget

Adds an activatable widget to the action area of a `GtkDialog`.

###### gtk_dialog_add_button

Adds a button with the given text.

###### gtk_dialog_add_buttons

Adds multiple buttons.

###### gtk_dialog_get_content_area

Returns the content area of `dialog`.

###### gtk_dialog_get_header_bar

Returns the header bar of `dialog`.

###### gtk_dialog_get_response_for_widget

Gets the response id of a widget in the action area of a dialog.

###### gtk_dialog_get_widget_for_response

Gets the widget button that uses the given response ID in the action area of a dialog.

###### gtk_dialog_response

Emits the ::response signal with the given response ID.

###### gtk_dialog_set_default_response

Sets the default widget for the dialog based on the response ID.

###### gtk_dialog_set_response_sensitive

A convenient way to sensitize/desensitize dialog buttons.

##### Methods inherited from GtkWindow (54)

##### Methods inherited from GtkWidget (159)

##### Methods inherited from GtkAccessible (10)

###### gtk_accessible_get_accessible_role

Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.

###### gtk_accessible_reset_property

Resets the accessible `property` to its default value.

###### gtk_accessible_reset_relation

Resets the accessible `relation` to its default value.

###### gtk_accessible_reset_state

Resets the accessible `state` to its default value.

###### gtk_accessible_update_property

Updates a list of accessible properties.

###### gtk_accessible_update_property_value

Updates an array of accessible properties.

###### gtk_accessible_update_relation

Updates a list of accessible relations.

###### gtk_accessible_update_relation_value

Updates an array of accessible relations.

###### gtk_accessible_update_state

Updates a list of accessible states. See the `GtkAccessibleState` documentation for the value types of accessible states.

###### gtk_accessible_update_state_value

Updates an array of accessible states.

##### Methods inherited from GtkBuildable (1)

###### gtk_buildable_get_buildable_id

Gets the ID of the `buildable` object.

##### Methods inherited from GtkNative (5)

###### gtk_native_get_renderer

Returns the renderer that is used for this `GtkNative`.

###### gtk_native_get_surface

Returns the surface of this `GtkNative`.

###### gtk_native_get_surface_transform

Retrieves the surface transform of `self`.

###### gtk_native_realize

Realizes a `GtkNative`.

###### gtk_native_unrealize

Unrealizes a `GtkNative`.

##### Methods inherited from GtkRoot (3)

###### gtk_root_get_display

Returns the display that this `GtkRoot` is on.

###### gtk_root_get_focus

Retrieves the current focused widget within the root.

###### gtk_root_set_focus

If `focus` is not the current focus widget, and is focusable, sets it as the focus widget for the root.

#### Properties

###### Gtk.MessageDialog:buttons

No description available.

###### Gtk.MessageDialog:message-area

The `GtkBox` that corresponds to the message area of this dialog.

###### Gtk.MessageDialog:message-type

The type of the message.

###### Gtk.MessageDialog:secondary-text

The secondary text of the message dialog.

###### Gtk.MessageDialog:secondary-use-markup

`TRUE` if the secondary text of the dialog includes Pango markup.

###### Gtk.MessageDialog:text

The primary text of the message dialog.

###### Gtk.MessageDialog:use-markup

`TRUE` if the primary text of the dialog includes Pango markup.

##### Properties inherited from GtkDialog (1)

###### Gtk.Dialog:use-header-bar

`TRUE` if the dialog uses a headerbar for action buttons instead of the action-area.

##### Properties inherited from GtkWindow (23)

###### Gtk.Window:application

The `GtkApplication` associated with the window.

###### Gtk.Window:child

The child widget.

###### Gtk.Window:decorated

Whether the window should have a frame (also known as decorations).

###### Gtk.Window:default-height

The default height of the window.

###### Gtk.Window:default-widget

The default widget.

###### Gtk.Window:default-width

The default width of the window.

###### Gtk.Window:deletable

Whether the window frame should have a close button.

###### Gtk.Window:destroy-with-parent

If this window should be destroyed when the parent is destroyed.

###### Gtk.Window:display

The display that will display this window.

###### Gtk.Window:focus-visible

Whether ‘focus rectangles’ are currently visible in this window.

###### Gtk.Window:focus-widget

The focus widget.

###### Gtk.Window:fullscreened

Whether the window is fullscreen.

###### Gtk.Window:handle-menubar-accel

Whether the window frame should handle F10 for activating menubars.

Available since: 4.2

###### Gtk.Window:hide-on-close

If this window should be hidden when the users clicks the close button.

###### Gtk.Window:icon-name

Specifies the name of the themed icon to use as the window icon.

###### Gtk.Window:is-active

Whether the toplevel is the currently active window.

###### Gtk.Window:maximized

Whether the window is maximized.

###### Gtk.Window:mnemonics-visible

Whether mnemonics are currently visible in this window.

###### Gtk.Window:modal

If `TRUE`, the window is modal.

###### Gtk.Window:resizable

If `TRUE`, users can resize the window.

###### Gtk.Window:startup-id

A write-only property for setting window’s startup notification identifier.

###### Gtk.Window:title

The title of the window.

###### Gtk.Window:transient-for

The transient parent of the window.

##### Properties inherited from GtkWidget (34)

###### Gtk.Widget:can-focus

Whether the widget or any of its descendents can accept the input focus.

###### Gtk.Widget:can-target

Whether the widget can receive pointer events.

###### Gtk.Widget:css-classes

A list of css classes applied to this widget.

###### Gtk.Widget:css-name

The name of this widget in the CSS tree.

###### Gtk.Widget:cursor

The cursor used by `widget`.

###### Gtk.Widget:focus-on-click

Whether the widget should grab focus when it is clicked with the mouse.

###### Gtk.Widget:focusable

Whether this widget itself will accept the input focus.

###### Gtk.Widget:halign

How to distribute horizontal space if widget gets extra space.

###### Gtk.Widget:has-default

Whether the widget is the default widget.

###### Gtk.Widget:has-focus

Whether the widget has the input focus.

###### Gtk.Widget:has-tooltip

Enables or disables the emission of the ::query-tooltip signal on `widget`.

###### Gtk.Widget:height-request

Override for height request of the widget.

###### Gtk.Widget:hexpand

Whether to expand horizontally.

###### Gtk.Widget:hexpand-set

Whether to use the `hexpand` property.

###### Gtk.Widget:layout-manager

The `GtkLayoutManager` instance to use to compute the preferred size of the widget, and allocate its children.

###### Gtk.Widget:margin-bottom

Margin on bottom side of widget.

###### Gtk.Widget:margin-end

Margin on end of widget, horizontally.

###### Gtk.Widget:margin-start

Margin on start of widget, horizontally.

###### Gtk.Widget:margin-top

Margin on top side of widget.

###### Gtk.Widget:name

The name of the widget.

###### Gtk.Widget:opacity

The requested opacity of the widget.

###### Gtk.Widget:overflow

How content outside the widget’s content area is treated.

###### Gtk.Widget:parent

The parent widget of this widget.

###### Gtk.Widget:receives-default

Whether the widget will receive the default action when it is focused.

###### Gtk.Widget:root

The `GtkRoot` widget of the widget tree containing this widget.

###### Gtk.Widget:scale-factor

The scale factor of the widget.

###### Gtk.Widget:sensitive

Whether the widget responds to input.

###### Gtk.Widget:tooltip-markup

Sets the text of tooltip to be the given string, which is marked up with Pango markup.

###### Gtk.Widget:tooltip-text

Sets the text of tooltip to be the given string.

###### Gtk.Widget:valign

How to distribute vertical space if widget gets extra space.

###### Gtk.Widget:vexpand

Whether to expand vertically.

###### Gtk.Widget:vexpand-set

Whether to use the `vexpand` property.

###### Gtk.Widget:visible

Whether the widget is visible.

###### Gtk.Widget:width-request

Override for width request of the widget.

##### Properties inherited from GtkAccessible (1)

###### Gtk.Accessible:accessible-role

The accessible role of the given `GtkAccessible` implementation.

#### Class structure

    struct GtkMessageDialogClass {
      /* no available fields */
    }