MessageDialog


Object Hierarchy:

Adw.MessageDialog Adw.MessageDialog Adw.MessageDialog Gtk.Window Gtk.Window Gtk.Window->Adw.MessageDialog Gtk.Widget Gtk.Widget Gtk.Widget->Gtk.Window GLib.InitiallyUnowned GLib.InitiallyUnowned GLib.InitiallyUnowned->Gtk.Widget GLib.Object GLib.Object GLib.Object->GLib.InitiallyUnowned Gtk.Accessible Gtk.Accessible Gtk.Accessible->Adw.MessageDialog Gtk.Accessible->Gtk.Window Gtk.Accessible->Gtk.Widget Gtk.Buildable Gtk.Buildable Gtk.Buildable->Adw.MessageDialog Gtk.Buildable->Gtk.Window Gtk.Buildable->Gtk.Widget Gtk.ConstraintTarget Gtk.ConstraintTarget Gtk.ConstraintTarget->Adw.MessageDialog Gtk.ConstraintTarget->Gtk.Window Gtk.ConstraintTarget->Gtk.Widget Gtk.Native Gtk.Native Gtk.Native->Adw.MessageDialog Gtk.Native->Gtk.Window Gtk.Root Gtk.Root Gtk.Root->Adw.MessageDialog Gtk.Root->Gtk.Window Gtk.ShortcutManager Gtk.ShortcutManager Gtk.ShortcutManager->Adw.MessageDialog Gtk.ShortcutManager->Gtk.Window

Description:

[ CCode ( type_id = "adw_message_dialog_get_type ()" ) ]
[ Version ( since = "1.2" ) ]
public class MessageDialog : Window, Accessible, Buildable, ConstraintTarget, Native, Root, ShortcutManager

A dialog presenting a message or a question.

<picture> <source srcset="message-dialog-dark.png" media="(prefers-color-scheme: dark)"> <img src="message-dialog.png" alt="message-dialog"> </picture>

Message dialogs have a heading, a body, an optional child widget, and one or multiple responses, each presented as a button.

Each response has a unique string ID, and a button label. Additionally, each response can be enabled or disabled, and can have a suggested or destructive appearance.

When one of the responses is activated, or the dialog is closed, the [signal@MessageDialog:AdwMessageDialog:response] signal will be emitted. This signal is detailed, and the detail, as well as the `response` parameter will be set to the ID of the activated response, or to the value of the [property@MessageDialog:close-response] property if the dialog had been closed without activating any of the responses.

Response buttons can be presented horizontally or vertically depending on available space.

When a response is activated, `AdwMessageDialog` is closed automatically.

An example of using a message dialog:

```c GtkWidget *dialog;

dialog = adw_message_dialog_new (parent, _("Replace File?"), NULL);

adw_message_dialog_format_body (ADW_MESSAGE_DIALOG (dialog), _("A file named “s” already exists. Do you want to replace it?"), filename);

adw_message_dialog_add_responses (ADW_MESSAGE_DIALOG (dialog), "cancel", _("_Cancel"), "replace", _("_Replace"), NULL);

adw_message_dialog_set_response_appearance (ADW_MESSAGE_DIALOG (dialog), "replace", ADW_RESPONSE_DESTRUCTIVE);

adw_message_dialog_set_default_response (ADW_MESSAGE_DIALOG (dialog), "cancel"); adw_message_dialog_set_close_response ( ADW_MESSAGE_DIALOG (dialog), "cancel");

g_signal_connect (dialog, "response", G_CALLBACK (response_cb), self);

gtk_window_present (GTK_WINDOW (dialog)); ```

AdwMessageDialog as GtkBuildable

`AdwMessageDialog` supports adding responses in UI definitions by via the `<responses>` element that may contain multiple `< response>` elements, each respresenting a response.

Each of the `<response>` elements must have the `id` attribute specifying the response ID. The contents of the element are used as the response label.

Response labels can be translated with the usual `translatable`, `context` and `comments` attributes.

The `<response>` elements can also have `enabled` and/or `appearance` attributes. See [[email protected]_response_enabled] and [[email protected]_response_appearance] for details.

Example of an `AdwMessageDialog` UI definition:

```xml <object class="AdwMessageDialog" id="dialog"> <property name="heading" translatable="yes">Save Changes?</property > <property name="body" translatable="yes">Open documents contain unsaved changes. Changes which are not saved will be permanently lost.</property> <property name="default-response">save</property> <property name="close-response"> cancel</property> <signal name="response" handler="response_id"/> <responses> <response id="cancel" translatable="yes">_Cancel</response> <response id="discard" translatable="yes" appearance="destructive">_Discard< /response> <response id="save" translatable="yes" appearance="suggested" enabled="false">_Save</response> </responses > </object> ```

Accessibility

`AdwMessageDialog` uses the `GTK_ACCESSIBLE_ROLE_DIALOG` role.


Namespace: Adw
Package: libadwaita-1

Content:

Properties:

Creation methods:

Methods:

Signals:

Inherited Members:

All known members inherited from class Gtk.Window
All known members inherited from class Gtk.Widget
All known members inherited from class GLib.Object
All known members inherited from interface Gtk.Accessible
All known members inherited from interface Gtk.Buildable
All known members inherited from interface Gtk.Native
All known members inherited from interface Gtk.Root
All known members inherited from interface Gtk.ShortcutManager



2022 vala-language.org