### Class

# Adw Dialog

since: 1.5

#### Description [src]

    class Adw.Dialog : Gtk.Widget
      implements Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget, Gtk.ShortcutManager {
      /* No available fields */
    }

An adaptive dialog container.

`AdwDialog` is similar to a window, but is shown within another window. It can be used with `AdwWindow` and `AdwApplicationWindow`, use `adw_dialog_present()` to show it.

`AdwDialog` is not resizable. Use the `AdwDialog:content-width` and `AdwDialog:content-height` properties to set its size, or set `AdwDialog:follows-content-size` to `TRUE` to make the dialog track the content’s size as it changes. `AdwDialog` can never be larger than its parent window.

`AdwDialog` can be presented as a centered floating window or a bottom sheet. By default it’s automatic depending on the available size. `AdwDialog:presentation-mode` can be used to change that.

`AdwDialog` can be closed via `adw_dialog_close()`.

When presented as a bottom sheet, `AdwDialog` can also be closed via swiping it down.

The `AdwDialog:can-close` can be used to prevent closing. In that case, `AdwDialog::close-attempt` gets emitted instead.

Use `adw_dialog_force_close()` to close the dialog even when `can-close` is set to `FALSE`.

`AdwDialog` is transient and doesn’t integrate with the window below it, for example it’s not possible to collapse it into a bottom bar. See `AdwBottomSheet` for persistent and more tightly integrated bottom sheets.

## Header Bar Integration

When placed inside an `AdwDialog`, `AdwHeaderBar` will display the dialog title instead of window title. It will also adjust the decoration layout to ensure it always has a close button and nothing else. Set `AdwHeaderBar:show-start-title-buttons` and `AdwHeaderBar:show-end-title-buttons` to `FALSE` to remove it if it’s unwanted.

## Breakpoints

`AdwDialog` can be used with `AdwBreakpoint` the same way as `AdwBreakpointBin`. Refer to that widget’s documentation for details.

Like `AdwBreakpointBin`, if breakpoints are used, `AdwDialog` doesn’t have a minimum size, and `GtkWidget:width-request` and `GtkWidget:height-request` properties must be set manually.

Available since: 1.5

#### Ancestors

- GtkWidget
- GInitiallyUnowned
- GObject

#### Descendants

- AdwAboutDialog
- AdwAlertDialog
- AdwPreferencesDialog
- AdwShortcutsDialog

#### Implements

- GtkAccessible
- GtkBuildable
- GtkConstraintTarget
- GtkShortcutManager

#### Constructors

###### adw_dialog_new

Creates a new `AdwDialog`.

since: 1.5

#### Instance methods

###### adw_dialog_add_breakpoint

Adds `breakpoint` to `self`.

since: 1.5

###### adw_dialog_close

Attempts to close `self`.

since: 1.5

###### adw_dialog_force_close

Closes `self`.

since: 1.5

###### adw_dialog_get_can_close

Gets whether `self` can be closed.

since: 1.5

###### adw_dialog_get_child

Gets the child widget of `self`.

since: 1.5

###### adw_dialog_get_content_height

Gets the height of the dialog’s contents.

since: 1.5

###### adw_dialog_get_content_width

Gets the width of the dialog’s contents.

since: 1.5

###### adw_dialog_get_current_breakpoint

Gets the current breakpoint.

since: 1.5

###### adw_dialog_get_default_widget

Gets the default widget for `self`.

since: 1.5

###### adw_dialog_get_focus

Gets the focus widget for `self`.

since: 1.5

###### adw_dialog_get_follows_content_size

Gets whether to size content of `self` automatically.

since: 1.5

###### adw_dialog_get_presentation_mode

Gets presentation mode for `self`.

since: 1.5

###### adw_dialog_get_title

Gets the title of `self`.

since: 1.5

###### adw_dialog_present

Presents `self` within `parent`‘s window.

since: 1.5

###### adw_dialog_set_can_close

Sets whether `self` can be closed.

since: 1.5

###### adw_dialog_set_child

Sets the child widget of `self`.

since: 1.5

###### adw_dialog_set_content_height

Sets the height of the dialog’s contents.

since: 1.5

###### adw_dialog_set_content_width

Sets the width of the dialog’s contents.

since: 1.5

###### adw_dialog_set_default_widget

Sets the default widget for `self`.

since: 1.5

###### adw_dialog_set_focus

Sets the focus widget for `self`.

since: 1.5

###### adw_dialog_set_follows_content_size

Sets whether to size content of `self` automatically.

since: 1.5

###### adw_dialog_set_presentation_mode

Sets presentation mode for `self`.

since: 1.5

###### adw_dialog_set_title

Sets the title of `self`.

since: 1.5

##### Methods inherited from GtkWidget (164)

Please see GtkWidget for a full list of methods.

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

##### Methods inherited from GtkAccessible (21)

###### gtk_accessible_announce

Requests the user’s screen reader to announce the given message.

###### gtk_accessible_get_accessible_id

Retrieves the accessible identifier for the accessible object.

###### gtk_accessible_get_accessible_parent

Retrieves the accessible parent for an accessible object.

###### gtk_accessible_get_accessible_role

Retrieves the accessible role of an accessible object.

###### gtk_accessible_get_at_context

Retrieves the implementation for the given accessible object.

###### gtk_accessible_get_bounds

Queries the coordinates and dimensions of this accessible.

###### gtk_accessible_get_first_accessible_child

Retrieves the first accessible child of an accessible object.

###### gtk_accessible_get_next_accessible_sibling

Retrieves the next accessible sibling of an accessible object.

###### gtk_accessible_get_platform_state

Queries a platform state, such as focus.

###### 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_set_accessible_parent

Sets the parent and sibling of an accessible object.

###### gtk_accessible_update_next_accessible_sibling

Updates the next accessible sibling.

###### gtk_accessible_update_platform_state

Informs ATs that the platform state has changed.

###### 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.

###### 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.

#### Properties

###### Adw.Dialog:can-close

Whether the dialog can be closed.

since: 1.5

###### Adw.Dialog:child

The child widget of the `AdwDialog`.

since: 1.5

###### Adw.Dialog:content-height

The height of the dialog’s contents.

since: 1.5

###### Adw.Dialog:content-width

The width of the dialog’s contents.

since: 1.5

###### Adw.Dialog:current-breakpoint

The current breakpoint.

since: 1.5

###### Adw.Dialog:default-widget

The default widget.

since: 1.5

###### Adw.Dialog:focus-widget

The focus widget.

since: 1.5

###### Adw.Dialog:follows-content-size

Whether to size content automatically.

since: 1.5

###### Adw.Dialog:presentation-mode

The dialog’s presentation mode.

since: 1.5

###### Adw.Dialog:title

The title of the dialog.

since: 1.5

##### Properties inherited from GtkWidget (35)

###### 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 `GtkWidget::query-tooltip` signal on `widget`.

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

Overrides 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:limit-events

Makes this widget act like a modal dialog, with respect to event delivery.

###### 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

Overrides for width request of the widget.

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

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

The accessible role of the given `GtkAccessible` implementation.

#### Signals

###### Adw.Dialog::close-attempt

Emitted when the close button or shortcut is used, or `adw_dialog_close()` is called while `AdwDialog:can-close` is set to `FALSE`.

since: 1.5

###### Adw.Dialog::closed

Emitted when the dialog is successfully closed.

since: 1.5

##### Signals inherited from GtkWidget (13)

###### GtkWidget::destroy

Signals that all holders of a reference to the widget should release the reference that they hold.

###### GtkWidget::direction-changed

Emitted when the text direction of a widget changes.

###### GtkWidget::hide

Emitted when `widget` is hidden.

###### GtkWidget::keynav-failed

Emitted if keyboard navigation fails.

###### GtkWidget::map

Emitted when `widget` is going to be mapped.

###### GtkWidget::mnemonic-activate

Emitted when a widget is activated via a mnemonic.

###### GtkWidget::move-focus

Emitted when the focus is moved.

###### GtkWidget::query-tooltip

Emitted when the widget’s tooltip is about to be shown.

###### GtkWidget::realize

Emitted when `widget` is associated with a `GdkSurface`.

###### GtkWidget::show

Emitted when `widget` is shown.

###### GtkWidget::state-flags-changed

Emitted when the widget state changes.

###### GtkWidget::unmap

Emitted when `widget` is going to be unmapped.

###### GtkWidget::unrealize

Emitted when the `GdkSurface` associated with `widget` is destroyed.

##### Signals inherited from GObject (1)

###### GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

#### Class structure

    struct AdwDialogClass {
      GtkWidgetClass parent_class;
      void (* close_attempt) (
        AdwDialog* dialog
      );
      void (* closed) (
        AdwDialog* dialog
      );

    }

No description available.

###### Class members

`parent_class: GtkWidgetClass`

  No description available.

`close_attempt: void (* close_attempt) ( AdwDialog* dialog )`

  No description available.

`closed: void (* closed) ( AdwDialog* dialog )`

  No description available.

#### Virtual methods

###### Adw.DialogClass.close_attempt

No description available.

###### Adw.DialogClass.closed

No description available.