Class
AdwMessageDialog
deprecated: 1.6 since: 1.2
Description [src]
class Adw.MessageDialog : Gtk.Window
implements Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget, Gtk.Native, Gtk.Root, Gtk.ShortcutManager {
/* No available fields */
}
A dialog presenting a message or a question.
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
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
AdwMessageDialog: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:
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));
Async API
AdwMessageDialog
can also be used via the adw_message_dialog_choose()
method. This API follows the GIO async pattern, for example:
static void
dialog_cb (AdwMessageDialog *dialog,
GAsyncResult *result,
MyWindow *self)
{
const char *response = adw_message_dialog_choose_finish (dialog, result);
// ...
}
static void
show_dialog (MyWindow *self)
{
GtkWidget *dialog;
dialog = adw_message_dialog_new (GTK_WINDOW (self), _("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");
adw_message_dialog_choose (ADW_MESSAGE_DIALOG (dialog), NULL, (GAsyncReadyCallback) dialog_cb, self);
}
AdwMessageDialog as GtkBuildable
AdwMessageDialog
supports adding responses in UI definitions by via the
<responses>
element that may contain multiple <response>
elements, each
representing 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 adw_message_dialog_set_response_enabled()
and
adw_message_dialog_set_response_appearance()
for details.
Example of an AdwMessageDialog
UI definition:
<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_cb"/>
<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.
Available since: 1.2
Deprecated since: 1.6
Use AdwAlertDialog
.
Instance methods
adw_message_dialog_add_response
Adds a response with id
and label
to self
.
deprecated: 1.6 since: 1.2
adw_message_dialog_choose_finish
Finishes the adw_message_dialog_choose()
call and returns the response ID.
deprecated: 1.6 since: 1.3
adw_message_dialog_format_body_markup
Sets the formatted body text of self
with Pango markup.
deprecated: 1.6 since: 1.2
adw_message_dialog_format_heading_markup
Sets the formatted heading of self
with Pango markup.
deprecated: 1.6 since: 1.2
adw_message_dialog_get_body_use_markup
Gets whether the body text of self
includes Pango markup.
deprecated: 1.6 since: 1.2
adw_message_dialog_get_close_response
Gets the ID of the close response of self
.
deprecated: 1.6 since: 1.2
adw_message_dialog_get_default_response
Gets the ID of the default response of self
.
deprecated: 1.6 since: 1.2
adw_message_dialog_get_heading_use_markup
Gets whether the heading of self
includes Pango markup.
deprecated: 1.6 since: 1.2
adw_message_dialog_get_response_appearance
Gets the appearance of response
.
deprecated: 1.6 since: 1.2
adw_message_dialog_get_response_enabled
Gets whether response
is enabled.
deprecated: 1.6 since: 1.2
adw_message_dialog_has_response
Gets whether self
has a response with the ID response
.
deprecated: 1.6 since: 1.2
adw_message_dialog_response
Emits the AdwMessageDialog::response
signal with the given response ID.
deprecated: 1.6 since: 1.2
adw_message_dialog_set_body_use_markup
Sets whether the body text of self
includes Pango markup.
deprecated: 1.6 since: 1.2
adw_message_dialog_set_close_response
Sets the ID of the close response of self
.
deprecated: 1.6 since: 1.2
adw_message_dialog_set_default_response
Sets the ID of the default response of self
.
deprecated: 1.6 since: 1.2
adw_message_dialog_set_heading_use_markup
Sets whether the heading of self
includes Pango markup.
deprecated: 1.6 since: 1.2
adw_message_dialog_set_response_appearance
Sets the appearance for response
.
deprecated: 1.6 since: 1.2
adw_message_dialog_set_response_enabled
Sets whether response
is enabled.
deprecated: 1.6 since: 1.2
adw_message_dialog_set_response_label
Sets the label of response
to label
.
deprecated: 1.6 since: 1.2
Methods inherited from GtkAccessible (20)
Methods inherited from GtkBuildable (1)
Properties
Adw.MessageDialog:body-use-markup
Whether the body text includes Pango markup.
deprecated: 1.6 since: 1.2
Adw.MessageDialog:default-response
The response ID of the default response.
deprecated: 1.6 since: 1.2
Adw.MessageDialog:heading-use-markup
Whether the heading includes Pango markup.
deprecated: 1.6 since: 1.2
Properties inherited from GtkAccessible (1)
Signals
Adw.MessageDialog::response
This signal is emitted when the dialog is closed.
deprecated: 1.6 since: 1.2
Class structure
Virtual methods
Adw.MessageDialogClass.response
Emits the AdwMessageDialog::response
signal with the given response ID.
deprecated: 1.6 since: 1.2