Sets our main struct and passes it to the parent class.
Creates a new dialog box.
Adds an activatable widget to the action area of a GtkDialog.
Adds a button with the given text.
Emitted when the user uses a keybinding to close the dialog.
Emitted when an action widget is clicked.
Returns the content area of @dialog.
Get the main Gtk struct
Returns the header bar of @dialog.
Gets the response id of a widget in the action area of a dialog.
the main Gtk struct as a void*
Gets the widget button that uses the given response ID in the action area of a dialog.
Emits the ::response signal with the given response ID.
Sets the default widget for the dialog based on the response ID.
A convenient way to sensitize/desensitize dialog buttons.
the main Gtk struct
the main Gtk struct
Get the main Gtk struct
the main Gtk struct as a void*
Returns the fallback icon name for windows.
Returns a list of all existing toplevel windows.
Returns a list of all existing toplevel windows.
Sets whether the window should request startup notification.
Sets an icon to be used as fallback.
Opens or closes the interactive debugger.
Requests that the window is closed.
Drop the internal reference GTK holds on toplevel windows.
Asks to place @window in the fullscreen state.
Asks to place @window in the fullscreen state on the given @monitor.
Gets the GtkApplication associated with the window.
Gets the child widget of @window.
Returns whether the window has been set to have decorations.
Gets the default size of the window.
Returns the default widget for @window.
Returns whether the window has been set to have a close button.
Returns whether the window will be destroyed with its transient parent.
Retrieves the current focused widget within the window.
Gets whether “focus rectangles” are supposed to be visible.
Returns the group for @window.
Returns whether this window reacts to F10 key presses by activating a menubar it contains.
Returns whether the window will be hidden when the close button is clicked.
Returns the name of the themed icon for the window.
Gets whether mnemonics are supposed to be visible.
Returns whether the window is modal.
Gets the value set by gtk_window_set_resizable().
Retrieves the title of the window.
Returns the custom titlebar that has been set with gtk_window_set_titlebar().
Fetches the transient parent for this window.
Returns whether @window has an explicit window group.
Returns whether the window is part of the current active toplevel.
Retrieves the current fullscreen state of @window.
Retrieves the current maximized state of @window.
Asks to maximize @window, so that it fills the screen.
Asks to minimize the specified @window.
Presents a window to the user.
Presents a window to the user.
Sets or unsets the GtkApplication associated with the window.
Sets the child widget of @window.
Sets whether the window should be decorated.
Sets the default size of a window.
Sets the default widget.
Sets whether the window should be deletable.
If @setting is %TRUE, then destroying the transient parent of @window will also destroy @window itself.
Sets the GdkDisplay where the @window is displayed.
Sets the focus widget.
Sets whether “focus rectangles” are supposed to be visible.
Sets whether this window should react to F10 key presses by activating a menubar it contains.
If @setting is %TRUE, then clicking the close button on the window will not destroy it, but only hide it.
Sets the icon for the window from a named themed icon.
Sets whether mnemonics are supposed to be visible.
Sets a window modal or non-modal.
Sets whether the user can resize a window.
Sets the startup notification ID.
Sets the title of the GtkWindow.
Sets a custom titlebar for @window.
Dialog windows should be set transient for the main application window they were spawned from. This allows window managers to e.g. keep the dialog on top of the main window, or center the dialog over the main window. [ctor@Gtk.Dialog.new_with_buttons] and other convenience functions in GTK will sometimes call gtk_window_set_transient_for() on your behalf.
Asks to remove the fullscreen state for @window, and return to its previous state.
Asks to unmaximize @window.
Asks to unminimize the specified @window.
Emitted when the user activates the default widget of @window.
Emitted when the user activates the currently focused widget of @window.
Emitted when the user clicks on the close button of the window.
Emitted when the user enables or disables interactive debugging.
emitted when the set of accelerators or mnemonics that are associated with @window changes.
Dialogs are a convenient way to prompt the user for a small amount of input.
Typical uses are to display a message, ask a question, or anything else that does not require extensive effort on the user’s part.
The main area of a GtkDialog is called the "content area", and is yours to populate with widgets such a GtkLabel or GtkEntry, to present your information, questions, or tasks to the user.
In addition, dialogs allow you to add "action widgets". Most commonly, action widgets are buttons. Depending on the platform, action widgets may be presented in the header bar at the top of the window, or at the bottom of the window. To add action widgets, create your GtkDialog using [ctor@Gtk.Dialog.new_with_buttons], or use [method@Gtk.Dialog.add_button], [method@Gtk.Dialog.add_buttons], or [method@Gtk.Dialog.add_action_widget].
GtkDialogs uses some heuristics to decide whether to add a close button to the window decorations. If any of the action buttons use the response ID %GTK_RESPONSE_CLOSE or %GTK_RESPONSE_CANCEL, the close button is omitted.
Clicking a button that was added as an action widget will emit the [signal@Gtk.Dialog::response] signal with a response ID that you specified. GTK will never assign a meaning to positive response IDs; these are entirely user-defined. But for convenience, you can use the response IDs in the [enum@Gtk.ResponseType] enumeration (these all have values less than zero). If a dialog receives a delete event, the [signal@Gtk.Dialog::response] signal will be emitted with the %GTK_RESPONSE_DELETE_EVENT response ID.
Dialogs are created with a call to [ctor@Gtk.Dialog.new] or [ctor@Gtk.Dialog.new_with_buttons]. The latter is recommended; it allows you to set the dialog title, some convenient flags, and add buttons.
A “modal” dialog (that is, one which freezes the rest of the application from user input), can be created by calling [method@Gtk.Window.set_modal] on the dialog. When using [ctor@Gtk.Dialog.new_with_buttons], you can also pass the %GTK_DIALOG_MODAL flag to make a dialog modal.
For the simple dialog in the following example, a [class@Gtk.MessageDialog] would save some effort. But you’d need to create the dialog contents manually if you had more than a simple message in the dialog.
An example for simple GtkDialog usage:
GtkDialog as GtkBuildable
The GtkDialog implementation of the GtkBuildable interface exposes the @content_area as an internal child with the name “content_area”.
GtkDialog supports a custom <action-widgets> element, which can contain multiple <action-widget> elements. The “response” attribute specifies a numeric response, and the content of the element is the id of widget (which should be a child of the dialogs @action_area). To mark a response as default, set the “default“ attribute of the <action-widget> element to true.
GtkDialog supports adding action widgets by specifying “action“ as the “type“ attribute of a <child> element. The widget will be added either to the action area or the headerbar of the dialog, depending on the “use-header-bar“ property. The response id has to be associated with the action widget using the <action-widgets> element.
An example of a #GtkDialog UI definition fragment:
Accessibility
GtkDialog uses the %GTK_ACCESSIBLE_ROLE_DIALOG role.