<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations.  -->
<repository version="1.2"
            xmlns="http://www.gtk.org/introspection/core/1.0"
            xmlns:c="http://www.gtk.org/introspection/c/1.0"
            xmlns:doc="http://www.gtk.org/introspection/doc/1.0"
            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="Gio" version="2.0"/>
  <include name="Gtk" version="4.0"/>
  <package name="libadwaita-1"/>
  <c:include name="adwaita.h"/>
  <doc:format name="gi-docgen"/>
  <namespace name="Adw"
             version="1"
             shared-library="libadwaita-1.so.0"
             c:identifier-prefixes="Adw"
             c:symbol-prefixes="adw">
    <class name="AboutDialog"
           c:symbol-prefix="about_dialog"
           c:type="AdwAboutDialog"
           version="1.5"
           parent="Dialog"
           final="1"
           glib:type-name="AdwAboutDialog"
           glib:get-type="adw_about_dialog_get_type"
           glib:type-struct="AboutDialogClass">
      <doc xml:space="preserve"
           filename="src/adw-about-dialog.c"
           line="23">A dialog showing information about the application.

&lt;picture&gt;
  &lt;source srcset="about-dialog-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="about-dialog.png" alt="about-dialog"&gt;
&lt;/picture&gt;

an about dialog is typically opened when the user activates the `About …`
item in the application's primary menu. All parts of the dialog are optional.

## Main page

`AdwAboutDialog` prominently displays the application's icon, name, developer
name and version. They can be set with the [property@AboutDialog:application-icon],
[property@AboutDialog:application-name],
[property@AboutDialog:developer-name] and [property@AboutDialog:version]
respectively.

## What's New

`AdwAboutDialog` provides a way for applications to display their release
notes, set with the [property@AboutDialog:release-notes] property.

Release notes are formatted the same way as
[AppStream descriptions](https://freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-description).

The supported formatting options are:

* Paragraph (`&lt;p&gt;`)
* Ordered list (`&lt;ol&gt;`), with list items (`&lt;li&gt;`)
* Unordered list (`&lt;ul&gt;`), with list items (`&lt;li&gt;`)

Within paragraphs and list items, emphasis (`&lt;em&gt;`) and inline code
(`&lt;code&gt;`) text styles are supported. The emphasis is rendered in italic,
while inline code is shown in a monospaced font.

Any text outside paragraphs or list items is ignored.

Nested lists are not supported.

Only one version can be shown at a time. By default, the displayed version
number matches [property@AboutDialog:version]. Use
[property@AboutDialog:release-notes-version] to override it.

## Details

The Details page displays the application comments and links.

The comments can be set with the [property@AboutDialog:comments] property.
Unlike [property@Gtk.AboutDialog:comments], this string can be long and
detailed. It can also contain links and Pango markup.

To set the application website, use [property@AboutDialog:website].
To add extra links below the website, use [method@AboutDialog.add_link].

If the Details page doesn't have any other content besides website, the
website will be displayed on the main page instead.

## Troubleshooting

`AdwAboutDialog` displays the following two links on the main page:

* Support Questions, set with the [property@AboutDialog:support-url] property,
* Report an Issue, set with the [property@AboutDialog:issue-url] property.

Additionally, applications can provide debugging information. It will be
shown separately on the Troubleshooting page. Use the
[property@AboutDialog:debug-info] property to specify it.

It's intended to be attached to issue reports when reporting issues against
the application. As such, it cannot contain markup or links.

`AdwAboutDialog` provides a quick way to save debug information to a file.
When saving, [property@AboutDialog:debug-info-filename] would be used as
the suggested filename.

## Credits and Acknowledgements

The Credits page has the following default sections:

* Developers, set with the [property@AboutDialog:developers] property,
* Designers, set with the [property@AboutDialog:designers] property,
* Artists, set with the [property@AboutDialog:artists] property,
* Documenters, set with the [property@AboutDialog:documenters] property,
* Translators, set with the [property@AboutDialog:translator-credits] property.

When setting translator credits, use the strings `"translator-credits"` or
`"translator_credits"` and mark them as translatable.

The default sections that don't contain any names won't be displayed.

The Credits page can also contain an arbitrary number of extra sections below
the default ones. Use [method@AboutDialog.add_credit_section] to add them.

The Acknowledgements page can be used to acknowledge additional people and
organizations for their non-development contributions. Use
[method@AboutDialog.add_acknowledgement_section] to add sections to it. For
example, it can be used to list backers in a crowdfunded project or to give
special thanks.

Each of the people or organizations can have an email address or a website
specified. To add a email address, use a string like
`Edgar Allan Poe &lt;edgar@poe.com&gt;`. To specify a website with a title, use a
string like `The GNOME Project https://www.gnome.org`:

&lt;picture&gt;
  &lt;source srcset="about-dialog-credits-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="about-dialog-credits.png" alt="about-dialog-credits"&gt;
&lt;/picture&gt;

## Legal

The Legal page displays the copyright and licensing information for the
application and other modules.

The copyright string is set with the [property@AboutDialog:copyright]
property and should be a short string of one or two lines, for example:
`© 2022 Example`.

Licensing information can be quickly set from a list of known licenses with
the [property@AboutDialog:license-type] property. If the application's
license is not in the list, [property@AboutDialog:license] can be used
instead.

To add information about other modules, such as application dependencies or
data, use [method@AboutDialog.add_legal_section].

## Other applications

`AdwAboutDialog` can show links to your other apps at the end of the main
page. To add them, use [method@AboutDialog.add_other_app].

## Constructing

To make constructing an `AdwAboutDialog` as convenient as possible, you can
use the function [func@show_about_dialog] which constructs and shows a
dialog.

```c
static void
show_about (GtkApplication *app)
{
  const char *developers[] = {
    "Angela Avery",
    NULL
  };

  const char *designers[] = {
    "GNOME Design Team",
    NULL
  };

  adw_show_about_dialog (GTK_WIDGET (gtk_application_get_active_window (app)),
                         "application-name", _("Example"),
                         "application-icon", "org.example.App",
                         "version", "1.2.3",
                         "copyright", "© 2022 Angela Avery",
                         "issue-url", "https://gitlab.gnome.org/example/example/-/issues/",
                         "license-type", GTK_LICENSE_GPL_3_0,
                         "developers", developers,
                         "designers", designers,
                         "translator-credits", _("translator-credits"),
                         NULL);
}
```

## CSS nodes

`AdwAboutDialog` has a main CSS node with the name `dialog` and the
style class `.about`.</doc>
      <source-position filename="src/adw-about-dialog.h" line="25"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <implements name="Gtk.ShortcutManager"/>
      <constructor name="new"
                   c:identifier="adw_about_dialog_new"
                   version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="1966">Creates a new `AdwAboutDialog`.</doc>
        <source-position filename="src/adw-about-dialog.h" line="28"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-dialog.c"
               line="1971">the newly created `AdwAboutDialog`</doc>
          <type name="Dialog" c:type="AdwDialog*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_appdata"
                   c:identifier="adw_about_dialog_new_from_appdata"
                   version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="1981">Creates a new `AdwAboutDialog` using AppStream metadata.

This automatically sets the following properties with the following AppStream
values:

* [property@AboutDialog:application-icon] is set from the `&lt;id&gt;`
* [property@AboutDialog:application-name] is set from the `&lt;name&gt;`
* [property@AboutDialog:developer-name] is set from the `&lt;name&gt;` within
     `&lt;developer&gt;`
* [property@AboutDialog:version] is set from the version of the latest release
* [property@AboutDialog:website] is set from the `&lt;url type="homepage"&gt;`
* [property@AboutDialog:support-url] is set from the `&lt;url type="help"&gt;`
* [property@AboutDialog:issue-url] is set from the `&lt;url type="bugtracker"&gt;`
* [property@AboutDialog:license-type] is set from the `&lt;project_license&gt;`.
    If the license type retrieved from AppStream is not listed in
    [enum@Gtk.License], it will be set to `GTK_LICENCE_CUSTOM`.

If @release_notes_version is not `NULL`,
[property@AboutDialog:release-notes-version] is set to match it, while
[property@AboutDialog:release-notes] is set from the AppStream release
description for that version.</doc>
        <source-position filename="src/adw-about-dialog.h" line="31"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-dialog.c"
               line="2008">the newly created `AdwAboutDialog`</doc>
          <type name="Dialog" c:type="AdwDialog*"/>
        </return-value>
        <parameters>
          <parameter name="resource_path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="1983">The resource to use</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="release_notes_version"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="1984">The version to retrieve release notes for</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="add_acknowledgement_section"
              c:identifier="adw_about_dialog_add_acknowledgement_section"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="3145">Adds a section to the Acknowledgements page.

This can be used to acknowledge additional people and organizations for their
non-development contributions - for example, backers in a crowdfunded
project.

Each name may contain email addresses and URLs, see the introduction for more
details.

See also:

* [property@AboutDialog:developers]
* [property@AboutDialog:designers]
* [property@AboutDialog:artists]
* [property@AboutDialog:documenters]
* [property@AboutDialog:translator-credits]
* [method@AboutDialog.add_credit_section]</doc>
        <source-position filename="src/adw-about-dialog.h" line="147"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="3147">an about dialog</doc>
            <type name="AboutDialog" c:type="AdwAboutDialog*"/>
          </instance-parameter>
          <parameter name="name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="3148">the section name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="people" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="3149">the list of names</doc>
            <array c:type="const char**">
              <type name="utf8" c:type="char*"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <method name="add_credit_section"
              c:identifier="adw_about_dialog_add_credit_section"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="3102">Adds an extra section to the Credits page.

Extra sections are displayed below the standard categories.

Each name may contain email addresses and URLs, see the introduction for more
details.

See also:

* [property@AboutDialog:developers]
* [property@AboutDialog:designers]
* [property@AboutDialog:artists]
* [property@AboutDialog:documenters]
* [property@AboutDialog:translator-credits]
* [method@AboutDialog.add_acknowledgement_section]</doc>
        <source-position filename="src/adw-about-dialog.h" line="142"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="3104">an about dialog</doc>
            <type name="AboutDialog" c:type="AdwAboutDialog*"/>
          </instance-parameter>
          <parameter name="name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="3105">the section name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="people" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="3106">the list of names</doc>
            <array c:type="const char**">
              <type name="utf8" c:type="char*"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <method name="add_legal_section"
              c:identifier="adw_about_dialog_add_legal_section"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="3365">Adds an extra section to the Legal page.

Extra sections will be displayed below the application's own information.

The parameters @copyright, @license_type and @license will be used to present
the it the same way as [property@AboutDialog:copyright],
[property@AboutDialog:license-type] and [property@AboutDialog:license] are
for the application's own information.

See those properties for more details.

This can be useful to attribute the application dependencies or data.

Examples:

```c
adw_about_dialog_add_legal_section (ADW_ABOUT_DIALOG (about),
                                    _("Copyright and a known license"),
                                    "© 2022 Example",
                                    GTK_LICENSE_LGPL_2_1,
                                    NULL);

adw_about_dialog_add_legal_section (ADW_ABOUT_DIALOG (about),
                                    _("Copyright and custom license"),
                                    "© 2022 Example",
                                    GTK_LICENSE_CUSTOM,
                                    "Custom license text");

adw_about_dialog_add_legal_section (ADW_ABOUT_DIALOG (about),
                                    _("Copyright only"),
                                    "© 2022 Example",
                                    GTK_LICENSE_UNKNOWN,
                                    NULL);

adw_about_dialog_add_legal_section (ADW_ABOUT_DIALOG (about),
                                    _("Custom license only"),
                                    NULL,
                                    GTK_LICENSE_CUSTOM,
                                    "Something completely custom here.");
```</doc>
        <source-position filename="src/adw-about-dialog.h" line="170"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="3367">an about dialog</doc>
            <type name="AboutDialog" c:type="AdwAboutDialog*"/>
          </instance-parameter>
          <parameter name="title" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="3368">the name of the section</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="copyright"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="3369">a copyright string</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="license_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="3370">the type of license</doc>
            <type name="Gtk.License" c:type="GtkLicense"/>
          </parameter>
          <parameter name="license"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="3371">custom license information</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_link"
              c:identifier="adw_about_dialog_add_link"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="2662">Adds an extra link to the Details page.

Extra links are displayed under the comment and website.

Underlines in @title will be interpreted as indicating a mnemonic.

See [property@AboutDialog:website].</doc>
        <source-position filename="src/adw-about-dialog.h" line="95"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2664">an about dialog</doc>
            <type name="AboutDialog" c:type="AdwAboutDialog*"/>
          </instance-parameter>
          <parameter name="title" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2665">the link title</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="url" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2666">the link URL</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_other_app"
              c:identifier="adw_about_dialog_add_other_app"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="3441">Adds another application to @self.

The application will be displayed at the bottom of the main page, in a
separate section. Each added application will be presented as a row with
@title and @summary, as well as an icon with the name @appid. Clicking the
row will show @appid in the software center app.

This can be used to link to your other applications if you have multiple.

Example:

```c
adw_about_dialog_add_other_app (ADW_ABOUT_DIALOG (about),
                                "org.gnome.Boxes",
                                _("Boxes"),
                                _("Virtualization made simple"));
```</doc>
        <source-position filename="src/adw-about-dialog.h" line="177"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="3443">an about dialog</doc>
            <type name="AboutDialog" c:type="AdwAboutDialog*"/>
          </instance-parameter>
          <parameter name="appid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="3444">the application ID</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="3445">the application name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="summary" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="3446">the application summary</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_application_icon"
              c:identifier="adw_about_dialog_get_application_icon"
              glib:get-property="application-icon"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="2163">Gets the name of the application icon for @self.</doc>
        <source-position filename="src/adw-about-dialog.h" line="41"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-dialog.c"
               line="2169">the application icon name</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2165">an about dialog</doc>
            <type name="AboutDialog" c:type="AdwAboutDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_application_name"
              c:identifier="adw_about_dialog_get_application_name"
              glib:get-property="application-name"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="2208">Gets the application name for @self.</doc>
        <source-position filename="src/adw-about-dialog.h" line="35"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-dialog.c"
               line="2214">the application name</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2210">an about dialog</doc>
            <type name="AboutDialog" c:type="AdwAboutDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_artists"
              c:identifier="adw_about_dialog_get_artists"
              glib:get-property="artists"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="2926">Gets the list of artists of the application.</doc>
        <source-position filename="src/adw-about-dialog.h" line="124"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-about-dialog.c"
               line="2932">The list of artists</doc>
          <array c:type="const char* const*">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2928">an about dialog</doc>
            <type name="AboutDialog" c:type="AdwAboutDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_comments"
              c:identifier="adw_about_dialog_get_comments"
              glib:get-property="comments"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="2480">Gets the comments about the application.</doc>
        <source-position filename="src/adw-about-dialog.h" line="71"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-dialog.c"
               line="2486">the comments</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2482">an about dialog</doc>
            <type name="AboutDialog" c:type="AdwAboutDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_copyright"
              c:identifier="adw_about_dialog_get_copyright"
              glib:get-property="copyright"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="3186">Gets the copyright information for @self.</doc>
        <source-position filename="src/adw-about-dialog.h" line="152"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-dialog.c"
               line="3192">the copyright information</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="3188">an about dialog</doc>
            <type name="AboutDialog" c:type="AdwAboutDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_debug_info"
              c:identifier="adw_about_dialog_get_debug_info"
              glib:get-property="debug-info"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="2713">Gets the debug information for @self.</doc>
        <source-position filename="src/adw-about-dialog.h" line="100"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-dialog.c"
               line="2719">the debug information</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2715">an about dialog</doc>
            <type name="AboutDialog" c:type="AdwAboutDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_debug_info_filename"
              c:identifier="adw_about_dialog_get_debug_info_filename"
              glib:get-property="debug-info-filename"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="2765">Gets the debug information filename for @self.</doc>
        <source-position filename="src/adw-about-dialog.h" line="106"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-dialog.c"
               line="2771">the debug information filename</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2767">an about dialog</doc>
            <type name="AboutDialog" c:type="AdwAboutDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_designers"
              c:identifier="adw_about_dialog_get_designers"
              glib:get-property="designers"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="2868">Gets the list of designers of the application.</doc>
        <source-position filename="src/adw-about-dialog.h" line="118"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-about-dialog.c"
               line="2874">The list of designers</doc>
          <array c:type="const char* const*">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2870">an about dialog</doc>
            <type name="AboutDialog" c:type="AdwAboutDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_developer_name"
              c:identifier="adw_about_dialog_get_developer_name"
              glib:get-property="developer-name"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="2253">Gets the developer name for @self.</doc>
        <source-position filename="src/adw-about-dialog.h" line="47"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-dialog.c"
               line="2259">the developer_name</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2255">an about dialog</doc>
            <type name="AboutDialog" c:type="AdwAboutDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_developers"
              c:identifier="adw_about_dialog_get_developers"
              glib:get-property="developers"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="2810">Gets the list of developers of the application.</doc>
        <source-position filename="src/adw-about-dialog.h" line="112"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-about-dialog.c"
               line="2816">The list of developers</doc>
          <array c:type="const char* const*">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2812">an about dialog</doc>
            <type name="AboutDialog" c:type="AdwAboutDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_documenters"
              c:identifier="adw_about_dialog_get_documenters"
              glib:get-property="documenters"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="2984">Gets the list of documenters of the application.</doc>
        <source-position filename="src/adw-about-dialog.h" line="130"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-about-dialog.c"
               line="2990">The list of documenters</doc>
          <array c:type="const char* const*">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2986">an about dialog</doc>
            <type name="AboutDialog" c:type="AdwAboutDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_issue_url"
              c:identifier="adw_about_dialog_get_issue_url"
              glib:get-property="issue-url"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="2618">Gets the issue tracker URL for @self.</doc>
        <source-position filename="src/adw-about-dialog.h" line="89"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-dialog.c"
               line="2624">the issue tracker URL</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2620">an about dialog</doc>
            <type name="AboutDialog" c:type="AdwAboutDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_license"
              c:identifier="adw_about_dialog_get_license"
              glib:get-property="license"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="3301">Gets the license for @self.</doc>
        <source-position filename="src/adw-about-dialog.h" line="164"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-dialog.c"
               line="3307">the license</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="3303">an about dialog</doc>
            <type name="AboutDialog" c:type="AdwAboutDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_license_type"
              c:identifier="adw_about_dialog_get_license_type"
              glib:get-property="license-type"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="3237">Gets the license type for @self.</doc>
        <source-position filename="src/adw-about-dialog.h" line="158"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-dialog.c"
               line="3243">the license type</doc>
          <type name="Gtk.License" c:type="GtkLicense"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="3239">an about dialog</doc>
            <type name="AboutDialog" c:type="AdwAboutDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_release_notes"
              c:identifier="adw_about_dialog_get_release_notes"
              glib:get-property="release-notes"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="2414">Gets the release notes for @self.</doc>
        <source-position filename="src/adw-about-dialog.h" line="65"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-dialog.c"
               line="2420">the release notes</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2416">an about dialog</doc>
            <type name="AboutDialog" c:type="AdwAboutDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_release_notes_version"
              c:identifier="adw_about_dialog_get_release_notes_version"
              glib:get-property="release-notes-version"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="2360">Gets the version described by the application's release notes.</doc>
        <source-position filename="src/adw-about-dialog.h" line="59"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-dialog.c"
               line="2366">the release notes version</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2362">an about dialog</doc>
            <type name="AboutDialog" c:type="AdwAboutDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_support_url"
              c:identifier="adw_about_dialog_get_support_url"
              glib:get-property="support-url"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="2574">Gets the URL of the support page for @self.</doc>
        <source-position filename="src/adw-about-dialog.h" line="83"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-dialog.c"
               line="2580">the support page URL</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2576">an about dialog</doc>
            <type name="AboutDialog" c:type="AdwAboutDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_translator_credits"
              c:identifier="adw_about_dialog_get_translator_credits"
              glib:get-property="translator-credits"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="3042">Gets the translator credits string.</doc>
        <source-position filename="src/adw-about-dialog.h" line="136"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-dialog.c"
               line="3048">The translator credits string</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="3044">an about dialog</doc>
            <type name="AboutDialog" c:type="AdwAboutDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_version"
              c:identifier="adw_about_dialog_get_version"
              glib:get-property="version"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="2313">Gets the version for @self.</doc>
        <source-position filename="src/adw-about-dialog.h" line="53"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-dialog.c"
               line="2319">the version</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2315">an about dialog</doc>
            <type name="AboutDialog" c:type="AdwAboutDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_website"
              c:identifier="adw_about_dialog_get_website"
              glib:get-property="website"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="2527">Gets the application website URL for @self.</doc>
        <source-position filename="src/adw-about-dialog.h" line="77"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-dialog.c"
               line="2533">the website URL</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2529">an about dialog</doc>
            <type name="AboutDialog" c:type="AdwAboutDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_application_icon"
              c:identifier="adw_about_dialog_set_application_icon"
              glib:set-property="application-icon"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="2181">Sets the name of the application icon for @self.

The icon is displayed at the top of the main page.</doc>
        <source-position filename="src/adw-about-dialog.h" line="43"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2183">an about dialog</doc>
            <type name="AboutDialog" c:type="AdwAboutDialog*"/>
          </instance-parameter>
          <parameter name="application_icon" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2184">the application icon name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_application_name"
              c:identifier="adw_about_dialog_set_application_name"
              glib:set-property="application-name"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="2226">Sets the application name for @self.

The name is displayed at the top of the main page.</doc>
        <source-position filename="src/adw-about-dialog.h" line="37"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2228">an about dialog</doc>
            <type name="AboutDialog" c:type="AdwAboutDialog*"/>
          </instance-parameter>
          <parameter name="application_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2229">the application name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_artists"
              c:identifier="adw_about_dialog_set_artists"
              glib:set-property="artists"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="2944">Sets the list of artists of the application.

It will be displayed on the Credits page.

Each name may contain email addresses and URLs, see the introduction for more
details.

See also:

* [property@AboutDialog:developers]
* [property@AboutDialog:designers]
* [property@AboutDialog:documenters]
* [property@AboutDialog:translator-credits]
* [method@AboutDialog.add_credit_section]
* [method@AboutDialog.add_acknowledgement_section]</doc>
        <source-position filename="src/adw-about-dialog.h" line="126"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2946">an about dialog</doc>
            <type name="AboutDialog" c:type="AdwAboutDialog*"/>
          </instance-parameter>
          <parameter name="artists"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2947">the list of artists</doc>
            <array c:type="const char**">
              <type name="utf8" c:type="char*"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <method name="set_comments"
              c:identifier="adw_about_dialog_set_comments"
              glib:set-property="comments"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="2498">Sets the comments about the application.

Comments will be shown on the Details page, above links.

Unlike [property@Gtk.AboutDialog:comments], this string can be long and
detailed. It can also contain links and Pango markup.</doc>
        <source-position filename="src/adw-about-dialog.h" line="73"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2500">an about dialog</doc>
            <type name="AboutDialog" c:type="AdwAboutDialog*"/>
          </instance-parameter>
          <parameter name="comments" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2501">the comments</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_copyright"
              c:identifier="adw_about_dialog_set_copyright"
              glib:set-property="copyright"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="3204">Sets the copyright information for @self.

This should be a short string of one or two lines, for example:
`© 2022 Example`.

The copyright information will be displayed on the Legal page, before the
application license.

[method@AboutDialog.add_legal_section] can be used to add copyright
information for the application dependencies or other components.</doc>
        <source-position filename="src/adw-about-dialog.h" line="154"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="3206">an about dialog</doc>
            <type name="AboutDialog" c:type="AdwAboutDialog*"/>
          </instance-parameter>
          <parameter name="copyright" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="3207">the copyright information</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_debug_info"
              c:identifier="adw_about_dialog_set_debug_info"
              glib:set-property="debug-info"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="2731">Sets the debug information for @self.

Debug information will be shown on the Troubleshooting page. It's intended
to be attached to issue reports when reporting issues against the
application.

`AdwAboutDialog` provides a quick way to save debug information to a file.
When saving, [property@AboutDialog:debug-info-filename] would be used as
the suggested filename.

Debug information cannot contain markup or links.</doc>
        <source-position filename="src/adw-about-dialog.h" line="102"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2733">an about dialog</doc>
            <type name="AboutDialog" c:type="AdwAboutDialog*"/>
          </instance-parameter>
          <parameter name="debug_info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2734">the debug information</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_debug_info_filename"
              c:identifier="adw_about_dialog_set_debug_info_filename"
              glib:set-property="debug-info-filename"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="2783">Sets the debug information filename for @self.

It will be used as the suggested filename when saving debug information to a
file.

See [property@AboutDialog:debug-info].</doc>
        <source-position filename="src/adw-about-dialog.h" line="108"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2785">an about dialog</doc>
            <type name="AboutDialog" c:type="AdwAboutDialog*"/>
          </instance-parameter>
          <parameter name="filename" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2786">the debug info filename</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_designers"
              c:identifier="adw_about_dialog_set_designers"
              glib:set-property="designers"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="2886">Sets the list of designers of the application.

It will be displayed on the Credits page.

Each name may contain email addresses and URLs, see the introduction for more
details.

See also:

* [property@AboutDialog:developers]
* [property@AboutDialog:artists]
* [property@AboutDialog:documenters]
* [property@AboutDialog:translator-credits]
* [method@AboutDialog.add_credit_section]
* [method@AboutDialog.add_acknowledgement_section]</doc>
        <source-position filename="src/adw-about-dialog.h" line="120"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2888">an about dialog</doc>
            <type name="AboutDialog" c:type="AdwAboutDialog*"/>
          </instance-parameter>
          <parameter name="designers"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2889">the list of designers</doc>
            <array c:type="const char**">
              <type name="utf8" c:type="char*"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <method name="set_developer_name"
              c:identifier="adw_about_dialog_set_developer_name"
              glib:set-property="developer-name"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="2271">Sets the developer name for @self.

The developer name is displayed on the main page, under the application name.

If the application is developed by multiple people, the developer name can be
set to values like "AppName team", "AppName developers" or
"The AppName project", and the individual contributors can be listed on the
Credits page, with [property@AboutDialog:developers] and related properties.</doc>
        <source-position filename="src/adw-about-dialog.h" line="49"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2273">an about dialog</doc>
            <type name="AboutDialog" c:type="AdwAboutDialog*"/>
          </instance-parameter>
          <parameter name="developer_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2274">the developer name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_developers"
              c:identifier="adw_about_dialog_set_developers"
              glib:set-property="developers"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="2828">Sets the list of developers of the application.

It will be displayed on the Credits page.

Each name may contain email addresses and URLs, see the introduction for more
details.

See also:

* [property@AboutDialog:designers]
* [property@AboutDialog:artists]
* [property@AboutDialog:documenters]
* [property@AboutDialog:translator-credits]
* [method@AboutDialog.add_credit_section]
* [method@AboutDialog.add_acknowledgement_section]</doc>
        <source-position filename="src/adw-about-dialog.h" line="114"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2830">an about dialog</doc>
            <type name="AboutDialog" c:type="AdwAboutDialog*"/>
          </instance-parameter>
          <parameter name="developers"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2831">the list of developers</doc>
            <array c:type="const char**">
              <type name="utf8" c:type="char*"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <method name="set_documenters"
              c:identifier="adw_about_dialog_set_documenters"
              glib:set-property="documenters"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="3002">Sets the list of documenters of the application.

It will be displayed on the Credits page.

Each name may contain email addresses and URLs, see the introduction for more
details.

See also:

* [property@AboutDialog:developers]
* [property@AboutDialog:designers]
* [property@AboutDialog:artists]
* [property@AboutDialog:translator-credits]
* [method@AboutDialog.add_credit_section]
* [method@AboutDialog.add_acknowledgement_section]</doc>
        <source-position filename="src/adw-about-dialog.h" line="132"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="3004">an about dialog</doc>
            <type name="AboutDialog" c:type="AdwAboutDialog*"/>
          </instance-parameter>
          <parameter name="documenters"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="3005">the list of documenters</doc>
            <array c:type="const char**">
              <type name="utf8" c:type="char*"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <method name="set_issue_url"
              c:identifier="adw_about_dialog_set_issue_url"
              glib:set-property="issue-url"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="2636">Sets the issue tracker URL for @self.

The issue tracker link is displayed on the main page.</doc>
        <source-position filename="src/adw-about-dialog.h" line="91"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2638">an about dialog</doc>
            <type name="AboutDialog" c:type="AdwAboutDialog*"/>
          </instance-parameter>
          <parameter name="issue_url" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2639">the issue tracker URL</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_license"
              c:identifier="adw_about_dialog_set_license"
              glib:set-property="license"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="3319">Sets the license for @self.

This can be used to set a custom text for the license if it can't be set via
[property@AboutDialog:license-type].

When set, [property@AboutDialog:license-type] will be set to
`GTK_LICENSE_CUSTOM`.

The license text will be displayed on the Legal page, below the copyright
information.

License text can contain Pango markup and links.

[method@AboutDialog.add_legal_section] can be used to add license information
for the application dependencies or other components.</doc>
        <source-position filename="src/adw-about-dialog.h" line="166"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="3321">an about dialog</doc>
            <type name="AboutDialog" c:type="AdwAboutDialog*"/>
          </instance-parameter>
          <parameter name="license" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="3322">the license</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_license_type"
              c:identifier="adw_about_dialog_set_license_type"
              glib:set-property="license-type"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="3255">Sets the license for @self from a list of known licenses.

If the application's license is not in the list,
[property@AboutDialog:license] can be used instead. The license type will be
automatically set to `GTK_LICENSE_CUSTOM` in that case.

If @license_type is `GTK_LICENSE_UNKNOWN`, no information will be displayed.

If @license_type is different from `GTK_LICENSE_CUSTOM`.
[property@AboutDialog:license] will be cleared out.

The license description will be displayed on the Legal page, below the
copyright information.

[method@AboutDialog.add_legal_section] can be used to add license information
for the application dependencies or other components.</doc>
        <source-position filename="src/adw-about-dialog.h" line="160"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="3257">an about dialog</doc>
            <type name="AboutDialog" c:type="AdwAboutDialog*"/>
          </instance-parameter>
          <parameter name="license_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="3258">the license type</doc>
            <type name="Gtk.License" c:type="GtkLicense"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_release_notes"
              c:identifier="adw_about_dialog_set_release_notes"
              glib:set-property="release-notes"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="2432">Sets the release notes for @self.

Release notes are displayed on the the What's New page.

Release notes are formatted the same way as
[AppStream descriptions](https://freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-description).

The supported formatting options are:

* Paragraph (`&lt;p&gt;`)
* Ordered list (`&lt;ol&gt;`), with list items (`&lt;li&gt;`)
* Unordered list (`&lt;ul&gt;`), with list items (`&lt;li&gt;`)

Within paragraphs and list items, emphasis (`&lt;em&gt;`) and inline code
(`&lt;code&gt;`) text styles are supported. The emphasis is rendered in italic,
while inline code is shown in a monospaced font.

Any text outside paragraphs or list items is ignored.

Nested lists are not supported.

`AdwAboutDialog` displays the version above the release notes. If set, the
[property@AboutDialog:release-notes-version] of the property will be used
as the version; otherwise, [property@AboutDialog:version] is used.</doc>
        <source-position filename="src/adw-about-dialog.h" line="67"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2434">an about dialog</doc>
            <type name="AboutDialog" c:type="AdwAboutDialog*"/>
          </instance-parameter>
          <parameter name="release_notes" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2435">the release notes</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_release_notes_version"
              c:identifier="adw_about_dialog_set_release_notes_version"
              glib:set-property="release-notes-version"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="2378">Sets the version described by the application's release notes.

The release notes version is displayed on the What's New page, above the
release notes.

If not set, [property@AboutDialog:version] will be used instead.

For example, an application with the current version 2.0.2 might want to
keep the release notes from 2.0.0, and set the release notes version
accordingly.

See [property@AboutDialog:release-notes].</doc>
        <source-position filename="src/adw-about-dialog.h" line="61"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2380">an about dialog</doc>
            <type name="AboutDialog" c:type="AdwAboutDialog*"/>
          </instance-parameter>
          <parameter name="version" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2381">the release notes version</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_support_url"
              c:identifier="adw_about_dialog_set_support_url"
              glib:set-property="support-url"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="2592">Sets the URL of the support page for @self.

The support page link is displayed on the main page.</doc>
        <source-position filename="src/adw-about-dialog.h" line="85"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2594">an about dialog</doc>
            <type name="AboutDialog" c:type="AdwAboutDialog*"/>
          </instance-parameter>
          <parameter name="support_url" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2595">the support page URL</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_translator_credits"
              c:identifier="adw_about_dialog_set_translator_credits"
              glib:set-property="translator-credits"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="3060">Sets the translator credits string.

It will be displayed on the Credits page.

This string should be `"translator-credits"` or `"translator_credits"` and
should be marked as translatable.

The string may contain email addresses and URLs, see the introduction for
more details. When there is more than one translator, they must be
separated by a newline in the same string.

See also:

* [property@AboutDialog:developers]
* [property@AboutDialog:designers]
* [property@AboutDialog:artists]
* [property@AboutDialog:documenters]
* [method@AboutDialog.add_credit_section]
* [method@AboutDialog.add_acknowledgement_section]</doc>
        <source-position filename="src/adw-about-dialog.h" line="138"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="3062">an about dialog</doc>
            <type name="AboutDialog" c:type="AdwAboutDialog*"/>
          </instance-parameter>
          <parameter name="translator_credits" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="3063">the translator credits</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_version"
              c:identifier="adw_about_dialog_set_version"
              glib:set-property="version"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="2331">Sets the version for @self.

The version is displayed on the main page.

If [property@AboutDialog:release-notes-version] is not set, the version will
also be displayed above the release notes on the What's New page.</doc>
        <source-position filename="src/adw-about-dialog.h" line="55"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2333">an about dialog</doc>
            <type name="AboutDialog" c:type="AdwAboutDialog*"/>
          </instance-parameter>
          <parameter name="version" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2334">the version</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_website"
              c:identifier="adw_about_dialog_set_website"
              glib:set-property="website"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="2545">Sets the application website URL for @self.

Website is displayed on the Details page, below comments, or on the main page
if the Details page doesn't have any other content.

Applications can add other links below, see [method@AboutDialog.add_link].</doc>
        <source-position filename="src/adw-about-dialog.h" line="79"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2547">an about dialog</doc>
            <type name="AboutDialog" c:type="AdwAboutDialog*"/>
          </instance-parameter>
          <parameter name="website" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="2548">the website URL</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <property name="application-icon"
                version="1.5"
                writable="1"
                transfer-ownership="none"
                setter="set_application_icon"
                getter="get_application_icon">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="1395">The name of the application icon.

The icon is displayed at the top of the main page.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="application-name"
                version="1.5"
                writable="1"
                transfer-ownership="none"
                setter="set_application_name"
                getter="get_application_name">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="1409">The name of the application.

The name is displayed at the top of the main page.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="artists"
                version="1.5"
                writable="1"
                transfer-ownership="none"
                setter="set_artists"
                getter="get_artists">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="1672">The list of artists of the application.

It will be displayed on the Credits page.

Each name may contain email addresses and URLs, see the introduction for
more details.

See also:

* [property@AboutDialog:developers]
* [property@AboutDialog:designers]
* [property@AboutDialog:documenters]
* [property@AboutDialog:translator-credits]
* [method@AboutDialog.add_credit_section]
* [method@AboutDialog.add_acknowledgement_section]</doc>
        <array>
          <type name="utf8"/>
        </array>
      </property>
      <property name="comments"
                version="1.5"
                writable="1"
                transfer-ownership="none"
                setter="set_comments"
                getter="get_comments">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="1519">The comments about the application.

Comments will be shown on the Details page, above links.

Unlike [property@Gtk.AboutDialog:comments], this string can be long and
detailed. It can also contain links and Pango markup.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="copyright"
                version="1.5"
                writable="1"
                transfer-ownership="none"
                setter="set_copyright"
                getter="get_copyright">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="1753">The copyright information.

This should be a short string of one or two lines, for example:
`© 2022 Example`.

The copyright information will be displayed on the Legal page, above the
application license.

[method@AboutDialog.add_legal_section] can be used to add copyright
information for the application dependencies or other components.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="debug-info"
                version="1.5"
                writable="1"
                transfer-ownership="none"
                setter="set_debug_info"
                getter="get_debug_info">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="1581">The debug information.

Debug information will be shown on the Troubleshooting page. It's intended
to be attached to issue reports when reporting issues against the
application.

`AdwAboutDialog` provides a quick way to save debug information to a file.
When saving, [property@AboutDialog:debug-info-filename] would be used as
the suggested filename.

Debug information cannot contain markup or links.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="debug-info-filename"
                version="1.5"
                writable="1"
                transfer-ownership="none"
                setter="set_debug_info_filename"
                getter="get_debug_info_filename">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="1603">The debug information filename.

It will be used as the suggested filename when saving debug information to
a file.

See [property@AboutDialog:debug-info].</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="designers"
                version="1.5"
                writable="1"
                transfer-ownership="none"
                setter="set_designers"
                getter="get_designers">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="1646">The list of designers of the application.

It will be displayed on the Credits page.

Each name may contain email addresses and URLs, see the introduction for
more details.

See also:

* [property@AboutDialog:developers]
* [property@AboutDialog:artists]
* [property@AboutDialog:documenters]
* [property@AboutDialog:translator-credits]
* [method@AboutDialog.add_credit_section]
* [method@AboutDialog.add_acknowledgement_section]</doc>
        <array>
          <type name="utf8"/>
        </array>
      </property>
      <property name="developer-name"
                version="1.5"
                writable="1"
                transfer-ownership="none"
                setter="set_developer_name"
                getter="get_developer_name">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="1423">The developer name.

The developer name is displayed on the main page, under the application
name.

If the application is developed by multiple people, the developer name can
be set to values like "AppName team", "AppName developers" or
"The AppName project", and the individual contributors can be listed on the
Credits page, with [property@AboutDialog:developers] and related
properties.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="developers"
                version="1.5"
                writable="1"
                transfer-ownership="none"
                setter="set_developers"
                getter="get_developers">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="1620">The list of developers of the application.

It will be displayed on the Credits page.

Each name may contain email addresses and URLs, see the introduction for
more details.

See also:

* [property@AboutDialog:designers]
* [property@AboutDialog:artists]
* [property@AboutDialog:documenters]
* [property@AboutDialog:translator-credits]
* [method@AboutDialog.add_credit_section]
* [method@AboutDialog.add_acknowledgement_section]</doc>
        <array>
          <type name="utf8"/>
        </array>
      </property>
      <property name="documenters"
                version="1.5"
                writable="1"
                transfer-ownership="none"
                setter="set_documenters"
                getter="get_documenters">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="1698">The list of documenters of the application.

It will be displayed on the Credits page.

Each name may contain email addresses and URLs, see the introduction for
more details.

See also:

* [property@AboutDialog:developers]
* [property@AboutDialog:designers]
* [property@AboutDialog:artists]
* [property@AboutDialog:translator-credits]
* [method@AboutDialog.add_credit_section]
* [method@AboutDialog.add_acknowledgement_section]</doc>
        <array>
          <type name="utf8"/>
        </array>
      </property>
      <property name="issue-url"
                version="1.5"
                writable="1"
                transfer-ownership="none"
                setter="set_issue_url"
                getter="get_issue_url">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="1567">The URL for the application's issue tracker.

The issue tracker link is displayed on the main page.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="license"
                version="1.5"
                writable="1"
                transfer-ownership="none"
                setter="set_license"
                getter="get_license">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="1804">The license text.

This can be used to set a custom text for the license if it can't be set
via [property@AboutDialog:license-type].

When set, [property@AboutDialog:license-type] will be set to
`GTK_LICENSE_CUSTOM`.

The license text will be displayed on the Legal page, below the copyright
information.

License text can contain Pango markup and links.

[method@AboutDialog.add_legal_section] can be used to add license
information for the application dependencies or other components.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="license-type"
                version="1.5"
                writable="1"
                transfer-ownership="none"
                setter="set_license_type"
                getter="get_license_type"
                default-value="GTK_LICENSE_UNKNOWN">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="1774">The license type.

Allows to set the application's license froma list of known licenses.

If the application's license is not in the list,
[property@AboutDialog:license] can be used instead. The license type will
be automatically set to `GTK_LICENSE_CUSTOM` in that case.

If set to `GTK_LICENSE_UNKNOWN`, no information will be displayed.

If the license type is different from `GTK_LICENSE_CUSTOM`.
[property@AboutDialog:license] will be cleared out.

The license description will be displayed on the Legal page, below the
copyright information.

[method@AboutDialog.add_legal_section] can be used to add license
information for the application dependencies or other components.</doc>
        <type name="Gtk.License"/>
      </property>
      <property name="release-notes"
                version="1.5"
                writable="1"
                transfer-ownership="none"
                setter="set_release_notes"
                getter="get_release_notes">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="1484">The release notes of the application.

Release notes are displayed on the the What's New page.

Release notes are formatted the same way as
[AppStream descriptions](https://freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-description).

The supported formatting options are:

* Paragraph (`&lt;p&gt;`)
* Ordered list (`&lt;ol&gt;`), with list items (`&lt;li&gt;`)
* Unordered list (`&lt;ul&gt;`), with list items (`&lt;li&gt;`)

Within paragraphs and list items, emphasis (`&lt;em&gt;`) and inline code
(`&lt;code&gt;`) text styles are supported. The emphasis is rendered in italic,
while inline code is shown in a monospaced font.

Any text outside paragraphs or list items is ignored.

Nested lists are not supported.

`AdwAboutDialog` displays the version above the release notes. If set, the
[property@AboutDialog:release-notes-version] of the property will be used
as the version; otherwise, [property@AboutDialog:version] is used.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="release-notes-version"
                version="1.5"
                writable="1"
                transfer-ownership="none"
                setter="set_release_notes_version"
                getter="get_release_notes_version">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="1461">The version described by the application's release notes.

The release notes version is displayed on the What's New page, above the
release notes.

If not set, [property@AboutDialog:version] will be used instead.

For example, an application with the current version 2.0.2 might want to
keep the release notes from 2.0.0, and set the release notes version
accordingly.

See [property@AboutDialog:release-notes].</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="support-url"
                version="1.5"
                writable="1"
                transfer-ownership="none"
                setter="set_support_url"
                getter="get_support_url">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="1553">The URL of the application's support page.

The support page link is displayed on the main page.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="translator-credits"
                version="1.5"
                writable="1"
                transfer-ownership="none"
                setter="set_translator_credits"
                getter="get_translator_credits">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="1724">The translator credits string.

It will be displayed on the Credits page.

This string should be `"translator-credits"` or `"translator_credits"` and
should be marked as translatable.

The string may contain email addresses and URLs, see the introduction for
more details.

See also:

* [property@AboutDialog:developers]
* [property@AboutDialog:designers]
* [property@AboutDialog:artists]
* [property@AboutDialog:documenters]
* [method@AboutDialog.add_credit_section]
* [method@AboutDialog.add_acknowledgement_section]</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="version"
                version="1.5"
                writable="1"
                transfer-ownership="none"
                setter="set_version"
                getter="get_version">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="1444">The version of the application.

The version is displayed on the main page.

If [property@AboutDialog:release-notes-version] is not set, the version
will also be displayed above the release notes on the What's New page.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="website"
                version="1.5"
                writable="1"
                transfer-ownership="none"
                setter="set_website"
                getter="get_website">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="1536">The URL of the application's website.

Website is displayed on the Details page, below comments, or on the main
page if the Details page doesn't have any other content.

Applications can add other links below, see [method@AboutDialog.add_link].</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <glib:signal name="activate-link" when="last" version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-about-dialog.c"
             line="1832">Emitted when a URL is activated.

Applications may connect to it to override the default behavior, which is
to call [func@Gtk.show_uri].</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-dialog.c"
               line="1842">`TRUE` if the link has been activated</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-dialog.c"
                 line="1835">the URI to activate</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="AboutDialogClass"
            c:type="AdwAboutDialogClass"
            glib:is-gtype-struct-for="AboutDialog">
      <source-position filename="src/adw-about-dialog.h" line="25"/>
      <field name="parent_class">
        <type name="DialogClass" c:type="AdwDialogClass"/>
      </field>
    </record>
    <class name="AboutWindow"
           c:symbol-prefix="about_window"
           c:type="AdwAboutWindow"
           version="1.2"
           deprecated="1"
           deprecated-version="1.6"
           parent="Window"
           final="1"
           glib:type-name="AdwAboutWindow"
           glib:get-type="adw_about_window_get_type"
           glib:type-struct="AboutWindowClass">
      <doc xml:space="preserve"
           filename="src/adw-about-window.c"
           line="22">A window showing information about the application.

&lt;picture&gt;
  &lt;source srcset="about-window-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="about-window.png" alt="about-window"&gt;
&lt;/picture&gt;

An about window is typically opened when the user activates the `About …`
item in the application's primary menu. All parts of the window are optional.

## Main page

`AdwAboutWindow` prominently displays the application's icon, name, developer
name and version. They can be set with the [property@AboutWindow:application-icon],
[property@AboutWindow:application-name],
[property@AboutWindow:developer-name] and [property@AboutWindow:version]
respectively.

## What's New

`AdwAboutWindow` provides a way for applications to display their release
notes, set with the [property@AboutWindow:release-notes] property.

Release notes are formatted the same way as
[AppStream descriptions](https://freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-description).

The supported formatting options are:

* Paragraph (`&lt;p&gt;`)
* Ordered list (`&lt;ol&gt;`), with list items (`&lt;li&gt;`)
* Unordered list (`&lt;ul&gt;`), with list items (`&lt;li&gt;`)

Within paragraphs and list items, emphasis (`&lt;em&gt;`) and inline code
(`&lt;code&gt;`) text styles are supported. The emphasis is rendered in italic,
while inline code is shown in a monospaced font.

Any text outside paragraphs or list items is ignored.

Nested lists are not supported.

Only one version can be shown at a time. By default, the displayed version
number matches [property@AboutWindow:version]. Use
[property@AboutWindow:release-notes-version] to override it.

## Details

The Details page displays the application comments and links.

The comments can be set with the [property@AboutWindow:comments] property.
Unlike [property@Gtk.AboutDialog:comments], this string can be long and
detailed. It can also contain links and Pango markup.

To set the application website, use [property@AboutWindow:website].
To add extra links below the website, use [method@AboutWindow.add_link].

If the Details page doesn't have any other content besides website, the
website will be displayed on the main page instead.

## Troubleshooting

`AdwAboutWindow` displays the following two links on the main page:

* Support Questions, set with the [property@AboutWindow:support-url] property,
* Report an Issue, set with the [property@AboutWindow:issue-url] property.

Additionally, applications can provide debugging information. It will be
shown separately on the Troubleshooting page. Use the
[property@AboutWindow:debug-info] property to specify it.

It's intended to be attached to issue reports when reporting issues against
the application. As such, it cannot contain markup or links.

`AdwAboutWindow` provides a quick way to save debug information to a file.
When saving, [property@AboutWindow:debug-info-filename] would be used as
the suggested filename.

## Credits and Acknowledgements

The Credits page has the following default sections:

* Developers, set with the [property@AboutWindow:developers] property,
* Designers, set with the [property@AboutWindow:designers] property,
* Artists, set with the [property@AboutWindow:artists] property,
* Documenters, set with the [property@AboutWindow:documenters] property,
* Translators, set with the [property@AboutWindow:translator-credits] property.

When setting translator credits, use the strings `"translator-credits"` or
`"translator_credits"` and mark them as translatable.

The default sections that don't contain any names won't be displayed.

The Credits page can also contain an arbitrary number of extra sections below
the default ones. Use [method@AboutWindow.add_credit_section] to add them.

The Acknowledgements page can be used to acknowledge additional people and
organizations for their non-development contributions. Use
[method@AboutWindow.add_acknowledgement_section] to add sections to it. For
example, it can be used to list backers in a crowdfunded project or to give
special thanks.

Each of the people or organizations can have an email address or a website
specified. To add a email address, use a string like
`Edgar Allan Poe &lt;edgar@poe.com&gt;`. To specify a website with a title, use a
string like `The GNOME Project https://www.gnome.org`:

&lt;picture&gt;
  &lt;source srcset="about-window-credits-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="about-window-credits.png" alt="about-window-credits"&gt;
&lt;/picture&gt;

## Legal

The Legal page displays the copyright and licensing information for the
application and other modules.

The copyright string is set with the [property@AboutWindow:copyright]
property and should be a short string of one or two lines, for example:
`© 2022 Example`.

Licensing information can be quickly set from a list of known licenses with
the [property@AboutWindow:license-type] property. If the application's
license is not in the list, [property@AboutWindow:license] can be used
instead.

To add information about other modules, such as application dependencies or
data, use [method@AboutWindow.add_legal_section].

## Constructing

To make constructing an `AdwAboutWindow` as convenient as possible, you can
use the function [func@show_about_window] which constructs and shows a
window.

```c
static void
show_about (GtkApplication *app)
{
  const char *developers[] = {
    "Angela Avery",
    NULL
  };

  const char *designers[] = {
    "GNOME Design Team",
    NULL
  };

  adw_show_about_window (gtk_application_get_active_window (app),
                         "application-name", _("Example"),
                         "application-icon", "org.example.App",
                         "version", "1.2.3",
                         "copyright", "© 2022 Angela Avery",
                         "issue-url", "https://gitlab.gnome.org/example/example/-/issues/",
                         "license-type", GTK_LICENSE_GPL_3_0,
                         "developers", developers,
                         "designers", designers,
                         "translator-credits", _("translator-credits"),
                         NULL);
}
```

## CSS nodes

`AdwAboutWindow` has a main CSS node with the name `window` and the
style class `.about`.</doc>
      <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
      <source-position filename="src/adw-about-window.h" line="23"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <implements name="Gtk.Native"/>
      <implements name="Gtk.Root"/>
      <implements name="Gtk.ShortcutManager"/>
      <constructor name="new"
                   c:identifier="adw_about_window_new"
                   version="1.2"
                   deprecated="1"
                   deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="1978">Creates a new `AdwAboutWindow`.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <source-position filename="src/adw-about-window.h" line="26"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-window.c"
               line="1983">the newly created `AdwAboutWindow`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_appdata"
                   c:identifier="adw_about_window_new_from_appdata"
                   version="1.4"
                   deprecated="1"
                   deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="1994">Creates a new `AdwAboutWindow` using AppStream metadata.

This automatically sets the following properties with the following AppStream
values:

* [property@AboutWindow:application-icon] is set from the `&lt;id&gt;`
* [property@AboutWindow:application-name] is set from the `&lt;name&gt;`
* [property@AboutWindow:developer-name] is set from the `&lt;name&gt;` within
     `&lt;developer&gt;`
* [property@AboutWindow:version] is set from the version of the latest release
* [property@AboutWindow:website] is set from the `&lt;url type="homepage"&gt;`
* [property@AboutWindow:support-url] is set from the `&lt;url type="help"&gt;`
* [property@AboutWindow:issue-url] is set from the `&lt;url type="bugtracker"&gt;`
* [property@AboutWindow:license-type] is set from the `&lt;project_license&gt;`.
    If the license type retrieved from AppStream is not listed in
    [enum@Gtk.License], it will be set to `GTK_LICENCE_CUSTOM`.

If @release_notes_version is not `NULL`,
[property@AboutWindow:release-notes-version] is set to match it, while
[property@AboutWindow:release-notes] is set from the AppStream release
description for that version.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <source-position filename="src/adw-about-window.h" line="29"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-window.c"
               line="2021">the newly created `AdwAboutWindow`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="resource_path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="1996">The resource to use</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="release_notes_version"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="1997">The version to retrieve release notes for</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="add_acknowledgement_section"
              c:identifier="adw_about_window_add_acknowledgement_section"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="3185">Adds a section to the Acknowledgements page.

This can be used to acknowledge additional people and organizations for their
non-development contributions - for example, backers in a crowdfunded
project.

Each name may contain email addresses and URLs, see the introduction for more
details.

See also:

* [property@AboutWindow:developers]
* [property@AboutWindow:designers]
* [property@AboutWindow:artists]
* [property@AboutWindow:documenters]
* [property@AboutWindow:translator-credits]
* [method@AboutWindow.add_credit_section]</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <source-position filename="src/adw-about-window.h" line="145"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="3187">an about window</doc>
            <type name="AboutWindow" c:type="AdwAboutWindow*"/>
          </instance-parameter>
          <parameter name="name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="3188">the section name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="people" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="3189">the list of names</doc>
            <array c:type="const char**">
              <type name="utf8" c:type="char*"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <method name="add_credit_section"
              c:identifier="adw_about_window_add_credit_section"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="3141">Adds an extra section to the Credits page.

Extra sections are displayed below the standard categories.

Each name may contain email addresses and URLs, see the introduction for more
details.

See also:

* [property@AboutWindow:developers]
* [property@AboutWindow:designers]
* [property@AboutWindow:artists]
* [property@AboutWindow:documenters]
* [property@AboutWindow:translator-credits]
* [method@AboutWindow.add_acknowledgement_section]</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <source-position filename="src/adw-about-window.h" line="140"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="3143">an about window</doc>
            <type name="AboutWindow" c:type="AdwAboutWindow*"/>
          </instance-parameter>
          <parameter name="name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="3144">the section name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="people" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="3145">the list of names</doc>
            <array c:type="const char**">
              <type name="utf8" c:type="char*"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <method name="add_legal_section"
              c:identifier="adw_about_window_add_legal_section"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="3412">Adds an extra section to the Legal page.

Extra sections will be displayed below the application's own information.

The parameters @copyright, @license_type and @license will be used to present
the it the same way as [property@AboutWindow:copyright],
[property@AboutWindow:license-type] and [property@AboutWindow:license] are
for the application's own information.

See those properties for more details.

This can be useful to attribute the application dependencies or data.

Examples:

```c
adw_about_window_add_legal_section (ADW_ABOUT_WINDOW (about),
                                    _("Copyright and a known license"),
                                    "© 2022 Example",
                                    GTK_LICENSE_LGPL_2_1,
                                    NULL);

adw_about_window_add_legal_section (ADW_ABOUT_WINDOW (about),
                                    _("Copyright and custom license"),
                                    "© 2022 Example",
                                    GTK_LICENSE_CUSTOM,
                                    "Custom license text");

adw_about_window_add_legal_section (ADW_ABOUT_WINDOW (about),
                                    _("Copyright only"),
                                    "© 2022 Example",
                                    GTK_LICENSE_UNKNOWN,
                                    NULL);

adw_about_window_add_legal_section (ADW_ABOUT_WINDOW (about),
                                    _("Custom license only"),
                                    NULL,
                                    GTK_LICENSE_CUSTOM,
                                    "Something completely custom here.");
```</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <source-position filename="src/adw-about-window.h" line="168"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="3414">an about window</doc>
            <type name="AboutWindow" c:type="AdwAboutWindow*"/>
          </instance-parameter>
          <parameter name="title" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="3415">the name of the section</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="copyright"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="3416">a copyright string</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="license_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="3417">the type of license</doc>
            <type name="Gtk.License" c:type="GtkLicense"/>
          </parameter>
          <parameter name="license"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="3418">custom license information</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_link"
              c:identifier="adw_about_window_add_link"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="2686">Adds an extra link to the Details page.

Extra links are displayed under the comment and website.

Underlines in @title will be interpreted as indicating a mnemonic.

See [property@AboutWindow:website].</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <source-position filename="src/adw-about-window.h" line="93"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="2688">an about window</doc>
            <type name="AboutWindow" c:type="AdwAboutWindow*"/>
          </instance-parameter>
          <parameter name="title" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="2689">the link title</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="url" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="2690">the link URL</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_application_icon"
              c:identifier="adw_about_window_get_application_icon"
              glib:get-property="application-icon"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="2177">Gets the name of the application icon for @self.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <source-position filename="src/adw-about-window.h" line="39"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-window.c"
               line="2183">the application icon name</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="2179">an about window</doc>
            <type name="AboutWindow" c:type="AdwAboutWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_application_name"
              c:identifier="adw_about_window_get_application_name"
              glib:get-property="application-name"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="2224">Gets the application name for @self.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <source-position filename="src/adw-about-window.h" line="33"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-window.c"
               line="2230">the application name</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="2226">an about window</doc>
            <type name="AboutWindow" c:type="AdwAboutWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_artists"
              c:identifier="adw_about_window_get_artists"
              glib:get-property="artists"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="2959">Gets the list of artists of the application.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <source-position filename="src/adw-about-window.h" line="122"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-about-window.c"
               line="2965">The list of artists</doc>
          <array c:type="const char* const*">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="2961">an about window</doc>
            <type name="AboutWindow" c:type="AdwAboutWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_comments"
              c:identifier="adw_about_window_get_comments"
              glib:get-property="comments"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="2496">Gets the comments about the application.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <source-position filename="src/adw-about-window.h" line="69"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-window.c"
               line="2502">the comments</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="2498">an about window</doc>
            <type name="AboutWindow" c:type="AdwAboutWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_copyright"
              c:identifier="adw_about_window_get_copyright"
              glib:get-property="copyright"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="3227">Gets the copyright information for @self.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <source-position filename="src/adw-about-window.h" line="150"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-window.c"
               line="3233">the copyright information</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="3229">an about window</doc>
            <type name="AboutWindow" c:type="AdwAboutWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_debug_info"
              c:identifier="adw_about_window_get_debug_info"
              glib:get-property="debug-info"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="2738">Gets the debug information for @self.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <source-position filename="src/adw-about-window.h" line="98"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-window.c"
               line="2744">the debug information</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="2740">an about window</doc>
            <type name="AboutWindow" c:type="AdwAboutWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_debug_info_filename"
              c:identifier="adw_about_window_get_debug_info_filename"
              glib:get-property="debug-info-filename"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="2792">Gets the debug information filename for @self.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <source-position filename="src/adw-about-window.h" line="104"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-window.c"
               line="2798">the debug information filename</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="2794">an about window</doc>
            <type name="AboutWindow" c:type="AdwAboutWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_designers"
              c:identifier="adw_about_window_get_designers"
              glib:get-property="designers"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="2899">Gets the list of designers of the application.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <source-position filename="src/adw-about-window.h" line="116"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-about-window.c"
               line="2905">The list of designers</doc>
          <array c:type="const char* const*">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="2901">an about window</doc>
            <type name="AboutWindow" c:type="AdwAboutWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_developer_name"
              c:identifier="adw_about_window_get_developer_name"
              glib:get-property="developer-name"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="2271">Gets the developer name for @self.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <source-position filename="src/adw-about-window.h" line="45"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-window.c"
               line="2277">the developer_name</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="2273">an about window</doc>
            <type name="AboutWindow" c:type="AdwAboutWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_developers"
              c:identifier="adw_about_window_get_developers"
              glib:get-property="developers"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="2839">Gets the list of developers of the application.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <source-position filename="src/adw-about-window.h" line="110"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-about-window.c"
               line="2845">The list of developers</doc>
          <array c:type="const char* const*">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="2841">an about window</doc>
            <type name="AboutWindow" c:type="AdwAboutWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_documenters"
              c:identifier="adw_about_window_get_documenters"
              glib:get-property="documenters"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="3019">Gets the list of documenters of the application.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <source-position filename="src/adw-about-window.h" line="128"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-about-window.c"
               line="3025">The list of documenters</doc>
          <array c:type="const char* const*">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="3021">an about window</doc>
            <type name="AboutWindow" c:type="AdwAboutWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_issue_url"
              c:identifier="adw_about_window_get_issue_url"
              glib:get-property="issue-url"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="2640">Gets the issue tracker URL for @self.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <source-position filename="src/adw-about-window.h" line="87"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-window.c"
               line="2646">the issue tracker URL</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="2642">an about window</doc>
            <type name="AboutWindow" c:type="AdwAboutWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_license"
              c:identifier="adw_about_window_get_license"
              glib:get-property="license"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="3346">Gets the license for @self.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <source-position filename="src/adw-about-window.h" line="162"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-window.c"
               line="3352">the license</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="3348">an about window</doc>
            <type name="AboutWindow" c:type="AdwAboutWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_license_type"
              c:identifier="adw_about_window_get_license_type"
              glib:get-property="license-type"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="3280">Gets the license type for @self.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <source-position filename="src/adw-about-window.h" line="156"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-window.c"
               line="3286">the license type</doc>
          <type name="Gtk.License" c:type="GtkLicense"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="3282">an about window</doc>
            <type name="AboutWindow" c:type="AdwAboutWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_release_notes"
              c:identifier="adw_about_window_get_release_notes"
              glib:get-property="release-notes"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="2428">Gets the release notes for @self.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <source-position filename="src/adw-about-window.h" line="63"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-window.c"
               line="2434">the release notes</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="2430">an about window</doc>
            <type name="AboutWindow" c:type="AdwAboutWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_release_notes_version"
              c:identifier="adw_about_window_get_release_notes_version"
              glib:get-property="release-notes-version"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="2372">Gets the version described by the application's release notes.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <source-position filename="src/adw-about-window.h" line="57"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-window.c"
               line="2378">the release notes version</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="2374">an about window</doc>
            <type name="AboutWindow" c:type="AdwAboutWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_support_url"
              c:identifier="adw_about_window_get_support_url"
              glib:get-property="support-url"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="2594">Gets the URL of the support page for @self.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <source-position filename="src/adw-about-window.h" line="81"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-window.c"
               line="2600">the support page URL</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="2596">an about window</doc>
            <type name="AboutWindow" c:type="AdwAboutWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_translator_credits"
              c:identifier="adw_about_window_get_translator_credits"
              glib:get-property="translator-credits"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="3079">Gets the translator credits string.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <source-position filename="src/adw-about-window.h" line="134"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-window.c"
               line="3085">The translator credits string</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="3081">an about window</doc>
            <type name="AboutWindow" c:type="AdwAboutWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_version"
              c:identifier="adw_about_window_get_version"
              glib:get-property="version"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="2323">Gets the version for @self.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <source-position filename="src/adw-about-window.h" line="51"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-window.c"
               line="2329">the version</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="2325">an about window</doc>
            <type name="AboutWindow" c:type="AdwAboutWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_website"
              c:identifier="adw_about_window_get_website"
              glib:get-property="website"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="2545">Gets the application website URL for @self.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <source-position filename="src/adw-about-window.h" line="75"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-window.c"
               line="2551">the website URL</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="2547">an about window</doc>
            <type name="AboutWindow" c:type="AdwAboutWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_application_icon"
              c:identifier="adw_about_window_set_application_icon"
              glib:set-property="application-icon"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="2196">Sets the name of the application icon for @self.

The icon is displayed at the top of the main page.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <source-position filename="src/adw-about-window.h" line="41"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="2198">an about window</doc>
            <type name="AboutWindow" c:type="AdwAboutWindow*"/>
          </instance-parameter>
          <parameter name="application_icon" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="2199">the application icon name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_application_name"
              c:identifier="adw_about_window_set_application_name"
              glib:set-property="application-name"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="2243">Sets the application name for @self.

The name is displayed at the top of the main page.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <source-position filename="src/adw-about-window.h" line="35"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="2245">an about window</doc>
            <type name="AboutWindow" c:type="AdwAboutWindow*"/>
          </instance-parameter>
          <parameter name="application_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="2246">the application name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_artists"
              c:identifier="adw_about_window_set_artists"
              glib:set-property="artists"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="2978">Sets the list of artists of the application.

It will be displayed on the Credits page.

Each name may contain email addresses and URLs, see the introduction for more
details.

See also:

* [property@AboutWindow:developers]
* [property@AboutWindow:designers]
* [property@AboutWindow:documenters]
* [property@AboutWindow:translator-credits]
* [method@AboutWindow.add_credit_section]
* [method@AboutWindow.add_acknowledgement_section]</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <source-position filename="src/adw-about-window.h" line="124"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="2980">an about window</doc>
            <type name="AboutWindow" c:type="AdwAboutWindow*"/>
          </instance-parameter>
          <parameter name="artists"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="2981">the list of artists</doc>
            <array c:type="const char**">
              <type name="utf8" c:type="char*"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <method name="set_comments"
              c:identifier="adw_about_window_set_comments"
              glib:set-property="comments"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="2515">Sets the comments about the application.

Comments will be shown on the Details page, above links.

Unlike [property@Gtk.AboutDialog:comments], this string can be long and
detailed. It can also contain links and Pango markup.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <source-position filename="src/adw-about-window.h" line="71"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="2517">an about window</doc>
            <type name="AboutWindow" c:type="AdwAboutWindow*"/>
          </instance-parameter>
          <parameter name="comments" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="2518">the comments</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_copyright"
              c:identifier="adw_about_window_set_copyright"
              glib:set-property="copyright"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="3246">Sets the copyright information for @self.

This should be a short string of one or two lines, for example:
`© 2022 Example`.

The copyright information will be displayed on the Legal page, before the
application license.

[method@AboutWindow.add_legal_section] can be used to add copyright
information for the application dependencies or other components.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <source-position filename="src/adw-about-window.h" line="152"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="3248">an about window</doc>
            <type name="AboutWindow" c:type="AdwAboutWindow*"/>
          </instance-parameter>
          <parameter name="copyright" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="3249">the copyright information</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_debug_info"
              c:identifier="adw_about_window_set_debug_info"
              glib:set-property="debug-info"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="2757">Sets the debug information for @self.

Debug information will be shown on the Troubleshooting page. It's intended
to be attached to issue reports when reporting issues against the
application.

`AdwAboutWindow` provides a quick way to save debug information to a file.
When saving, [property@AboutWindow:debug-info-filename] would be used as
the suggested filename.

Debug information cannot contain markup or links.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <source-position filename="src/adw-about-window.h" line="100"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="2759">an about window</doc>
            <type name="AboutWindow" c:type="AdwAboutWindow*"/>
          </instance-parameter>
          <parameter name="debug_info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="2760">the debug information</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_debug_info_filename"
              c:identifier="adw_about_window_set_debug_info_filename"
              glib:set-property="debug-info-filename"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="2811">Sets the debug information filename for @self.

It will be used as the suggested filename when saving debug information to a
file.

See [property@AboutWindow:debug-info].</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <source-position filename="src/adw-about-window.h" line="106"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="2813">an about window</doc>
            <type name="AboutWindow" c:type="AdwAboutWindow*"/>
          </instance-parameter>
          <parameter name="filename" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="2814">the debug info filename</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_designers"
              c:identifier="adw_about_window_set_designers"
              glib:set-property="designers"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="2918">Sets the list of designers of the application.

It will be displayed on the Credits page.

Each name may contain email addresses and URLs, see the introduction for more
details.

See also:

* [property@AboutWindow:developers]
* [property@AboutWindow:artists]
* [property@AboutWindow:documenters]
* [property@AboutWindow:translator-credits]
* [method@AboutWindow.add_credit_section]
* [method@AboutWindow.add_acknowledgement_section]</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <source-position filename="src/adw-about-window.h" line="118"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="2920">an about window</doc>
            <type name="AboutWindow" c:type="AdwAboutWindow*"/>
          </instance-parameter>
          <parameter name="designers"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="2921">the list of designers</doc>
            <array c:type="const char**">
              <type name="utf8" c:type="char*"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <method name="set_developer_name"
              c:identifier="adw_about_window_set_developer_name"
              glib:set-property="developer-name"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="2290">Sets the developer name for @self.

The developer name is displayed on the main page, under the application name.

If the application is developed by multiple people, the developer name can be
set to values like "AppName team", "AppName developers" or
"The AppName project", and the individual contributors can be listed on the
Credits page, with [property@AboutWindow:developers] and related properties.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <source-position filename="src/adw-about-window.h" line="47"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="2292">an about window</doc>
            <type name="AboutWindow" c:type="AdwAboutWindow*"/>
          </instance-parameter>
          <parameter name="developer_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="2293">the developer name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_developers"
              c:identifier="adw_about_window_set_developers"
              glib:set-property="developers"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="2858">Sets the list of developers of the application.

It will be displayed on the Credits page.

Each name may contain email addresses and URLs, see the introduction for more
details.

See also:

* [property@AboutWindow:designers]
* [property@AboutWindow:artists]
* [property@AboutWindow:documenters]
* [property@AboutWindow:translator-credits]
* [method@AboutWindow.add_credit_section]
* [method@AboutWindow.add_acknowledgement_section]</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <source-position filename="src/adw-about-window.h" line="112"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="2860">an about window</doc>
            <type name="AboutWindow" c:type="AdwAboutWindow*"/>
          </instance-parameter>
          <parameter name="developers"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="2861">the list of developers</doc>
            <array c:type="const char**">
              <type name="utf8" c:type="char*"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <method name="set_documenters"
              c:identifier="adw_about_window_set_documenters"
              glib:set-property="documenters"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="3038">Sets the list of documenters of the application.

It will be displayed on the Credits page.

Each name may contain email addresses and URLs, see the introduction for more
details.

See also:

* [property@AboutWindow:developers]
* [property@AboutWindow:designers]
* [property@AboutWindow:artists]
* [property@AboutWindow:translator-credits]
* [method@AboutWindow.add_credit_section]
* [method@AboutWindow.add_acknowledgement_section]</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <source-position filename="src/adw-about-window.h" line="130"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="3040">an about window</doc>
            <type name="AboutWindow" c:type="AdwAboutWindow*"/>
          </instance-parameter>
          <parameter name="documenters"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="3041">the list of documenters</doc>
            <array c:type="const char**">
              <type name="utf8" c:type="char*"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <method name="set_issue_url"
              c:identifier="adw_about_window_set_issue_url"
              glib:set-property="issue-url"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="2659">Sets the issue tracker URL for @self.

The issue tracker link is displayed on the main page.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <source-position filename="src/adw-about-window.h" line="89"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="2661">an about window</doc>
            <type name="AboutWindow" c:type="AdwAboutWindow*"/>
          </instance-parameter>
          <parameter name="issue_url" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="2662">the issue tracker URL</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_license"
              c:identifier="adw_about_window_set_license"
              glib:set-property="license"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="3365">Sets the license for @self.

This can be used to set a custom text for the license if it can't be set via
[property@AboutWindow:license-type].

When set, [property@AboutWindow:license-type] will be set to
`GTK_LICENSE_CUSTOM`.

The license text will be displayed on the Legal page, below the copyright
information.

License text can contain Pango markup and links.

[method@AboutWindow.add_legal_section] can be used to add license information
for the application dependencies or other components.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <source-position filename="src/adw-about-window.h" line="164"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="3367">an about window</doc>
            <type name="AboutWindow" c:type="AdwAboutWindow*"/>
          </instance-parameter>
          <parameter name="license" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="3368">the license</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_license_type"
              c:identifier="adw_about_window_set_license_type"
              glib:set-property="license-type"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="3299">Sets the license for @self from a list of known licenses.

If the application's license is not in the list,
[property@AboutWindow:license] can be used instead. The license type will be
automatically set to `GTK_LICENSE_CUSTOM` in that case.

If @license_type is `GTK_LICENSE_UNKNOWN`, no information will be displayed.

If @license_type is different from `GTK_LICENSE_CUSTOM`.
[property@AboutWindow:license] will be cleared out.

The license description will be displayed on the Legal page, below the
copyright information.

[method@AboutWindow.add_legal_section] can be used to add license information
for the application dependencies or other components.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <source-position filename="src/adw-about-window.h" line="158"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="3301">an about window</doc>
            <type name="AboutWindow" c:type="AdwAboutWindow*"/>
          </instance-parameter>
          <parameter name="license_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="3302">the license type</doc>
            <type name="Gtk.License" c:type="GtkLicense"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_release_notes"
              c:identifier="adw_about_window_set_release_notes"
              glib:set-property="release-notes"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="2447">Sets the release notes for @self.

Release notes are displayed on the the What's New page.

Release notes are formatted the same way as
[AppStream descriptions](https://freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-description).

The supported formatting options are:

* Paragraph (`&lt;p&gt;`)
* Ordered list (`&lt;ol&gt;`), with list items (`&lt;li&gt;`)
* Unordered list (`&lt;ul&gt;`), with list items (`&lt;li&gt;`)

Within paragraphs and list items, emphasis (`&lt;em&gt;`) and inline code
(`&lt;code&gt;`) text styles are supported. The emphasis is rendered in italic,
while inline code is shown in a monospaced font.

Any text outside paragraphs or list items is ignored.

Nested lists are not supported.

`AdwAboutWindow` displays the version above the release notes. If set, the
[property@AboutWindow:release-notes-version] of the property will be used
as the version; otherwise, [property@AboutWindow:version] is used.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <source-position filename="src/adw-about-window.h" line="65"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="2449">an about window</doc>
            <type name="AboutWindow" c:type="AdwAboutWindow*"/>
          </instance-parameter>
          <parameter name="release_notes" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="2450">the release notes</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_release_notes_version"
              c:identifier="adw_about_window_set_release_notes_version"
              glib:set-property="release-notes-version"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="2391">Sets the version described by the application's release notes.

The release notes version is displayed on the What's New page, above the
release notes.

If not set, [property@AboutWindow:version] will be used instead.

For example, an application with the current version 2.0.2 might want to
keep the release notes from 2.0.0, and set the release notes version
accordingly.

See [property@AboutWindow:release-notes].</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <source-position filename="src/adw-about-window.h" line="59"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="2393">an about window</doc>
            <type name="AboutWindow" c:type="AdwAboutWindow*"/>
          </instance-parameter>
          <parameter name="version" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="2394">the release notes version</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_support_url"
              c:identifier="adw_about_window_set_support_url"
              glib:set-property="support-url"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="2613">Sets the URL of the support page for @self.

The support page link is displayed on the main page.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <source-position filename="src/adw-about-window.h" line="83"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="2615">an about window</doc>
            <type name="AboutWindow" c:type="AdwAboutWindow*"/>
          </instance-parameter>
          <parameter name="support_url" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="2616">the support page URL</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_translator_credits"
              c:identifier="adw_about_window_set_translator_credits"
              glib:set-property="translator-credits"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="3098">Sets the translator credits string.

It will be displayed on the Credits page.

This string should be `"translator-credits"` or `"translator_credits"` and
should be marked as translatable.

The string may contain email addresses and URLs, see the introduction for
more details. When there is more than one translator, they must be
separated by a newline in the same string.

See also:

* [property@AboutWindow:developers]
* [property@AboutWindow:designers]
* [property@AboutWindow:artists]
* [property@AboutWindow:documenters]
* [method@AboutWindow.add_credit_section]
* [method@AboutWindow.add_acknowledgement_section]</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <source-position filename="src/adw-about-window.h" line="136"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="3100">an about window</doc>
            <type name="AboutWindow" c:type="AdwAboutWindow*"/>
          </instance-parameter>
          <parameter name="translator_credits" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="3101">the translator credits</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_version"
              c:identifier="adw_about_window_set_version"
              glib:set-property="version"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="2342">Sets the version for @self.

The version is displayed on the main page.

If [property@AboutWindow:release-notes-version] is not set, the version will
also be displayed above the release notes on the What's New page.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <source-position filename="src/adw-about-window.h" line="53"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="2344">an about window</doc>
            <type name="AboutWindow" c:type="AdwAboutWindow*"/>
          </instance-parameter>
          <parameter name="version" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="2345">the version</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_website"
              c:identifier="adw_about_window_set_website"
              glib:set-property="website"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="2564">Sets the application website URL for @self.

Website is displayed on the Details page, below comments, or on the main page
if the Details page doesn't have any other content.

Applications can add other links below, see [method@AboutWindow.add_link].</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <source-position filename="src/adw-about-window.h" line="77"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="2566">an about window</doc>
            <type name="AboutWindow" c:type="AdwAboutWindow*"/>
          </instance-parameter>
          <parameter name="website" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="2567">the website URL</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <property name="application-icon"
                version="1.2"
                deprecated="1"
                deprecated-version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_application_icon"
                getter="get_application_icon">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="1387">The name of the application icon.

The icon is displayed at the top of the main page.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="application-name"
                version="1.2"
                deprecated="1"
                deprecated-version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_application_name"
                getter="get_application_name">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="1402">The name of the application.

The name is displayed at the top of the main page.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="artists"
                version="1.2"
                deprecated="1"
                deprecated-version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_artists"
                getter="get_artists">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="1678">The list of artists of the application.

It will be displayed on the Credits page.

Each name may contain email addresses and URLs, see the introduction for
more details.

See also:

* [property@AboutWindow:developers]
* [property@AboutWindow:designers]
* [property@AboutWindow:documenters]
* [property@AboutWindow:translator-credits]
* [method@AboutWindow.add_credit_section]
* [method@AboutWindow.add_acknowledgement_section]</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <array>
          <type name="utf8"/>
        </array>
      </property>
      <property name="comments"
                version="1.2"
                deprecated="1"
                deprecated-version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_comments"
                getter="get_comments">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="1517">The comments about the application.

Comments will be shown on the Details page, above links.

Unlike [property@Gtk.AboutDialog:comments], this string can be long and
detailed. It can also contain links and Pango markup.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="copyright"
                version="1.2"
                deprecated="1"
                deprecated-version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_copyright"
                getter="get_copyright">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="1762">The copyright information.

This should be a short string of one or two lines, for example:
`© 2022 Example`.

The copyright information will be displayed on the Legal page, above the
application license.

[method@AboutWindow.add_legal_section] can be used to add copyright
information for the application dependencies or other components.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="debug-info"
                version="1.2"
                deprecated="1"
                deprecated-version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_debug_info"
                getter="get_debug_info">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="1583">The debug information.

Debug information will be shown on the Troubleshooting page. It's intended
to be attached to issue reports when reporting issues against the
application.

`AdwAboutWindow` provides a quick way to save debug information to a file.
When saving, [property@AboutWindow:debug-info-filename] would be used as
the suggested filename.

Debug information cannot contain markup or links.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="debug-info-filename"
                version="1.2"
                deprecated="1"
                deprecated-version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_debug_info_filename"
                getter="get_debug_info_filename">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="1606">The debug information filename.

It will be used as the suggested filename when saving debug information to
a file.

See [property@AboutWindow:debug-info].</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="designers"
                version="1.2"
                deprecated="1"
                deprecated-version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_designers"
                getter="get_designers">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="1651">The list of designers of the application.

It will be displayed on the Credits page.

Each name may contain email addresses and URLs, see the introduction for
more details.

See also:

* [property@AboutWindow:developers]
* [property@AboutWindow:artists]
* [property@AboutWindow:documenters]
* [property@AboutWindow:translator-credits]
* [method@AboutWindow.add_credit_section]
* [method@AboutWindow.add_acknowledgement_section]</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <array>
          <type name="utf8"/>
        </array>
      </property>
      <property name="developer-name"
                version="1.2"
                deprecated="1"
                deprecated-version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_developer_name"
                getter="get_developer_name">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="1417">The developer name.

The developer name is displayed on the main page, under the application
name.

If the application is developed by multiple people, the developer name can
be set to values like "AppName team", "AppName developers" or
"The AppName project", and the individual contributors can be listed on the
Credits page, with [property@AboutWindow:developers] and related
properties.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="developers"
                version="1.2"
                deprecated="1"
                deprecated-version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_developers"
                getter="get_developers">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="1624">The list of developers of the application.

It will be displayed on the Credits page.

Each name may contain email addresses and URLs, see the introduction for
more details.

See also:

* [property@AboutWindow:designers]
* [property@AboutWindow:artists]
* [property@AboutWindow:documenters]
* [property@AboutWindow:translator-credits]
* [method@AboutWindow.add_credit_section]
* [method@AboutWindow.add_acknowledgement_section]</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <array>
          <type name="utf8"/>
        </array>
      </property>
      <property name="documenters"
                version="1.2"
                deprecated="1"
                deprecated-version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_documenters"
                getter="get_documenters">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="1705">The list of documenters of the application.

It will be displayed on the Credits page.

Each name may contain email addresses and URLs, see the introduction for
more details.

See also:

* [property@AboutWindow:developers]
* [property@AboutWindow:designers]
* [property@AboutWindow:artists]
* [property@AboutWindow:translator-credits]
* [method@AboutWindow.add_credit_section]
* [method@AboutWindow.add_acknowledgement_section]</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <array>
          <type name="utf8"/>
        </array>
      </property>
      <property name="issue-url"
                version="1.2"
                deprecated="1"
                deprecated-version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_issue_url"
                getter="get_issue_url">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="1568">The URL for the application's issue tracker.

The issue tracker link is displayed on the main page.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="license"
                version="1.2"
                deprecated="1"
                deprecated-version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_license"
                getter="get_license">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="1815">The license text.

This can be used to set a custom text for the license if it can't be set
via [property@AboutWindow:license-type].

When set, [property@AboutWindow:license-type] will be set to
`GTK_LICENSE_CUSTOM`.

The license text will be displayed on the Legal page, below the copyright
information.

License text can contain Pango markup and links.

[method@AboutWindow.add_legal_section] can be used to add license
information for the application dependencies or other components.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="license-type"
                version="1.2"
                deprecated="1"
                deprecated-version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_license_type"
                getter="get_license_type"
                default-value="GTK_LICENSE_UNKNOWN">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="1784">The license type.

Allows to set the application's license froma list of known licenses.

If the application's license is not in the list,
[property@AboutWindow:license] can be used instead. The license type will
be automatically set to `GTK_LICENSE_CUSTOM` in that case.

If set to `GTK_LICENSE_UNKNOWN`, no information will be displayed.

If the license type is different from `GTK_LICENSE_CUSTOM`.
[property@AboutWindow:license] will be cleared out.

The license description will be displayed on the Legal page, below the
copyright information.

[method@AboutWindow.add_legal_section] can be used to add license
information for the application dependencies or other components.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <type name="Gtk.License"/>
      </property>
      <property name="release-notes"
                version="1.2"
                deprecated="1"
                deprecated-version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_release_notes"
                getter="get_release_notes">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="1481">The release notes of the application.

Release notes are displayed on the the What's New page.

Release notes are formatted the same way as
[AppStream descriptions](https://freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-description).

The supported formatting options are:

* Paragraph (`&lt;p&gt;`)
* Ordered list (`&lt;ol&gt;`), with list items (`&lt;li&gt;`)
* Unordered list (`&lt;ul&gt;`), with list items (`&lt;li&gt;`)

Within paragraphs and list items, emphasis (`&lt;em&gt;`) and inline code
(`&lt;code&gt;`) text styles are supported. The emphasis is rendered in italic,
while inline code is shown in a monospaced font.

Any text outside paragraphs or list items is ignored.

Nested lists are not supported.

`AdwAboutWindow` displays the version above the release notes. If set, the
[property@AboutWindow:release-notes-version] of the property will be used
as the version; otherwise, [property@AboutWindow:version] is used.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="release-notes-version"
                version="1.2"
                deprecated="1"
                deprecated-version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_release_notes_version"
                getter="get_release_notes_version">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="1457">The version described by the application's release notes.

The release notes version is displayed on the What's New page, above the
release notes.

If not set, [property@AboutWindow:version] will be used instead.

For example, an application with the current version 2.0.2 might want to
keep the release notes from 2.0.0, and set the release notes version
accordingly.

See [property@AboutWindow:release-notes].</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="support-url"
                version="1.2"
                deprecated="1"
                deprecated-version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_support_url"
                getter="get_support_url">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="1553">The URL of the application's support page.

The support page link is displayed on the main page.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="translator-credits"
                version="1.2"
                deprecated="1"
                deprecated-version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_translator_credits"
                getter="get_translator_credits">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="1732">The translator credits string.

It will be displayed on the Credits page.

This string should be `"translator-credits"` or `"translator_credits"` and
should be marked as translatable.

The string may contain email addresses and URLs, see the introduction for
more details.

See also:

* [property@AboutWindow:developers]
* [property@AboutWindow:designers]
* [property@AboutWindow:artists]
* [property@AboutWindow:documenters]
* [method@AboutWindow.add_credit_section]
* [method@AboutWindow.add_acknowledgement_section]</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="version"
                version="1.2"
                deprecated="1"
                deprecated-version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_version"
                getter="get_version">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="1439">The version of the application.

The version is displayed on the main page.

If [property@AboutWindow:release-notes-version] is not set, the version
will also be displayed above the release notes on the What's New page.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="website"
                version="1.2"
                deprecated="1"
                deprecated-version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_website"
                getter="get_website">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="1535">The URL of the application's website.

Website is displayed on the Details page, below comments, or on the main
page if the Details page doesn't have any other content.

Applications can add other links below, see [method@AboutWindow.add_link].</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <glib:signal name="activate-link"
                   when="last"
                   version="1.2"
                   deprecated="1"
                   deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-about-window.c"
             line="1844">Emitted when a URL is activated.

Applications may connect to it to override the default behavior, which is
to call [func@Gtk.show_uri].</doc>
        <doc-deprecated xml:space="preserve">Use [class@AboutDialog].</doc-deprecated>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-window.c"
               line="1854">`TRUE` if the link has been activated</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-about-window.c"
                 line="1847">the URI to activate</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="AboutWindowClass"
            c:type="AdwAboutWindowClass"
            glib:is-gtype-struct-for="AboutWindow">
      <source-position filename="src/adw-about-window.h" line="23"/>
      <field name="parent_class">
        <type name="WindowClass" c:type="AdwWindowClass"/>
      </field>
    </record>
    <enumeration name="AccentColor"
                 version="1.6"
                 glib:type-name="AdwAccentColor"
                 glib:get-type="adw_accent_color_get_type"
                 c:type="AdwAccentColor">
      <doc xml:space="preserve"
           filename="src/adw-accent-color.c"
           line="14">Describes the available system accent colors.</doc>
      <member name="blue"
              value="0"
              c:identifier="ADW_ACCENT_COLOR_BLUE"
              glib:nick="blue"
              glib:name="ADW_ACCENT_COLOR_BLUE">
        <doc xml:space="preserve"
             filename="src/adw-accent-color.c"
             line="16">Use a blue color (`#3584e4`). This is the default value.</doc>
      </member>
      <member name="teal"
              value="1"
              c:identifier="ADW_ACCENT_COLOR_TEAL"
              glib:nick="teal"
              glib:name="ADW_ACCENT_COLOR_TEAL">
        <doc xml:space="preserve"
             filename="src/adw-accent-color.c"
             line="17">Use a teal color (`#2190a4`).</doc>
      </member>
      <member name="green"
              value="2"
              c:identifier="ADW_ACCENT_COLOR_GREEN"
              glib:nick="green"
              glib:name="ADW_ACCENT_COLOR_GREEN">
        <doc xml:space="preserve"
             filename="src/adw-accent-color.c"
             line="18">Use a green color (`#3a944a`).</doc>
      </member>
      <member name="yellow"
              value="3"
              c:identifier="ADW_ACCENT_COLOR_YELLOW"
              glib:nick="yellow"
              glib:name="ADW_ACCENT_COLOR_YELLOW">
        <doc xml:space="preserve"
             filename="src/adw-accent-color.c"
             line="19">Use a yellow color (`#c88800`).</doc>
      </member>
      <member name="orange"
              value="4"
              c:identifier="ADW_ACCENT_COLOR_ORANGE"
              glib:nick="orange"
              glib:name="ADW_ACCENT_COLOR_ORANGE">
        <doc xml:space="preserve"
             filename="src/adw-accent-color.c"
             line="20">Use a orange color (`#ed5b00`).</doc>
      </member>
      <member name="red"
              value="5"
              c:identifier="ADW_ACCENT_COLOR_RED"
              glib:nick="red"
              glib:name="ADW_ACCENT_COLOR_RED">
        <doc xml:space="preserve"
             filename="src/adw-accent-color.c"
             line="21">Use a red color (`#e62d42`).</doc>
      </member>
      <member name="pink"
              value="6"
              c:identifier="ADW_ACCENT_COLOR_PINK"
              glib:nick="pink"
              glib:name="ADW_ACCENT_COLOR_PINK">
        <doc xml:space="preserve"
             filename="src/adw-accent-color.c"
             line="22">Use a pink color (`#d56199`).</doc>
      </member>
      <member name="purple"
              value="7"
              c:identifier="ADW_ACCENT_COLOR_PURPLE"
              glib:nick="purple"
              glib:name="ADW_ACCENT_COLOR_PURPLE">
        <doc xml:space="preserve"
             filename="src/adw-accent-color.c"
             line="23">Use a purple color (`#9141ac`).</doc>
      </member>
      <member name="slate"
              value="8"
              c:identifier="ADW_ACCENT_COLOR_SLATE"
              glib:nick="slate"
              glib:name="ADW_ACCENT_COLOR_SLATE">
        <doc xml:space="preserve"
             filename="src/adw-accent-color.c"
             line="24">Use a slate color (`#6f8396`).</doc>
      </member>
      <function name="to_rgba"
                c:identifier="adw_accent_color_to_rgba"
                version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-accent-color.c"
             line="31">Converts @self to a `GdkRGBA` representing its background color.

The matching foreground color is white.</doc>
        <source-position filename="src/adw-accent-color.h" line="32"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-accent-color.c"
                 line="33">an accent color</doc>
            <type name="AccentColor" c:type="AdwAccentColor"/>
          </parameter>
          <parameter name="rgba"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-accent-color.c"
                 line="34">return location for the color</doc>
            <type name="Gdk.RGBA" c:type="GdkRGBA*"/>
          </parameter>
        </parameters>
      </function>
      <function name="to_standalone_rgba"
                c:identifier="adw_accent_color_to_standalone_rgba"
                version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-accent-color.c"
             line="88">Converts @self to a `GdkRGBA` representing its standalone color.

It will typically be darker for light background, and lighter for dark
background, ensuring contrast.</doc>
        <source-position filename="src/adw-accent-color.h" line="36"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-accent-color.c"
                 line="90">an accent color</doc>
            <type name="AccentColor" c:type="AdwAccentColor"/>
          </parameter>
          <parameter name="dark" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-accent-color.c"
                 line="91">Whether to calculate standalone color for light or dark background</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="rgba"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-accent-color.c"
                 line="92">return location for the color</doc>
            <type name="Gdk.RGBA" c:type="GdkRGBA*"/>
          </parameter>
        </parameters>
      </function>
    </enumeration>
    <class name="ActionRow"
           c:symbol-prefix="action_row"
           c:type="AdwActionRow"
           parent="PreferencesRow"
           glib:type-name="AdwActionRow"
           glib:get-type="adw_action_row_get_type"
           glib:type-struct="ActionRowClass">
      <doc xml:space="preserve"
           filename="src/adw-action-row.c"
           line="13">A [class@Gtk.ListBoxRow] used to present actions.

&lt;picture&gt;
  &lt;source srcset="action-row-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="action-row.png" alt="action-row"&gt;
&lt;/picture&gt;

The `AdwActionRow` widget can have a title, a subtitle and an icon. The row
can receive additional widgets at its end, or prefix widgets at its start.

It is convenient to present a preference and its related actions.

`AdwActionRow` is unactivatable by default, giving it an activatable widget
will automatically make it activatable, but unsetting it won't change the
row's activatability.

## AdwActionRow as GtkBuildable

The `AdwActionRow` implementation of the [iface@Gtk.Buildable] interface
supports adding a child at its end by specifying “suffix” or omitting the
“type” attribute of a &lt;child&gt; element.

It also supports adding a child as a prefix widget by specifying “prefix” as
the “type” attribute of a &lt;child&gt; element.

## CSS nodes

`AdwActionRow` has a main CSS node with name `row`.

It contains the subnode `box.header` for its main horizontal box, and
`box.title` for the vertical box containing the title and subtitle labels.

It contains subnodes `label.title` and `label.subtitle` representing
respectively the title label and subtitle label.

## Style classes

`AdwActionRow` can use the [`.property`](style-classes.html#property-rows)
style class to emphasize the row subtitle instead of the row title, which is
useful for displaying read-only properties.

&lt;picture&gt;
  &lt;source srcset="property-row-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="property-row.png" alt="property-row"&gt;
&lt;/picture&gt;

When used together with the `.monospace` style class, only the subtitle
becomes monospace, not the title or any extra widgets.</doc>
      <source-position filename="src/adw-action-row.h" line="37"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Actionable"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <constructor name="new" c:identifier="adw_action_row_new">
        <doc xml:space="preserve"
             filename="src/adw-action-row.c"
             line="445">Creates a new `AdwActionRow`.</doc>
        <source-position filename="src/adw-action-row.h" line="40"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-action-row.c"
               line="450">the newly created `AdwActionRow`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <virtual-method name="activate" invoker="activate">
        <doc xml:space="preserve"
             filename="src/adw-action-row.c"
             line="885">Activates @self.</doc>
        <source-position filename="src/adw-action-row.h" line="33"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-action-row.c"
                 line="887">an action row</doc>
            <type name="ActionRow" c:type="AdwActionRow*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="activate" c:identifier="adw_action_row_activate">
        <doc xml:space="preserve"
             filename="src/adw-action-row.c"
             line="885">Activates @self.</doc>
        <source-position filename="src/adw-action-row.h" line="90"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-action-row.c"
                 line="887">an action row</doc>
            <type name="ActionRow" c:type="AdwActionRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="add_prefix" c:identifier="adw_action_row_add_prefix">
        <doc xml:space="preserve"
             filename="src/adw-action-row.c"
             line="458">Adds a prefix widget to @self.</doc>
        <source-position filename="src/adw-action-row.h" line="43"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-action-row.c"
                 line="460">an action row</doc>
            <type name="ActionRow" c:type="AdwActionRow*"/>
          </instance-parameter>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-action-row.c"
                 line="461">a widget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_suffix" c:identifier="adw_action_row_add_suffix">
        <doc xml:space="preserve"
             filename="src/adw-action-row.c"
             line="481">Adds a suffix widget to @self.</doc>
        <source-position filename="src/adw-action-row.h" line="46"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-action-row.c"
                 line="483">an action row</doc>
            <type name="ActionRow" c:type="AdwActionRow*"/>
          </instance-parameter>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-action-row.c"
                 line="484">a widget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_activatable_widget"
              c:identifier="adw_action_row_get_activatable_widget"
              glib:get-property="activatable-widget">
        <doc xml:space="preserve"
             filename="src/adw-action-row.c"
             line="633">Gets the widget activated when @self is activated.</doc>
        <source-position filename="src/adw-action-row.h" line="65"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-action-row.c"
               line="639">the activatable widget for @self</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-action-row.c"
                 line="635">an action row</doc>
            <type name="ActionRow" c:type="AdwActionRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_icon_name"
              c:identifier="adw_action_row_get_icon_name"
              glib:get-property="icon-name"
              deprecated="1"
              deprecated-version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-action-row.c"
             line="582">Gets the icon name for @self.</doc>
        <doc-deprecated xml:space="preserve">Use [method@ActionRow.add_prefix] to add an icon.</doc-deprecated>
        <source-position filename="src/adw-action-row.h" line="59"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-action-row.c"
               line="588">the icon name for @self</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-action-row.c"
                 line="584">an action row</doc>
            <type name="ActionRow" c:type="AdwActionRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_subtitle"
              c:identifier="adw_action_row_get_subtitle"
              glib:get-property="subtitle">
        <doc xml:space="preserve"
             filename="src/adw-action-row.c"
             line="534">Gets the subtitle for @self.</doc>
        <source-position filename="src/adw-action-row.h" line="53"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-action-row.c"
               line="540">the subtitle for @self</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-action-row.c"
                 line="536">an action row</doc>
            <type name="ActionRow" c:type="AdwActionRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_subtitle_lines"
              c:identifier="adw_action_row_get_subtitle_lines"
              glib:get-property="subtitle-lines">
        <doc xml:space="preserve"
             filename="src/adw-action-row.c"
             line="782">Gets the number of lines at the end of which the subtitle label will be
ellipsized.</doc>
        <source-position filename="src/adw-action-row.h" line="77"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-action-row.c"
               line="789">the number of lines at the end of which the subtitle label will be
  ellipsized</doc>
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-action-row.c"
                 line="784">an action row</doc>
            <type name="ActionRow" c:type="AdwActionRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_subtitle_selectable"
              c:identifier="adw_action_row_get_subtitle_selectable"
              glib:get-property="subtitle-selectable"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-action-row.c"
             line="836">Gets whether the user can copy the subtitle from the label</doc>
        <source-position filename="src/adw-action-row.h" line="83"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-action-row.c"
               line="842">whether the user can copy the subtitle from the label</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-action-row.c"
                 line="838">an action row</doc>
            <type name="ActionRow" c:type="AdwActionRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_title_lines"
              c:identifier="adw_action_row_get_title_lines"
              glib:get-property="title-lines">
        <doc xml:space="preserve"
             filename="src/adw-action-row.c"
             line="728">Gets the number of lines at the end of which the title label will be
ellipsized.</doc>
        <source-position filename="src/adw-action-row.h" line="71"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-action-row.c"
               line="735">the number of lines at the end of which the title label will be
  ellipsized</doc>
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-action-row.c"
                 line="730">an action row</doc>
            <type name="ActionRow" c:type="AdwActionRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove" c:identifier="adw_action_row_remove">
        <doc xml:space="preserve"
             filename="src/adw-action-row.c"
             line="504">Removes a child from @self.</doc>
        <source-position filename="src/adw-action-row.h" line="49"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-action-row.c"
                 line="506">an action row</doc>
            <type name="ActionRow" c:type="AdwActionRow*"/>
          </instance-parameter>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-action-row.c"
                 line="507">the child to be removed</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_activatable_widget"
              c:identifier="adw_action_row_set_activatable_widget"
              glib:set-property="activatable-widget">
        <doc xml:space="preserve"
             filename="src/adw-action-row.c"
             line="666">Sets the widget to activate when @self is activated.

The row can be activated either by clicking on it, calling
[method@ActionRow.activate], or via mnemonics in the title.
See the [property@PreferencesRow:use-underline] property to enable mnemonics.

The target widget will be activated by emitting the
[signal@Gtk.Widget::mnemonic-activate] signal on it.</doc>
        <source-position filename="src/adw-action-row.h" line="67"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-action-row.c"
                 line="668">an action row</doc>
            <type name="ActionRow" c:type="AdwActionRow*"/>
          </instance-parameter>
          <parameter name="widget"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-action-row.c"
                 line="669">the target widget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_icon_name"
              c:identifier="adw_action_row_set_icon_name"
              glib:set-property="icon-name"
              deprecated="1"
              deprecated-version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-action-row.c"
             line="604">Sets the icon name for @self.</doc>
        <doc-deprecated xml:space="preserve">Use [method@ActionRow.add_prefix] to add an icon.</doc-deprecated>
        <source-position filename="src/adw-action-row.h" line="61"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-action-row.c"
                 line="606">an action row</doc>
            <type name="ActionRow" c:type="AdwActionRow*"/>
          </instance-parameter>
          <parameter name="icon_name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-action-row.c"
                 line="607">the icon name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_subtitle"
              c:identifier="adw_action_row_set_subtitle"
              glib:set-property="subtitle">
        <doc xml:space="preserve"
             filename="src/adw-action-row.c"
             line="554">Sets the subtitle for @self.

The subtitle is interpreted as Pango markup unless
[property@PreferencesRow:use-markup] is set to `FALSE`.</doc>
        <source-position filename="src/adw-action-row.h" line="55"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-action-row.c"
                 line="556">an action row</doc>
            <type name="ActionRow" c:type="AdwActionRow*"/>
          </instance-parameter>
          <parameter name="subtitle" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-action-row.c"
                 line="557">the subtitle</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_subtitle_lines"
              c:identifier="adw_action_row_set_subtitle_lines"
              glib:set-property="subtitle-lines">
        <doc xml:space="preserve"
             filename="src/adw-action-row.c"
             line="804">Sets the number of lines at the end of which the subtitle label will be
ellipsized.

If the value is 0, the number of lines won't be limited.</doc>
        <source-position filename="src/adw-action-row.h" line="79"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-action-row.c"
                 line="806">an action row</doc>
            <type name="ActionRow" c:type="AdwActionRow*"/>
          </instance-parameter>
          <parameter name="subtitle_lines" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-action-row.c"
                 line="807">the number of lines at the end of which the subtitle label will be ellipsized</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_subtitle_selectable"
              c:identifier="adw_action_row_set_subtitle_selectable"
              glib:set-property="subtitle-selectable"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-action-row.c"
             line="856">Sets whether the user can copy the subtitle from the label

See also [property@Gtk.Label:selectable].</doc>
        <source-position filename="src/adw-action-row.h" line="86"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-action-row.c"
                 line="858">an action row</doc>
            <type name="ActionRow" c:type="AdwActionRow*"/>
          </instance-parameter>
          <parameter name="subtitle_selectable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-action-row.c"
                 line="859">`TRUE` if the user can copy the subtitle from the label</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_title_lines"
              c:identifier="adw_action_row_set_title_lines"
              glib:set-property="title-lines">
        <doc xml:space="preserve"
             filename="src/adw-action-row.c"
             line="750">Sets the number of lines at the end of which the title label will be
ellipsized.

If the value is 0, the number of lines won't be limited.</doc>
        <source-position filename="src/adw-action-row.h" line="73"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-action-row.c"
                 line="752">an action row</doc>
            <type name="ActionRow" c:type="AdwActionRow*"/>
          </instance-parameter>
          <parameter name="title_lines" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-action-row.c"
                 line="753">the number of lines at the end of which the title label will be ellipsized</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <property name="activatable-widget"
                writable="1"
                transfer-ownership="none"
                setter="set_activatable_widget"
                getter="get_activatable_widget">
        <doc xml:space="preserve"
             filename="src/adw-action-row.c"
             line="317">The widget to activate when the row is activated.

The row can be activated either by clicking on it, calling
[method@ActionRow.activate], or via mnemonics in the title.
See the [property@PreferencesRow:use-underline] property to enable
mnemonics.

The target widget will be activated by emitting the
[signal@Gtk.Widget::mnemonic-activate] signal on it.</doc>
        <type name="Gtk.Widget"/>
      </property>
      <property name="icon-name"
                deprecated="1"
                deprecated-version="1.3"
                writable="1"
                transfer-ownership="none"
                setter="set_icon_name"
                getter="get_icon_name">
        <doc xml:space="preserve"
             filename="src/adw-action-row.c"
             line="305">The icon name for this row.</doc>
        <doc-deprecated xml:space="preserve">Use [method@ActionRow.add_prefix] to add an icon.</doc-deprecated>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="subtitle"
                writable="1"
                transfer-ownership="none"
                setter="set_subtitle"
                getter="get_subtitle">
        <doc xml:space="preserve"
             filename="src/adw-action-row.c"
             line="292">The subtitle for this row.

The subtitle is interpreted as Pango markup unless
[property@PreferencesRow:use-markup] is set to `FALSE`.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="subtitle-lines"
                writable="1"
                transfer-ownership="none"
                setter="set_subtitle_lines"
                getter="get_subtitle_lines"
                default-value="0">
        <doc xml:space="preserve"
             filename="src/adw-action-row.c"
             line="348">The number of lines at the end of which the subtitle label will be
ellipsized.

If the value is 0, the number of lines won't be limited.</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="subtitle-selectable"
                version="1.3"
                writable="1"
                transfer-ownership="none"
                setter="set_subtitle_selectable"
                getter="get_subtitle_selectable"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-action-row.c"
             line="362">Whether the user can copy the subtitle from the label.

See also [property@Gtk.Label:selectable].</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="title-lines"
                writable="1"
                transfer-ownership="none"
                setter="set_title_lines"
                getter="get_title_lines"
                default-value="0">
        <doc xml:space="preserve"
             filename="src/adw-action-row.c"
             line="335">The number of lines at the end of which the title label will be ellipsized.

If the value is 0, the number of lines won't be limited.</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <field name="parent_instance">
        <type name="PreferencesRow" c:type="AdwPreferencesRow"/>
      </field>
      <glib:signal name="activated" when="last">
        <doc xml:space="preserve"
             filename="src/adw-action-row.c"
             line="378">This signal is emitted after the row has been activated.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="ActionRowClass"
            c:type="AdwActionRowClass"
            glib:is-gtype-struct-for="ActionRow">
      <source-position filename="src/adw-action-row.h" line="37"/>
      <field name="parent_class">
        <doc xml:space="preserve"
             filename="src/adw-action-row.h"
             line="26">The parent class</doc>
        <type name="PreferencesRowClass" c:type="AdwPreferencesRowClass"/>
      </field>
      <field name="activate">
        <doc xml:space="preserve"
             filename="src/adw-action-row.h"
             line="27">Activates the row to trigger its main action.</doc>
        <callback name="activate">
          <source-position filename="src/adw-action-row.h" line="33"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/adw-action-row.c"
                   line="887">an action row</doc>
              <type name="ActionRow" c:type="AdwActionRow*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="padding" readable="0" private="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <class name="AlertDialog"
           c:symbol-prefix="alert_dialog"
           c:type="AdwAlertDialog"
           version="1.5"
           parent="Dialog"
           glib:type-name="AdwAlertDialog"
           glib:get-type="adw_alert_dialog_get_type"
           glib:type-struct="AlertDialogClass">
      <doc xml:space="preserve"
           filename="src/adw-alert-dialog.c"
           line="22">A dialog presenting a message or a question.

&lt;picture&gt;
  &lt;source srcset="alert-dialog-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="alert-dialog.png" alt="alert-dialog"&gt;
&lt;/picture&gt;

Alert 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@AlertDialog::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@AlertDialog: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, `AdwAlertDialog` is closed automatically.

An example of using an alert dialog:

```c
AdwDialog *dialog;

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

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

adw_alert_dialog_add_responses (ADW_ALERT_DIALOG (dialog),
                                "cancel",  _("_Cancel"),
                                "replace", _("_Replace"),
                                NULL);

adw_alert_dialog_set_response_appearance (ADW_ALERT_DIALOG (dialog),
                                          "replace",
                                          ADW_RESPONSE_DESTRUCTIVE);

adw_alert_dialog_set_default_response (ADW_ALERT_DIALOG (dialog), "cancel");
adw_alert_dialog_set_close_response (ADW_ALERT_DIALOG (dialog), "cancel");

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

adw_dialog_present (dialog, parent);
```

## Async API

`AdwAlertDialog` can also be used via the [method@AlertDialog.choose] method.
This API follows the GIO async pattern, for example:

```c
static void
dialog_cb (AdwAlertDialog *dialog,
           GAsyncResult   *result,
           MyWindow       *self)
{
  const char *response = adw_alert_dialog_choose_finish (dialog, result);

  // ...
}

static void
show_dialog (MyWindow *self)
{
  AdwDialog *dialog;

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

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

  adw_alert_dialog_add_responses (ADW_ALERT_DIALOG (dialog),
                                  "cancel",  _("_Cancel"),
                                  "replace", _("_Replace"),
                                  NULL);

  adw_alert_dialog_set_response_appearance (ADW_ALERT_DIALOG (dialog),
                                            "replace",
                                            ADW_RESPONSE_DESTRUCTIVE);

  adw_alert_dialog_set_default_response (ADW_ALERT_DIALOG (dialog), "cancel");
  adw_alert_dialog_set_close_response (ADW_ALERT_DIALOG (dialog), "cancel");

  adw_alert_dialog_choose (ADW_ALERT_DIALOG (dialog), GTK_WIDGET (self),
                           NULL, (GAsyncReadyCallback) dialog_cb, self);
}
```

## AdwAlertDialog as GtkBuildable

`AdwAlertDialog` supports adding responses in UI definitions by via the
`&lt;responses&gt;` element that may contain multiple `&lt;response&gt;` elements, each
representing a response.

Each of the `&lt;response&gt;` 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 `&lt;response&gt;` elements can also have `enabled` and/or `appearance`
attributes. See [method@AlertDialog.set_response_enabled] and
[method@AlertDialog.set_response_appearance] for details.

Example of an `AdwAlertDialog` UI definition:

```xml
&lt;object class="AdwAlertDialog" id="dialog"&gt;
  &lt;property name="heading" translatable="yes"&gt;Save Changes?&lt;/property&gt;
  &lt;property name="body" translatable="yes"&gt;Open documents contain unsaved changes. Changes which are not saved will be permanently lost.&lt;/property&gt;
  &lt;property name="default-response"&gt;save&lt;/property&gt;
  &lt;property name="close-response"&gt;cancel&lt;/property&gt;
  &lt;signal name="response" handler="response_cb"/&gt;
  &lt;responses&gt;
    &lt;response id="cancel" translatable="yes"&gt;_Cancel&lt;/response&gt;
    &lt;response id="discard" translatable="yes" appearance="destructive"&gt;_Discard&lt;/response&gt;
    &lt;response id="save" translatable="yes" appearance="suggested" enabled="false"&gt;_Save&lt;/response&gt;
  &lt;/responses&gt;
&lt;/object&gt;
```</doc>
      <source-position filename="src/adw-alert-dialog.h" line="45"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <implements name="Gtk.ShortcutManager"/>
      <constructor name="new"
                   c:identifier="adw_alert_dialog_new"
                   version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-alert-dialog.c"
             line="1339">Creates a new `AdwAlertDialog`.

@heading and @body can be set to `NULL`. This can be useful if they need to
be formatted or use markup. In that case, set them to `NULL` and call
[method@AlertDialog.format_body] or similar methods afterwards:

```c
AdwDialog *dialog;

dialog = adw_alert_dialog_new (_("Replace File?"), NULL);
adw_alert_dialog_format_body (ADW_ALERT_DIALOG (dialog),
                              _("A file named “%s” already exists.  Do you want to replace it?"),
                              filename);
```</doc>
        <source-position filename="src/adw-alert-dialog.h" line="48"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-alert-dialog.c"
               line="1359">the newly created `AdwAlertDialog`</doc>
          <type name="Dialog" c:type="AdwDialog*"/>
        </return-value>
        <parameters>
          <parameter name="heading"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="1341">the heading</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="body"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="1342">the body text</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="response">
        <source-position filename="src/adw-alert-dialog.h" line="40"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="AlertDialog" c:type="AdwAlertDialog*"/>
          </instance-parameter>
          <parameter name="response" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="add_response"
              c:identifier="adw_alert_dialog_add_response"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-alert-dialog.c"
             line="1907">Adds a response with @id and @label to @self.

Responses are represented as buttons in the dialog.

Response ID must be unique. It will be used in [signal@AlertDialog::response]
to tell which response had been activated, as well as to inspect and modify
the response later.

An embedded underline in @label indicates a mnemonic.

[method@AlertDialog.set_response_label] can be used to change the response
label after it had been added.

[method@AlertDialog.set_response_enabled] and
[method@AlertDialog.set_response_appearance] can be used to customize the
responses further.</doc>
        <source-position filename="src/adw-alert-dialog.h" line="108"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="1909">an alert dialog</doc>
            <type name="AlertDialog" c:type="AdwAlertDialog*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="1910">the response ID</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="label" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="1911">the response label</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_responses"
              c:identifier="adw_alert_dialog_add_responses"
              version="1.5"
              introspectable="0">
        <doc xml:space="preserve"
             filename="src/adw-alert-dialog.c"
             line="1970">Adds multiple responses to @self.

This is the same as calling [method@AlertDialog.add_response] repeatedly. The
variable argument list should be `NULL`-terminated list of response IDs and
labels.

Example:

```c
adw_alert_dialog_add_responses (dialog,
                                "cancel",  _("_Cancel"),
                                "discard", _("_Discard"),
                                "save",    _("_Save"),
                                NULL);
```</doc>
        <source-position filename="src/adw-alert-dialog.h" line="113"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="1972">an alert dialog</doc>
            <type name="AlertDialog" c:type="AdwAlertDialog*"/>
          </instance-parameter>
          <parameter name="first_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="1973">response id</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="1974">label for first response, then more id-label pairs</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="choose"
              c:identifier="adw_alert_dialog_choose"
              version="1.5"
              glib:finish-func="choose_finish">
        <doc xml:space="preserve"
             filename="src/adw-alert-dialog.c"
             line="2454">This function shows @self to the user.

If the window is an [class@Window] or [class@ApplicationWindow], the dialog
will be shown within it. Otherwise, it will be a separate window.</doc>
        <source-position filename="src/adw-alert-dialog.h" line="162"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="2456">an alert dialog</doc>
            <type name="AlertDialog" c:type="AdwAlertDialog*"/>
          </instance-parameter>
          <parameter name="parent"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="2457">the parent widget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="2458">a `GCancellable` to cancel the operation</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="3">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="2459">a callback to call when the operation is complete</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="2460">data to pass to @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="choose_finish"
              c:identifier="adw_alert_dialog_choose_finish"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-alert-dialog.c"
             line="2492">Finishes the [method@AlertDialog.choose] call and returns the response ID.</doc>
        <source-position filename="src/adw-alert-dialog.h" line="168"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-alert-dialog.c"
               line="2499">the ID of the response that was selected, or
  [property@AlertDialog:close-response] if the call was cancelled.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="2494">an alert dialog</doc>
            <type name="AlertDialog" c:type="AdwAlertDialog*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="2495">a `GAsyncResult`</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="format_body"
              c:identifier="adw_alert_dialog_format_body"
              version="1.5"
              introspectable="0">
        <doc xml:space="preserve"
             filename="src/adw-alert-dialog.c"
             line="1702">Sets the formatted body text of @self.

See [property@AlertDialog:body].</doc>
        <source-position filename="src/adw-alert-dialog.h" line="86"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="1704">an alert dialog</doc>
            <type name="AlertDialog" c:type="AdwAlertDialog*"/>
          </instance-parameter>
          <parameter name="format" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="1705">the formatted string for the body text</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="1706">the parameters to insert into @format</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="format_body_markup"
              c:identifier="adw_alert_dialog_format_body_markup"
              version="1.5"
              introspectable="0">
        <doc xml:space="preserve"
             filename="src/adw-alert-dialog.c"
             line="1745">Sets the formatted body text of @self with Pango markup.

The @format is assumed to contain Pango markup.

Special XML characters in the `printf()` arguments passed to this function
will automatically be escaped as necessary, see
[func@GLib.markup_printf_escaped].

See [property@AlertDialog:body].</doc>
        <source-position filename="src/adw-alert-dialog.h" line="91"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="1747">an alert dialog</doc>
            <type name="AlertDialog" c:type="AdwAlertDialog*"/>
          </instance-parameter>
          <parameter name="format" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="1748">the formatted string for the body text with Pango markup</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="1749">the parameters to insert into @format</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="format_heading"
              c:identifier="adw_alert_dialog_format_heading"
              version="1.5"
              introspectable="0">
        <doc xml:space="preserve"
             filename="src/adw-alert-dialog.c"
             line="1499">Sets the formatted heading of @self.

See [property@AlertDialog:heading].</doc>
        <source-position filename="src/adw-alert-dialog.h" line="64"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="1501">an alert dialog</doc>
            <type name="AlertDialog" c:type="AdwAlertDialog*"/>
          </instance-parameter>
          <parameter name="format" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="1502">the formatted string for the heading</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="1503">the parameters to insert into @format</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="format_heading_markup"
              c:identifier="adw_alert_dialog_format_heading_markup"
              version="1.5"
              introspectable="0">
        <doc xml:space="preserve"
             filename="src/adw-alert-dialog.c"
             line="1542">Sets the formatted heading of @self with Pango markup.

The @format is assumed to contain Pango markup.

Special XML characters in the `printf()` arguments passed to this function
will automatically be escaped as necessary, see
[func@GLib.markup_printf_escaped].

See [property@AlertDialog:heading].</doc>
        <source-position filename="src/adw-alert-dialog.h" line="69"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="1544">an alert dialog</doc>
            <type name="AlertDialog" c:type="AdwAlertDialog*"/>
          </instance-parameter>
          <parameter name="format" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="1545">the formatted string for the heading with Pango markup</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="1546">the parameters to insert into @format</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="get_body"
              c:identifier="adw_alert_dialog_get_body"
              glib:get-property="body"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-alert-dialog.c"
             line="1591">Gets the body text of @self.</doc>
        <source-position filename="src/adw-alert-dialog.h" line="74"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-alert-dialog.c"
               line="1597">the body of @self.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="1593">an alert dialog</doc>
            <type name="AlertDialog" c:type="AdwAlertDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_body_use_markup"
              c:identifier="adw_alert_dialog_get_body_use_markup"
              glib:get-property="body-use-markup"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-alert-dialog.c"
             line="1647">Gets whether the body text of @self includes Pango markup.</doc>
        <source-position filename="src/adw-alert-dialog.h" line="80"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-alert-dialog.c"
               line="1653">whether @self uses markup for body text</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="1649">an alert dialog</doc>
            <type name="AlertDialog" c:type="AdwAlertDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_close_response"
              c:identifier="adw_alert_dialog_get_close_response"
              glib:get-property="close-response"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-alert-dialog.c"
             line="2345">Gets the ID of the close response of @self.</doc>
        <source-position filename="src/adw-alert-dialog.h" line="152"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-alert-dialog.c"
               line="2351">the close response ID</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="2347">an alert dialog</doc>
            <type name="AlertDialog" c:type="AdwAlertDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_default_response"
              c:identifier="adw_alert_dialog_get_default_response"
              glib:get-property="default-response"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-alert-dialog.c"
             line="2280">Gets the ID of the default response of @self.</doc>
        <source-position filename="src/adw-alert-dialog.h" line="146"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-alert-dialog.c"
               line="2286">the default response ID</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="2282">an alert dialog</doc>
            <type name="AlertDialog" c:type="AdwAlertDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_extra_child"
              c:identifier="adw_alert_dialog_get_extra_child"
              glib:get-property="extra-child"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-alert-dialog.c"
             line="1794">Gets the child widget of @self.</doc>
        <source-position filename="src/adw-alert-dialog.h" line="96"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-alert-dialog.c"
               line="1800">the child widget of @self.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="1796">an alert dialog</doc>
            <type name="AlertDialog" c:type="AdwAlertDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_heading"
              c:identifier="adw_alert_dialog_get_heading"
              glib:get-property="heading"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-alert-dialog.c"
             line="1380">Gets the heading of @self.</doc>
        <source-position filename="src/adw-alert-dialog.h" line="52"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-alert-dialog.c"
               line="1386">the heading of @self.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="1382">an alert dialog</doc>
            <type name="AlertDialog" c:type="AdwAlertDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_heading_use_markup"
              c:identifier="adw_alert_dialog_get_heading_use_markup"
              glib:get-property="heading-use-markup"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-alert-dialog.c"
             line="1440">Gets whether the heading of @self includes Pango markup.</doc>
        <source-position filename="src/adw-alert-dialog.h" line="58"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-alert-dialog.c"
               line="1446">whether @self uses markup for heading</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="1442">an alert dialog</doc>
            <type name="AlertDialog" c:type="AdwAlertDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_prefer_wide_layout"
              c:identifier="adw_alert_dialog_get_prefer_wide_layout"
              glib:get-property="prefer-wide-layout"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-alert-dialog.c"
             line="1851">Gets whether @self prefers wide layout.</doc>
        <source-position filename="src/adw-alert-dialog.h" line="102"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-alert-dialog.c"
               line="1857">whether to prefer wide layout</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="1853">an alert dialog</doc>
            <type name="AlertDialog" c:type="AdwAlertDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_response_appearance"
              c:identifier="adw_alert_dialog_get_response_appearance"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-alert-dialog.c"
             line="2125">Gets the appearance of @response.

See [method@AlertDialog.set_response_appearance].</doc>
        <source-position filename="src/adw-alert-dialog.h" line="130"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-alert-dialog.c"
               line="2134">the appearance of @response</doc>
          <type name="ResponseAppearance" c:type="AdwResponseAppearance"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="2127">an alert dialog</doc>
            <type name="AlertDialog" c:type="AdwAlertDialog*"/>
          </instance-parameter>
          <parameter name="response" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="2128">a response ID</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_response_enabled"
              c:identifier="adw_alert_dialog_get_response_enabled"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-alert-dialog.c"
             line="2210">Gets whether @response is enabled.

See [method@AlertDialog.set_response_enabled].</doc>
        <source-position filename="src/adw-alert-dialog.h" line="138"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-alert-dialog.c"
               line="2219">whether @response is enabled</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="2212">an alert dialog</doc>
            <type name="AlertDialog" c:type="AdwAlertDialog*"/>
          </instance-parameter>
          <parameter name="response" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="2213">a response ID</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_response_label"
              c:identifier="adw_alert_dialog_get_response_label"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-alert-dialog.c"
             line="2065">Gets the label of @response.

See [method@AlertDialog.set_response_label].</doc>
        <source-position filename="src/adw-alert-dialog.h" line="122"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-alert-dialog.c"
               line="2074">the label of @response</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="2067">an alert dialog</doc>
            <type name="AlertDialog" c:type="AdwAlertDialog*"/>
          </instance-parameter>
          <parameter name="response" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="2068">a response ID</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="has_response"
              c:identifier="adw_alert_dialog_has_response"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-alert-dialog.c"
             line="2404">Gets whether @self has a response with the ID @response.</doc>
        <source-position filename="src/adw-alert-dialog.h" line="158"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-alert-dialog.c"
               line="2411">whether @self has a response with the ID @response.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="2406">an alert dialog</doc>
            <type name="AlertDialog" c:type="AdwAlertDialog*"/>
          </instance-parameter>
          <parameter name="response" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="2407">response ID</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_response"
              c:identifier="adw_alert_dialog_remove_response"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-alert-dialog.c"
             line="2025">Removes a response from @self.</doc>
        <source-position filename="src/adw-alert-dialog.h" line="118"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="2027">an alert dialog</doc>
            <type name="AlertDialog" c:type="AdwAlertDialog*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="2028">the response ID</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_body"
              c:identifier="adw_alert_dialog_set_body"
              glib:set-property="body"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-alert-dialog.c"
             line="1613">Sets the body text of @self.</doc>
        <source-position filename="src/adw-alert-dialog.h" line="76"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="1615">an alert dialog</doc>
            <type name="AlertDialog" c:type="AdwAlertDialog*"/>
          </instance-parameter>
          <parameter name="body" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="1616">the body of @self</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_body_use_markup"
              c:identifier="adw_alert_dialog_set_body_use_markup"
              glib:set-property="body-use-markup"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-alert-dialog.c"
             line="1669">Sets whether the body text of @self includes Pango markup.

See [func@Pango.parse_markup].</doc>
        <source-position filename="src/adw-alert-dialog.h" line="82"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="1671">an alert dialog</doc>
            <type name="AlertDialog" c:type="AdwAlertDialog*"/>
          </instance-parameter>
          <parameter name="use_markup" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="1672">whether to use markup for body text</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_close_response"
              c:identifier="adw_alert_dialog_set_close_response"
              glib:set-property="close-response"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-alert-dialog.c"
             line="2367">Sets the ID of the close response of @self.

It will be passed to [signal@AlertDialog::response] if the dialog is closed
by pressing &lt;kbd&gt;Escape&lt;/kbd&gt; or with a system action.

It doesn't have to correspond to any of the responses in the dialog.

The default close response is `close`.</doc>
        <source-position filename="src/adw-alert-dialog.h" line="154"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="2369">an alert dialog</doc>
            <type name="AlertDialog" c:type="AdwAlertDialog*"/>
          </instance-parameter>
          <parameter name="response" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="2370">the close response ID</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_default_response"
              c:identifier="adw_alert_dialog_set_default_response"
              glib:set-property="default-response"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-alert-dialog.c"
             line="2305">Sets the ID of the default response of @self.

If set, pressing &lt;kbd&gt;Enter&lt;/kbd&gt; will activate the corresponding button.

If set to `NULL` or to a non-existent response ID, pressing &lt;kbd&gt;Enter&lt;/kbd&gt;
will do nothing.</doc>
        <source-position filename="src/adw-alert-dialog.h" line="148"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="2307">an alert dialog</doc>
            <type name="AlertDialog" c:type="AdwAlertDialog*"/>
          </instance-parameter>
          <parameter name="response"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="2308">the default response ID</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_extra_child"
              c:identifier="adw_alert_dialog_set_extra_child"
              glib:set-property="extra-child"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-alert-dialog.c"
             line="1816">Sets the child widget of @self.

The child widget is displayed below the heading and body.</doc>
        <source-position filename="src/adw-alert-dialog.h" line="98"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="1818">an alert dialog</doc>
            <type name="AlertDialog" c:type="AdwAlertDialog*"/>
          </instance-parameter>
          <parameter name="child"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="1819">the child widget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_heading"
              c:identifier="adw_alert_dialog_set_heading"
              glib:set-property="heading"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-alert-dialog.c"
             line="1402">Sets the heading of @self.</doc>
        <source-position filename="src/adw-alert-dialog.h" line="54"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="1404">an alert dialog</doc>
            <type name="AlertDialog" c:type="AdwAlertDialog*"/>
          </instance-parameter>
          <parameter name="heading"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="1405">the heading of @self</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_heading_use_markup"
              c:identifier="adw_alert_dialog_set_heading_use_markup"
              glib:set-property="heading-use-markup"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-alert-dialog.c"
             line="1462">Sets whether the heading of @self includes Pango markup.

See [func@Pango.parse_markup].</doc>
        <source-position filename="src/adw-alert-dialog.h" line="60"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="1464">an alert dialog</doc>
            <type name="AlertDialog" c:type="AdwAlertDialog*"/>
          </instance-parameter>
          <parameter name="use_markup" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="1465">whether to use markup for heading</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_prefer_wide_layout"
              c:identifier="adw_alert_dialog_set_prefer_wide_layout"
              glib:set-property="prefer-wide-layout"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-alert-dialog.c"
             line="1873">Sets whether @self prefers wide layout.

Prefer horizontal button layout when possible, and wider dialog width
otherwise.</doc>
        <source-position filename="src/adw-alert-dialog.h" line="104"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="1875">an alert dialog</doc>
            <type name="AlertDialog" c:type="AdwAlertDialog*"/>
          </instance-parameter>
          <parameter name="prefer_wide_layout" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="1876">whether to prefer wide layout</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_response_appearance"
              c:identifier="adw_alert_dialog_set_response_appearance"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-alert-dialog.c"
             line="2153">Sets the appearance for @response.

&lt;picture&gt;
  &lt;source srcset="alert-dialog-appearance-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="alert-dialog-appearance.png" alt="alert-dialog-appearance"&gt;
&lt;/picture&gt;

Use `ADW_RESPONSE_SUGGESTED` to mark important responses such as the
affirmative action, like the Save button in the example.

Use `ADW_RESPONSE_DESTRUCTIVE` to draw attention to the potentially damaging
consequences of using @response. This appearance acts as a warning to the
user. The Discard button in the example is using this appearance.

The default appearance is `ADW_RESPONSE_DEFAULT`.

Negative responses like Cancel or Close should use the default appearance.</doc>
        <source-position filename="src/adw-alert-dialog.h" line="133"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="2155">an alert dialog</doc>
            <type name="AlertDialog" c:type="AdwAlertDialog*"/>
          </instance-parameter>
          <parameter name="response" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="2156">a response ID</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="appearance" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="2157">appearance for @response</doc>
            <type name="ResponseAppearance" c:type="AdwResponseAppearance"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_response_enabled"
              c:identifier="adw_alert_dialog_set_response_enabled"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-alert-dialog.c"
             line="2238">Sets whether @response is enabled.

If @response is not enabled, the corresponding button will have
[property@Gtk.Widget:sensitive] set to `FALSE` and it can't be activated as
a default response.

@response can still be used as [property@AlertDialog:close-response] while
it's not enabled.

Responses are enabled by default.</doc>
        <source-position filename="src/adw-alert-dialog.h" line="141"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="2240">an alert dialog</doc>
            <type name="AlertDialog" c:type="AdwAlertDialog*"/>
          </instance-parameter>
          <parameter name="response" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="2241">a response ID</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="enabled" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="2242">whether to enable @response</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_response_label"
              c:identifier="adw_alert_dialog_set_response_label"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-alert-dialog.c"
             line="2093">Sets the label of @response to @label.

Labels are displayed on the dialog buttons. An embedded underline in @label
indicates a mnemonic.</doc>
        <source-position filename="src/adw-alert-dialog.h" line="125"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="2095">an alert dialog</doc>
            <type name="AlertDialog" c:type="AdwAlertDialog*"/>
          </instance-parameter>
          <parameter name="response" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="2096">a response ID</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="label" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="2097">the label of @response</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <property name="body"
                version="1.5"
                writable="1"
                transfer-ownership="none"
                setter="set_body"
                getter="get_body">
        <doc xml:space="preserve"
             filename="src/adw-alert-dialog.c"
             line="915">The body text of the dialog.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="body-use-markup"
                version="1.5"
                writable="1"
                transfer-ownership="none"
                setter="set_body_use_markup"
                getter="get_body_use_markup"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-alert-dialog.c"
             line="927">Whether the body text includes Pango markup.

See [func@Pango.parse_markup].</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="close-response"
                version="1.5"
                writable="1"
                transfer-ownership="none"
                setter="set_close_response"
                getter="get_close_response"
                default-value="close">
        <doc xml:space="preserve"
             filename="src/adw-alert-dialog.c"
             line="987">The ID of the close response.

It will be passed to [signal@AlertDialog::response] if the dialog is
closed by pressing &lt;kbd&gt;Escape&lt;/kbd&gt; or with a system action.

It doesn't have to correspond to any of the responses in the dialog.

The default close response is `close`.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="default-response"
                version="1.5"
                writable="1"
                transfer-ownership="none"
                setter="set_default_response"
                getter="get_default_response"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/adw-alert-dialog.c"
             line="970">The response ID of the default response.

If set, pressing &lt;kbd&gt;Enter&lt;/kbd&gt; will activate the corresponding button.

If set to `NULL` or a non-existent response ID, pressing &lt;kbd&gt;Enter&lt;/kbd&gt;
will do nothing.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="extra-child"
                version="1.5"
                writable="1"
                transfer-ownership="none"
                setter="set_extra_child"
                getter="get_extra_child">
        <doc xml:space="preserve"
             filename="src/adw-alert-dialog.c"
             line="941">The child widget.

Displayed below the heading and body.</doc>
        <type name="Gtk.Widget"/>
      </property>
      <property name="heading"
                version="1.5"
                writable="1"
                transfer-ownership="none"
                setter="set_heading"
                getter="get_heading">
        <doc xml:space="preserve"
             filename="src/adw-alert-dialog.c"
             line="889">The heading of the dialog.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="heading-use-markup"
                version="1.5"
                writable="1"
                transfer-ownership="none"
                setter="set_heading_use_markup"
                getter="get_heading_use_markup"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-alert-dialog.c"
             line="901">Whether the heading includes Pango markup.

See [func@Pango.parse_markup].</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="prefer-wide-layout"
                version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_prefer_wide_layout"
                getter="get_prefer_wide_layout"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-alert-dialog.c"
             line="955">Whether to prefer wide layout.

Prefer horizontal button layout when possible, and wider dialog width
otherwise.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <field name="parent_instance">
        <type name="Dialog" c:type="AdwDialog"/>
      </field>
      <glib:signal name="response" when="last" detailed="1" version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-alert-dialog.c"
             line="1008">This signal is emitted when the dialog is closed.

@response will be set to the response ID of the button that had been
activated.

if the dialog was closed by pressing &lt;kbd&gt;Escape&lt;/kbd&gt; or with a system
action, @response will be set to the value of
[property@AlertDialog:close-response].</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="response" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-alert-dialog.c"
                 line="1011">the response ID</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="AlertDialogClass"
            c:type="AdwAlertDialogClass"
            glib:is-gtype-struct-for="AlertDialog">
      <source-position filename="src/adw-alert-dialog.h" line="45"/>
      <field name="parent_class">
        <type name="DialogClass" c:type="AdwDialogClass"/>
      </field>
      <field name="response">
        <callback name="response">
          <source-position filename="src/adw-alert-dialog.h" line="40"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="AlertDialog" c:type="AdwAlertDialog*"/>
            </parameter>
            <parameter name="response" transfer-ownership="none">
              <type name="utf8" c:type="const char*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="padding" readable="0" private="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <class name="Animation"
           c:symbol-prefix="animation"
           c:type="AdwAnimation"
           parent="GObject.Object"
           abstract="1"
           glib:type-name="AdwAnimation"
           glib:get-type="adw_animation_get_type"
           glib:type-struct="AnimationClass">
      <doc xml:space="preserve"
           filename="src/adw-animation.c"
           line="16">A base class for animations.

`AdwAnimation` represents an animation on a widget. It has a target that
provides a value to animate, and a state indicating whether the
animation hasn't been started yet, is playing, paused or finished.

Currently there are two concrete animation types:
[class@TimedAnimation] and [class@SpringAnimation].

`AdwAnimation` will automatically skip the animation if
[property@Animation:widget] is unmapped, or if
[property@Gtk.Settings:gtk-enable-animations] is `FALSE`.

The [signal@Animation::done] signal can be used to perform an action after
the animation ends, for example hiding a widget after animating its
[property@Gtk.Widget:opacity] to 0.

`AdwAnimation` will be kept alive while the animation is playing. As such,
it's safe to create an animation, start it and immediately unref it:
A fire-and-forget animation:

```c
static void
animation_cb (double    value,
              MyObject *self)
{
  // Do something with @value
}

static void
my_object_animate (MyObject *self)
{
  AdwAnimationTarget *target =
    adw_callback_animation_target_new ((AdwAnimationTargetFunc) animation_cb,
                                       self, NULL);
  g_autoptr (AdwAnimation) animation =
    adw_timed_animation_new (widget, 0, 1, 250, target);

  adw_animation_play (animation);
}
```

If there's a chance the previous animation for the same target hasn't yet
finished, the previous animation should be stopped first, or the existing
`AdwAnimation` object can be reused.</doc>
      <source-position filename="src/adw-animation.h" line="36"/>
      <method name="get_follow_enable_animations_setting"
              c:identifier="adw_animation_get_follow_enable_animations_setting"
              glib:get-property="follow-enable-animations-setting"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-animation.c"
             line="762">Gets whether @self should be skipped when animations are globally disabled.</doc>
        <source-position filename="src/adw-animation.h" line="72"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-animation.c"
               line="768">whether to follow the global setting</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-animation.c"
                 line="764">an animation</doc>
            <type name="Animation" c:type="AdwAnimation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_state"
              c:identifier="adw_animation_get_state"
              glib:get-property="state">
        <doc xml:space="preserve"
             filename="src/adw-animation.c"
             line="549">Gets the current value of @self.

The state indicates whether @self is currently playing, paused, finished or
hasn't been started yet.</doc>
        <source-position filename="src/adw-animation.h" line="58"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-animation.c"
               line="558">the animation value</doc>
          <type name="AnimationState" c:type="AdwAnimationState"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-animation.c"
                 line="551">an animation</doc>
            <type name="Animation" c:type="AdwAnimation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_target"
              c:identifier="adw_animation_get_target"
              glib:get-property="target">
        <doc xml:space="preserve"
             filename="src/adw-animation.c"
             line="483">Gets the target @self animates.</doc>
        <source-position filename="src/adw-animation.h" line="49"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-animation.c"
               line="489">the animation target</doc>
          <type name="AnimationTarget" c:type="AdwAnimationTarget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-animation.c"
                 line="485">an animation</doc>
            <type name="Animation" c:type="AdwAnimation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_value"
              c:identifier="adw_animation_get_value"
              glib:get-property="value">
        <doc xml:space="preserve"
             filename="src/adw-animation.c"
             line="529">Gets the current value of @self.</doc>
        <source-position filename="src/adw-animation.h" line="55"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-animation.c"
               line="535">the current value</doc>
          <type name="gdouble" c:type="double"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-animation.c"
                 line="531">an animation</doc>
            <type name="Animation" c:type="AdwAnimation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_widget"
              c:identifier="adw_animation_get_widget"
              glib:get-property="widget">
        <doc xml:space="preserve"
             filename="src/adw-animation.c"
             line="456">Gets the widget @self was created for.

It provides the frame clock for the animation. It's not strictly necessary
for this widget to be same as the one being animated.

The widget must be mapped in order for the animation to work. If it's not
mapped, or if it gets unmapped during an ongoing animation, the animation
will be automatically skipped.</doc>
        <source-position filename="src/adw-animation.h" line="46"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-animation.c"
               line="469">the animation widget</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-animation.c"
                 line="458">an animation</doc>
            <type name="Animation" c:type="AdwAnimation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="pause" c:identifier="adw_animation_pause">
        <doc xml:space="preserve"
             filename="src/adw-animation.c"
             line="610">Pauses a playing animation for @self.

Does nothing if the current state of @self isn't `ADW_ANIMATION_PLAYING`.

Sets [property@Animation:state] to `ADW_ANIMATION_PAUSED`.</doc>
        <source-position filename="src/adw-animation.h" line="63"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-animation.c"
                 line="612">an animation</doc>
            <type name="Animation" c:type="AdwAnimation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="play" c:identifier="adw_animation_play">
        <doc xml:space="preserve"
             filename="src/adw-animation.c"
             line="572">Starts the animation for @self.

If the animation is playing, paused or has been completed, restarts it from
the beginning. This allows to easily play an animation regardless of whether
it's already playing or not.

Sets [property@Animation:state] to `ADW_ANIMATION_PLAYING`.

The animation will be automatically skipped if [property@Animation:widget] is
unmapped, or if [property@Gtk.Settings:gtk-enable-animations] is `FALSE`.

As such, it's not guaranteed that the animation will actually run. For
example, when using [func@GLib.idle_add] and starting an animation
immediately afterwards, it's entirely possible that the idle callback will
run after the animation has already finished, and not while it's playing.</doc>
        <source-position filename="src/adw-animation.h" line="61"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-animation.c"
                 line="574">an animation</doc>
            <type name="Animation" c:type="AdwAnimation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="reset" c:identifier="adw_animation_reset">
        <doc xml:space="preserve"
             filename="src/adw-animation.c"
             line="722">Resets the animation for @self.

Sets [property@Animation:state] to `ADW_ANIMATION_IDLE`.</doc>
        <source-position filename="src/adw-animation.h" line="67"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-animation.c"
                 line="724">an animation</doc>
            <type name="Animation" c:type="AdwAnimation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="resume" c:identifier="adw_animation_resume">
        <doc xml:space="preserve"
             filename="src/adw-animation.c"
             line="646">Resumes a paused animation for @self.

This function must only be used if the animation has been paused with
[method@Animation.pause].

Sets [property@Animation:state] to `ADW_ANIMATION_PLAYING`.</doc>
        <source-position filename="src/adw-animation.h" line="65"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-animation.c"
                 line="648">an animation</doc>
            <type name="Animation" c:type="AdwAnimation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_follow_enable_animations_setting"
              c:identifier="adw_animation_set_follow_enable_animations_setting"
              glib:set-property="follow-enable-animations-setting"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-animation.c"
             line="784">Sets whether to skip @self when animations are globally disabled.

The default behavior is to skip the animation. Set to `FALSE` to disable this
behavior.

This can be useful for cases where animation is essential, like spinners, or
in demo applications. Most other animations should keep it enabled.

See [property@Gtk.Settings:gtk-enable-animations].</doc>
        <source-position filename="src/adw-animation.h" line="74"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-animation.c"
                 line="786">an animation</doc>
            <type name="Animation" c:type="AdwAnimation*"/>
          </instance-parameter>
          <parameter name="setting" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-animation.c"
                 line="787">whether to follow the global setting</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_target"
              c:identifier="adw_animation_set_target"
              glib:set-property="target">
        <doc xml:space="preserve"
             filename="src/adw-animation.c"
             line="503">Sets the target @self animates to @target.</doc>
        <source-position filename="src/adw-animation.h" line="51"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-animation.c"
                 line="505">an animation</doc>
            <type name="Animation" c:type="AdwAnimation*"/>
          </instance-parameter>
          <parameter name="target" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-animation.c"
                 line="506">an animation target</doc>
            <type name="AnimationTarget" c:type="AdwAnimationTarget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="skip" c:identifier="adw_animation_skip">
        <doc xml:space="preserve"
             filename="src/adw-animation.c"
             line="675">Skips the animation for @self.

If the animation hasn't been started yet, is playing, or is paused, instantly
skips the animation to the end and causes [signal@Animation::done] to be
emitted.

Sets [property@Animation:state] to `ADW_ANIMATION_FINISHED`.</doc>
        <source-position filename="src/adw-animation.h" line="69"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-animation.c"
                 line="677">an animation</doc>
            <type name="Animation" c:type="AdwAnimation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="follow-enable-animations-setting"
                version="1.3"
                writable="1"
                transfer-ownership="none"
                setter="set_follow_enable_animations_setting"
                getter="get_follow_enable_animations_setting"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-animation.c"
             line="405">Whether to skip the animation when animations are globally disabled.

The default behavior is to skip the animation. Set to `FALSE` to disable
this behavior.

This can be useful for cases where animation is essential, like spinners,
or in demo applications. Most other animations should keep it enabled.

See [property@Gtk.Settings:gtk-enable-animations].</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="state"
                transfer-ownership="none"
                getter="get_state"
                default-value="ADW_ANIMATION_IDLE">
        <doc xml:space="preserve"
             filename="src/adw-animation.c"
             line="391">The animation state.

The state indicates whether the animation is currently playing, paused,
finished or hasn't been started yet.</doc>
        <type name="AnimationState"/>
      </property>
      <property name="target"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_target"
                getter="get_target">
        <doc xml:space="preserve"
             filename="src/adw-animation.c"
             line="369">The target to animate.</doc>
        <type name="AnimationTarget"/>
      </property>
      <property name="value"
                transfer-ownership="none"
                getter="get_value"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="src/adw-animation.c"
             line="379">The current value of the animation.</doc>
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="widget"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_widget">
        <doc xml:space="preserve"
             filename="src/adw-animation.c"
             line="352">The animation widget.

It provides the frame clock for the animation. It's not strictly necessary
for this widget to be same as the one being animated.

The widget must be mapped in order for the animation to work. If it's not
mapped, or if it gets unmapped during an ongoing animation, the animation
will be automatically skipped.</doc>
        <type name="Gtk.Widget"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <glib:signal name="done" when="last">
        <doc xml:space="preserve"
             filename="src/adw-animation.c"
             line="427">This signal is emitted when the animation has been completed, either on its
own or via calling [method@Animation.skip].</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="AnimationClass"
            c:type="AdwAnimationClass"
            disguised="1"
            opaque="1"
            glib:is-gtype-struct-for="Animation">
      <source-position filename="src/adw-animation.h" line="36"/>
    </record>
    <enumeration name="AnimationState"
                 glib:type-name="AdwAnimationState"
                 glib:get-type="adw_animation_state_get_type"
                 c:type="AdwAnimationState">
      <doc xml:space="preserve"
           filename="src/adw-animation.c"
           line="66">Describes the possible states of an [class@Animation].

The state can be controlled with [method@Animation.play],
[method@Animation.pause], [method@Animation.resume],
[method@Animation.reset] and [method@Animation.skip].</doc>
      <member name="idle"
              value="0"
              c:identifier="ADW_ANIMATION_IDLE"
              glib:nick="idle"
              glib:name="ADW_ANIMATION_IDLE">
        <doc xml:space="preserve"
             filename="src/adw-animation.c"
             line="68">The animation hasn't started yet.</doc>
      </member>
      <member name="paused"
              value="1"
              c:identifier="ADW_ANIMATION_PAUSED"
              glib:nick="paused"
              glib:name="ADW_ANIMATION_PAUSED">
        <doc xml:space="preserve"
             filename="src/adw-animation.c"
             line="69">The animation has been paused.</doc>
      </member>
      <member name="playing"
              value="2"
              c:identifier="ADW_ANIMATION_PLAYING"
              glib:nick="playing"
              glib:name="ADW_ANIMATION_PLAYING">
        <doc xml:space="preserve"
             filename="src/adw-animation.c"
             line="70">The animation is currently playing.</doc>
      </member>
      <member name="finished"
              value="3"
              c:identifier="ADW_ANIMATION_FINISHED"
              glib:nick="finished"
              glib:name="ADW_ANIMATION_FINISHED">
        <doc xml:space="preserve"
             filename="src/adw-animation.c"
             line="71">The animation has finished.</doc>
      </member>
    </enumeration>
    <class name="AnimationTarget"
           c:symbol-prefix="animation_target"
           c:type="AdwAnimationTarget"
           parent="GObject.Object"
           abstract="1"
           glib:type-name="AdwAnimationTarget"
           glib:get-type="adw_animation_target_get_type"
           glib:type-struct="AnimationTargetClass">
      <doc xml:space="preserve"
           filename="src/adw-animation-target.c"
           line="11">Represents a value [class@Animation] can animate.</doc>
      <source-position filename="src/adw-animation-target.h" line="22"/>
    </class>
    <record name="AnimationTargetClass"
            c:type="AdwAnimationTargetClass"
            disguised="1"
            opaque="1"
            glib:is-gtype-struct-for="AnimationTarget">
      <source-position filename="src/adw-animation-target.h" line="22"/>
    </record>
    <callback name="AnimationTargetFunc" c:type="AdwAnimationTargetFunc">
      <doc xml:space="preserve"
           filename="src/adw-animation-target.h"
           line="25">Prototype for animation targets based on user callbacks.</doc>
      <source-position filename="src/adw-animation-target.h" line="32"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="value" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-animation-target.h"
               line="27">The animation value</doc>
          <type name="gdouble" c:type="double"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="1">
          <doc xml:space="preserve"
               filename="src/adw-animation-target.h"
               line="28">The user data provided when creating the target</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <class name="Application"
           c:symbol-prefix="application"
           c:type="AdwApplication"
           parent="Gtk.Application"
           glib:type-name="AdwApplication"
           glib:get-type="adw_application_get_type"
           glib:type-struct="ApplicationClass">
      <doc xml:space="preserve"
           filename="src/adw-application.c"
           line="11">A base class for Adwaita applications.

`AdwApplication` handles library initialization by calling [func@init] in the
default [signal@Gio.Application::startup] signal handler, in turn chaining up
as required by [class@Gtk.Application]. Therefore, any subclass of
`AdwApplication` should always chain up its `startup` handler before using
any Adwaita or GTK API.

## Automatic Resources

`AdwApplication` will automatically load stylesheets located in the
application's resource base path (see
[method@Gio.Application.set_resource_base_path], if they're present.

They can be used to add custom styles to the application, as follows:

- `style.css` contains styles that are always present.

- `style-dark.css` contains styles only used when
[property@StyleManager:dark] is `TRUE`.

- `style-hc.css` contains styles used when the system high contrast
  preference is enabled.

- `style-hc-dark.css` contains styles used when the system high contrast
  preference is enabled and [property@StyleManager:dark] is `TRUE`.</doc>
      <source-position filename="src/adw-application.h" line="36"/>
      <implements name="Gio.ActionGroup"/>
      <implements name="Gio.ActionMap"/>
      <constructor name="new" c:identifier="adw_application_new">
        <doc xml:space="preserve"
             filename="src/adw-application.c"
             line="248">Creates a new `AdwApplication`.

If `application_id` is not `NULL`, then it must be valid. See
[func@Gio.Application.id_is_valid].

If no application ID is given then some features (most notably application
uniqueness) will be disabled.</doc>
        <source-position filename="src/adw-application.h" line="39"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/adw-application.c"
               line="261">the newly created `AdwApplication`</doc>
          <type name="Application" c:type="AdwApplication*"/>
        </return-value>
        <parameters>
          <parameter name="application_id"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-application.c"
                 line="250">The application ID</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-application.c"
                 line="251">The application flags</doc>
            <type name="Gio.ApplicationFlags" c:type="GApplicationFlags"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_style_manager"
              c:identifier="adw_application_get_style_manager"
              glib:get-property="style-manager">
        <doc xml:space="preserve"
             filename="src/adw-application.c"
             line="273">Gets the style manager for @self.

This is a convenience property allowing to access `AdwStyleManager` through
property bindings or expressions.</doc>
        <source-position filename="src/adw-application.h" line="43"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-application.c"
               line="282">the style manager</doc>
          <type name="StyleManager" c:type="AdwStyleManager*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-application.c"
                 line="275">an application</doc>
            <type name="Application" c:type="AdwApplication*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="style-manager"
                transfer-ownership="none"
                getter="get_style_manager">
        <doc xml:space="preserve"
             filename="src/adw-application.c"
             line="227">The style manager for this application.

This is a convenience property allowing to access `AdwStyleManager` through
property bindings or expressions.</doc>
        <type name="StyleManager"/>
      </property>
      <field name="parent_instance">
        <type name="Gtk.Application" c:type="GtkApplication"/>
      </field>
    </class>
    <record name="ApplicationClass"
            c:type="AdwApplicationClass"
            glib:is-gtype-struct-for="Application">
      <source-position filename="src/adw-application.h" line="36"/>
      <field name="parent_class">
        <doc xml:space="preserve"
             filename="src/adw-application.h"
             line="28">The parent class</doc>
        <type name="Gtk.ApplicationClass" c:type="GtkApplicationClass"/>
      </field>
      <field name="padding" readable="0" private="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <class name="ApplicationWindow"
           c:symbol-prefix="application_window"
           c:type="AdwApplicationWindow"
           parent="Gtk.ApplicationWindow"
           glib:type-name="AdwApplicationWindow"
           glib:get-type="adw_application_window_get_type"
           glib:type-struct="ApplicationWindowClass">
      <doc xml:space="preserve"
           filename="src/adw-application-window.c"
           line="20">A freeform application window.

&lt;picture&gt;
  &lt;source srcset="application-window-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="application-window.png" alt="application-window"&gt;
&lt;/picture&gt;

`AdwApplicationWindow` is a [class@Gtk.ApplicationWindow] subclass providing
the same features as [class@Window].

See [class@Window] for details.

Example of an `AdwApplicationWindow` UI definition:

```xml
&lt;object class="AdwApplicationWindow"&gt;
  &lt;property name="content"&gt;
    &lt;object class="AdwToolbarView"&gt;
      &lt;child type="top"&gt;
        &lt;object class="AdwHeaderBar"/&gt;
      &lt;/child&gt;
      &lt;property name="content"&gt;
        &lt;!-- ... --&gt;
      &lt;/property&gt;
    &lt;/object&gt;
  &lt;/property&gt;
&lt;/object&gt;
```

Using [property@Gtk.Application:menubar] is not supported and may result in
visual glitches.</doc>
      <source-position filename="src/adw-application-window.h" line="33"/>
      <implements name="Gio.ActionGroup"/>
      <implements name="Gio.ActionMap"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <implements name="Gtk.Native"/>
      <implements name="Gtk.Root"/>
      <implements name="Gtk.ShortcutManager"/>
      <constructor name="new" c:identifier="adw_application_window_new">
        <doc xml:space="preserve"
             filename="src/adw-application-window.c"
             line="336">Creates a new `AdwApplicationWindow` for @app.</doc>
        <source-position filename="src/adw-application-window.h" line="36"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-application-window.c"
               line="342">the newly created `AdwApplicationWindow`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="app" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-application-window.c"
                 line="338">an application instance</doc>
            <type name="Gtk.Application" c:type="GtkApplication*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="add_breakpoint"
              c:identifier="adw_application_window_add_breakpoint"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-application-window.c"
             line="405">Adds @breakpoint to @self.</doc>
        <source-position filename="src/adw-application-window.h" line="45"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-application-window.c"
                 line="407">an application window</doc>
            <type name="ApplicationWindow" c:type="AdwApplicationWindow*"/>
          </instance-parameter>
          <parameter name="breakpoint" transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/adw-application-window.c"
                 line="408">the breakpoint to add</doc>
            <type name="Breakpoint" c:type="AdwBreakpoint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_adaptive_preview"
              c:identifier="adw_application_window_get_adaptive_preview"
              glib:get-property="adaptive-preview"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-application-window.c"
             line="496">Gets whether adaptive preview for @self is currently open.</doc>
        <source-position filename="src/adw-application-window.h" line="58"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-application-window.c"
               line="502">whether adaptive preview is open.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-application-window.c"
                 line="498">an application window</doc>
            <type name="ApplicationWindow" c:type="AdwApplicationWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_content"
              c:identifier="adw_application_window_get_content"
              glib:get-property="content">
        <doc xml:space="preserve"
             filename="src/adw-application-window.c"
             line="383">Gets the content widget of @self.

This method should always be used instead of [method@Gtk.Window.get_child].</doc>
        <source-position filename="src/adw-application-window.h" line="42"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-application-window.c"
               line="391">the content widget of @self</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-application-window.c"
                 line="385">an application window</doc>
            <type name="ApplicationWindow" c:type="AdwApplicationWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_current_breakpoint"
              c:identifier="adw_application_window_get_current_breakpoint"
              glib:get-property="current-breakpoint"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-application-window.c"
             line="428">Gets the current breakpoint.</doc>
        <source-position filename="src/adw-application-window.h" line="49"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-application-window.c"
               line="434">the current breakpoint</doc>
          <type name="Breakpoint" c:type="AdwBreakpoint*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-application-window.c"
                 line="430">an application window</doc>
            <type name="ApplicationWindow" c:type="AdwApplicationWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_dialogs"
              c:identifier="adw_application_window_get_dialogs"
              glib:get-property="dialogs"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-application-window.c"
             line="450">Returns a [iface@Gio.ListModel] that contains the open dialogs of @self.

This can be used to keep an up-to-date view.</doc>
        <source-position filename="src/adw-application-window.h" line="52"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/adw-application-window.c"
               line="458">a list model for the dialogs of @self</doc>
          <type name="Gio.ListModel" c:type="GListModel*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-application-window.c"
                 line="452">an application window</doc>
            <type name="ApplicationWindow" c:type="AdwApplicationWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_visible_dialog"
              c:identifier="adw_application_window_get_visible_dialog"
              glib:get-property="visible-dialog"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-application-window.c"
             line="474">Returns the currently visible dialog in @self, if there's one.</doc>
        <source-position filename="src/adw-application-window.h" line="55"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-application-window.c"
               line="480">the visible dialog</doc>
          <type name="Dialog" c:type="AdwDialog*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-application-window.c"
                 line="476">an application window</doc>
            <type name="ApplicationWindow" c:type="AdwApplicationWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_adaptive_preview"
              c:identifier="adw_application_window_set_adaptive_preview"
              glib:set-property="adaptive-preview"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-application-window.c"
             line="518">Sets whether adaptive preview for @self is currently open.

Adaptive preview is a debugging tool used for testing the window
contents at specific screen sizes, simulating mobile environment.

Adaptive preview can always be accessed from inspector. This function
allows applications to open it manually.

Most applications should not use this function.</doc>
        <source-position filename="src/adw-application-window.h" line="60"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-application-window.c"
                 line="520">an application window</doc>
            <type name="ApplicationWindow" c:type="AdwApplicationWindow*"/>
          </instance-parameter>
          <parameter name="adaptive_preview" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-application-window.c"
                 line="521">whether to open adaptive preview</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_content"
              c:identifier="adw_application_window_set_content"
              glib:set-property="content">
        <doc xml:space="preserve"
             filename="src/adw-application-window.c"
             line="352">Sets the content widget of @self.

This method should always be used instead of [method@Gtk.Window.set_child].</doc>
        <source-position filename="src/adw-application-window.h" line="39"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-application-window.c"
                 line="354">an application window</doc>
            <type name="ApplicationWindow" c:type="AdwApplicationWindow*"/>
          </instance-parameter>
          <parameter name="content"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-application-window.c"
                 line="355">the content widget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <property name="adaptive-preview"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_adaptive_preview"
                getter="get_adaptive_preview"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-application-window.c"
             line="246">Whether adaptive preview is currently open.

Adaptive preview is a debugging tool used for testing the window
contents at specific screen sizes, simulating mobile environment.

Adaptive preview can always be accessed from inspector. This function
allows applications to open it manually.

Most applications should not use this property.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="content"
                writable="1"
                transfer-ownership="none"
                setter="set_content"
                getter="get_content">
        <doc xml:space="preserve"
             filename="src/adw-application-window.c"
             line="198">The content widget.

This property should always be used instead of [property@Gtk.Window:child].</doc>
        <type name="Gtk.Widget"/>
      </property>
      <property name="current-breakpoint"
                version="1.4"
                transfer-ownership="none"
                getter="get_current_breakpoint">
        <doc xml:space="preserve"
             filename="src/adw-application-window.c"
             line="210">The current breakpoint.</doc>
        <type name="Breakpoint"/>
      </property>
      <property name="dialogs"
                version="1.5"
                transfer-ownership="none"
                getter="get_dialogs">
        <doc xml:space="preserve"
             filename="src/adw-application-window.c"
             line="222">The open dialogs.</doc>
        <type name="Gio.ListModel"/>
      </property>
      <property name="visible-dialog"
                version="1.5"
                transfer-ownership="none"
                getter="get_visible_dialog">
        <doc xml:space="preserve"
             filename="src/adw-application-window.c"
             line="234">The currently visible dialog</doc>
        <type name="Dialog"/>
      </property>
      <field name="parent_instance">
        <type name="Gtk.ApplicationWindow" c:type="GtkApplicationWindow"/>
      </field>
    </class>
    <record name="ApplicationWindowClass"
            c:type="AdwApplicationWindowClass"
            glib:is-gtype-struct-for="ApplicationWindow">
      <source-position filename="src/adw-application-window.h" line="33"/>
      <field name="parent_class">
        <type name="Gtk.ApplicationWindowClass"
              c:type="GtkApplicationWindowClass"/>
      </field>
      <field name="padding" readable="0" private="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <class name="Avatar"
           c:symbol-prefix="avatar"
           c:type="AdwAvatar"
           parent="Gtk.Widget"
           final="1"
           glib:type-name="AdwAvatar"
           glib:get-type="adw_avatar_get_type"
           glib:type-struct="AvatarClass">
      <doc xml:space="preserve"
           filename="src/adw-avatar.c"
           line="22">A widget displaying an image, with a generated fallback.

&lt;picture&gt;
  &lt;source srcset="avatar-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="avatar.png" alt="avatar"&gt;
&lt;/picture&gt;

`AdwAvatar` is a widget that shows a round avatar.

`AdwAvatar` generates an avatar with the initials of  the
[property@Avatar:text] on top of a colored background.

The color is picked based on the hash of the [property@Avatar:text].

If [property@Avatar:show-initials] is set to `FALSE`,
[property@Avatar:icon-name] or `avatar-default-symbolic` is shown instead of
the initials.

Use [property@Avatar:custom-image] to set a custom image.

## CSS nodes

`AdwAvatar` has a single CSS node with name `avatar`.

## Accessibility

`AdwAvatar` uses the `GTK_ACCESSIBLE_ROLE_IMG` role.</doc>
      <source-position filename="src/adw-avatar.h" line="22"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <constructor name="new" c:identifier="adw_avatar_new">
        <doc xml:space="preserve"
             filename="src/adw-avatar.c"
             line="503">Creates a new `AdwAvatar`.</doc>
        <source-position filename="src/adw-avatar.h" line="25"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-avatar.c"
               line="511">the newly created `AdwAvatar`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="size" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-avatar.c"
                 line="505">The size of the avatar</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="text"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-avatar.c"
                 line="506">the text used to get the initials and color</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="show_initials" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-avatar.c"
                 line="507">whether to use initials instead of an icon as fallback</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="draw_to_texture" c:identifier="adw_avatar_draw_to_texture">
        <doc xml:space="preserve"
             filename="src/adw-avatar.c"
             line="768">Renders @self into a [class@Gdk.Texture] at @scale_factor.

This can be used to export the fallback avatar.</doc>
        <source-position filename="src/adw-avatar.h" line="60"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/adw-avatar.c"
               line="777">the texture</doc>
          <type name="Gdk.Texture" c:type="GdkTexture*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-avatar.c"
                 line="770">an avatar</doc>
            <type name="Avatar" c:type="AdwAvatar*"/>
          </instance-parameter>
          <parameter name="scale_factor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-avatar.c"
                 line="771">The scale factor</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_custom_image"
              c:identifier="adw_avatar_get_custom_image"
              glib:get-property="custom-image">
        <doc xml:space="preserve"
             filename="src/adw-avatar.c"
             line="652">Gets the custom image paintable.</doc>
        <source-position filename="src/adw-avatar.h" line="48"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-avatar.c"
               line="658">the custom image</doc>
          <type name="Gdk.Paintable" c:type="GdkPaintable*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-avatar.c"
                 line="654">an avatar</doc>
            <type name="Avatar" c:type="AdwAvatar*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_icon_name"
              c:identifier="adw_avatar_get_icon_name"
              glib:get-property="icon-name">
        <doc xml:space="preserve"
             filename="src/adw-avatar.c"
             line="525">Gets the name of an icon to use as a fallback.</doc>
        <source-position filename="src/adw-avatar.h" line="30"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-avatar.c"
               line="531">the icon name</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-avatar.c"
                 line="527">an avatar</doc>
            <type name="Avatar" c:type="AdwAvatar*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_show_initials"
              c:identifier="adw_avatar_get_show_initials"
              glib:get-property="show-initials">
        <doc xml:space="preserve"
             filename="src/adw-avatar.c"
             line="609">Gets whether initials are used instead of an icon on the fallback avatar.</doc>
        <source-position filename="src/adw-avatar.h" line="42"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-avatar.c"
               line="615">whether initials are used instead of an icon as fallback</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-avatar.c"
                 line="611">an avatar</doc>
            <type name="Avatar" c:type="AdwAvatar*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_size"
              c:identifier="adw_avatar_get_size"
              glib:get-property="size">
        <doc xml:space="preserve"
             filename="src/adw-avatar.c"
             line="718">Gets the size of the avatar.</doc>
        <source-position filename="src/adw-avatar.h" line="54"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-avatar.c"
               line="724">the size of the avatar</doc>
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-avatar.c"
                 line="720">an avatar</doc>
            <type name="Avatar" c:type="AdwAvatar*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_text"
              c:identifier="adw_avatar_get_text"
              glib:get-property="text">
        <doc xml:space="preserve"
             filename="src/adw-avatar.c"
             line="564">Gets the text used to generate the fallback initials and color.</doc>
        <source-position filename="src/adw-avatar.h" line="36"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-avatar.c"
               line="570">the text used to generate the fallback initials and
  color</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-avatar.c"
                 line="566">an avatar</doc>
            <type name="Avatar" c:type="AdwAvatar*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_custom_image"
              c:identifier="adw_avatar_set_custom_image"
              glib:set-property="custom-image">
        <doc xml:space="preserve"
             filename="src/adw-avatar.c"
             line="668">Sets the custom image paintable.

Custom image is displayed instead of initials or icon.</doc>
        <source-position filename="src/adw-avatar.h" line="50"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-avatar.c"
                 line="670">an avatar</doc>
            <type name="Avatar" c:type="AdwAvatar*"/>
          </instance-parameter>
          <parameter name="custom_image"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-avatar.c"
                 line="671">a custom image</doc>
            <type name="Gdk.Paintable" c:type="GdkPaintable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_icon_name"
              c:identifier="adw_avatar_set_icon_name"
              glib:set-property="icon-name">
        <doc xml:space="preserve"
             filename="src/adw-avatar.c"
             line="541">Sets the name of an icon to use as a fallback.

If no name is set, `avatar-default-symbolic` will be used.</doc>
        <source-position filename="src/adw-avatar.h" line="32"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-avatar.c"
                 line="543">an avatar</doc>
            <type name="Avatar" c:type="AdwAvatar*"/>
          </instance-parameter>
          <parameter name="icon_name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-avatar.c"
                 line="544">the icon name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_show_initials"
              c:identifier="adw_avatar_set_show_initials"
              glib:set-property="show-initials">
        <doc xml:space="preserve"
             filename="src/adw-avatar.c"
             line="625">Sets whether to use initials instead of an icon on the fallback avatar.

See [property@Avatar:icon-name] for how to change the fallback icon.</doc>
        <source-position filename="src/adw-avatar.h" line="44"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-avatar.c"
                 line="627">an avatar</doc>
            <type name="Avatar" c:type="AdwAvatar*"/>
          </instance-parameter>
          <parameter name="show_initials" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-avatar.c"
                 line="628">whether to use initials instead of an icon as fallback</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_size"
              c:identifier="adw_avatar_set_size"
              glib:set-property="size">
        <doc xml:space="preserve"
             filename="src/adw-avatar.c"
             line="734">Sets the size of the avatar.</doc>
        <source-position filename="src/adw-avatar.h" line="56"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-avatar.c"
                 line="736">an avatar</doc>
            <type name="Avatar" c:type="AdwAvatar*"/>
          </instance-parameter>
          <parameter name="size" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-avatar.c"
                 line="737">The size of the avatar</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_text"
              c:identifier="adw_avatar_set_text"
              glib:set-property="text">
        <doc xml:space="preserve"
             filename="src/adw-avatar.c"
             line="581">Sets the text used to generate the fallback initials and color.

It's only used to generate the color if [property@Avatar:show-initials] is
`FALSE`.</doc>
        <source-position filename="src/adw-avatar.h" line="38"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-avatar.c"
                 line="583">an avatar</doc>
            <type name="Avatar" c:type="AdwAvatar*"/>
          </instance-parameter>
          <parameter name="text"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-avatar.c"
                 line="584">the text used to get the initials and color</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <property name="custom-image"
                writable="1"
                transfer-ownership="none"
                setter="set_custom_image"
                getter="get_custom_image">
        <doc xml:space="preserve"
             filename="src/adw-avatar.c"
             line="436">A custom image paintable.

Custom image is displayed instead of initials or icon.</doc>
        <type name="Gdk.Paintable"/>
      </property>
      <property name="icon-name"
                writable="1"
                transfer-ownership="none"
                setter="set_icon_name"
                getter="get_icon_name"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/adw-avatar.c"
             line="399">The name of an icon to use as a fallback.

If no name is set, `avatar-default-symbolic` will be used.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="show-initials"
                writable="1"
                transfer-ownership="none"
                setter="set_show_initials"
                getter="get_show_initials"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-avatar.c"
             line="424">Whether initials are used instead of an icon on the fallback avatar.

See [property@Avatar:icon-name] for how to change the fallback icon.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="size"
                writable="1"
                transfer-ownership="none"
                setter="set_size"
                getter="get_size"
                default-value="-1">
        <doc xml:space="preserve"
             filename="src/adw-avatar.c"
             line="448">The size of the avatar.</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="text"
                writable="1"
                transfer-ownership="none"
                setter="set_text"
                getter="get_text">
        <doc xml:space="preserve"
             filename="src/adw-avatar.c"
             line="411">Sets the text used to generate the fallback initials and color.

It's only used to generate the color if [property@Avatar:show-initials] is
`FALSE`.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
    </class>
    <record name="AvatarClass"
            c:type="AdwAvatarClass"
            glib:is-gtype-struct-for="Avatar">
      <source-position filename="src/adw-avatar.h" line="22"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
    </record>
    <class name="Banner"
           c:symbol-prefix="banner"
           c:type="AdwBanner"
           version="1.3"
           parent="Gtk.Widget"
           final="1"
           glib:type-name="AdwBanner"
           glib:get-type="adw_banner_get_type"
           glib:type-struct="BannerClass">
      <doc xml:space="preserve"
           filename="src/adw-banner.c"
           line="37">A bar with contextual information.

&lt;picture&gt;
  &lt;source srcset="banner-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="banner.png" alt="banner"&gt;
&lt;/picture&gt;

Banners are hidden by default, use [property@Banner:revealed] to show them.

Banners have a title, set with [property@Banner:title]. Titles can be marked
up with Pango markup, use [property@Banner:use-markup] to enable it.

The title will be shown centered or left-aligned depending on available
space.

Banners can optionally have a button with text on it, set through
[property@Banner:button-label]. The button can be used with a `GAction`,
or with the [signal@Banner::button-clicked] signal. The button can have
different styles, a gray style and a suggested style.

&lt;picture&gt;
  &lt;source srcset="banner-suggested-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="banner-suggested.png" alt="banner with suggested button style"&gt;
&lt;/picture&gt;

## CSS nodes

`AdwBanner` has a main CSS node with the name `banner`.</doc>
      <source-position filename="src/adw-banner.h" line="28"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Actionable"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <constructor name="new" c:identifier="adw_banner_new" version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-banner.c"
             line="557">Creates a new `AdwBanner`.</doc>
        <source-position filename="src/adw-banner.h" line="31"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-banner.c"
               line="563">the newly created `AdwBanner`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="title" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-banner.c"
                 line="559">the banner title</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_button_label"
              c:identifier="adw_banner_get_button_label"
              glib:get-property="button-label"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-banner.c"
             line="621">Gets the button label for @self.</doc>
        <source-position filename="src/adw-banner.h" line="40"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-banner.c"
               line="627">the button label for @self</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-banner.c"
                 line="623">a banner</doc>
            <type name="Banner" c:type="AdwBanner*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_button_style"
              c:identifier="adw_banner_get_button_style"
              glib:get-property="button-style"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-banner.c"
             line="714">Gets the style class in use for the banner button.</doc>
        <source-position filename="src/adw-banner.h" line="58"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-banner.c"
               line="720">the current button style</doc>
          <type name="BannerButtonStyle" c:type="AdwBannerButtonStyle"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-banner.c"
                 line="716">a banner</doc>
            <type name="Banner" c:type="AdwBanner*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_revealed"
              c:identifier="adw_banner_get_revealed"
              glib:get-property="revealed"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-banner.c"
             line="777">Gets if a banner is revealed</doc>
        <source-position filename="src/adw-banner.h" line="46"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-banner.c"
               line="783">Whether a banner is revealed</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-banner.c"
                 line="779">a banner</doc>
            <type name="Banner" c:type="AdwBanner*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_title"
              c:identifier="adw_banner_get_title"
              glib:get-property="title"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-banner.c"
             line="577">Gets the title for @self.</doc>
        <source-position filename="src/adw-banner.h" line="34"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-banner.c"
               line="583">the title for @self</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-banner.c"
                 line="579">a banner</doc>
            <type name="Banner" c:type="AdwBanner*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_use_markup"
              c:identifier="adw_banner_get_use_markup"
              glib:get-property="use-markup"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-banner.c"
             line="669">Gets whether to use Pango markup for the banner title.</doc>
        <source-position filename="src/adw-banner.h" line="52"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-banner.c"
               line="675">whether to use markup</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-banner.c"
                 line="671">a banner</doc>
            <type name="Banner" c:type="AdwBanner*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_button_label"
              c:identifier="adw_banner_set_button_label"
              glib:set-property="button-label"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-banner.c"
             line="639">Sets the button label for @self.

If set to `""` or `NULL`, the button won't be shown.

The button can be used with a `GAction`, or with the
[signal@Banner::button-clicked] signal.</doc>
        <source-position filename="src/adw-banner.h" line="42"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-banner.c"
                 line="641">a banner</doc>
            <type name="Banner" c:type="AdwBanner*"/>
          </instance-parameter>
          <parameter name="label"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-banner.c"
                 line="642">the label</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_button_style"
              c:identifier="adw_banner_set_button_style"
              glib:set-property="button-style"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-banner.c"
             line="732">Sets the style class to use for the banner button.

When set to `ADW_BANNER_BUTTON_DEFAULT`, the button stays grey.
When set to `ADW_BANNER_BUTTON_SUGGESTED`, the button follows the [`.suggested-action`](style-classes.html#suggested-action) style

&lt;picture&gt;
  &lt;source srcset="banner-suggested-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="banner-suggested.png" alt="banner with suggested button style"&gt;
&lt;/picture&gt;</doc>
        <source-position filename="src/adw-banner.h" line="60"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-banner.c"
                 line="734">a banner</doc>
            <type name="Banner" c:type="AdwBanner*"/>
          </instance-parameter>
          <parameter name="style" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-banner.c"
                 line="735">a button style</doc>
            <type name="BannerButtonStyle" c:type="AdwBannerButtonStyle"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_revealed"
              c:identifier="adw_banner_set_revealed"
              glib:set-property="revealed"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-banner.c"
             line="795">Sets whether a banner should be revealed</doc>
        <source-position filename="src/adw-banner.h" line="48"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-banner.c"
                 line="797">a banner</doc>
            <type name="Banner" c:type="AdwBanner*"/>
          </instance-parameter>
          <parameter name="revealed" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-banner.c"
                 line="798">whether a banner should be revealed</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_title"
              c:identifier="adw_banner_set_title"
              glib:set-property="title"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-banner.c"
             line="595">Sets the title for this banner.

See also: [property@Banner:use-markup].</doc>
        <source-position filename="src/adw-banner.h" line="36"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-banner.c"
                 line="597">a banner</doc>
            <type name="Banner" c:type="AdwBanner*"/>
          </instance-parameter>
          <parameter name="title" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-banner.c"
                 line="598">the title</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_use_markup"
              c:identifier="adw_banner_set_use_markup"
              glib:set-property="use-markup"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-banner.c"
             line="687">Sets whether to use Pango markup for the banner title.

See also [func@Pango.parse_markup].</doc>
        <source-position filename="src/adw-banner.h" line="54"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-banner.c"
                 line="689">a banner</doc>
            <type name="Banner" c:type="AdwBanner*"/>
          </instance-parameter>
          <parameter name="use_markup" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-banner.c"
                 line="690">whether to use markup</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="button-label"
                version="1.3"
                writable="1"
                transfer-ownership="none"
                setter="set_button_label"
                getter="get_button_label">
        <doc xml:space="preserve"
             filename="src/adw-banner.c"
             line="396">The label to show on the button.

If set to `""` or `NULL`, the button won't be shown.

The button can be used with a `GAction`, or with the
[signal@Banner::button-clicked] signal.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="button-style"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_button_style"
                getter="get_button_style"
                default-value="ADW_BANNER_BUTTON_DEFAULT">
        <doc xml:space="preserve"
             filename="src/adw-banner.c"
             line="427">The style class to use for the banner button.

When set to `ADW_BANNER_BUTTON_DEFAULT`, the button stays grey.
When set to `ADW_BANNER_BUTTON_SUGGESTED`, the button follows the [`.suggested-action`](style-classes.html#suggested-action) style

&lt;picture&gt;
  &lt;source srcset="banner-suggested-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="banner-suggested.png" alt="banner with suggested button style"&gt;
&lt;/picture&gt;</doc>
        <type name="BannerButtonStyle"/>
      </property>
      <property name="revealed"
                version="1.3"
                writable="1"
                transfer-ownership="none"
                setter="set_revealed"
                getter="get_revealed"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-banner.c"
             line="448">Whether the banner is currently revealed.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="title"
                version="1.3"
                writable="1"
                transfer-ownership="none"
                setter="set_title"
                getter="get_title">
        <doc xml:space="preserve"
             filename="src/adw-banner.c"
             line="382">The title for this banner.

See also: [property@Banner:use-markup].</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="use-markup"
                version="1.3"
                writable="1"
                transfer-ownership="none"
                setter="set_use_markup"
                getter="get_use_markup"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-banner.c"
             line="413">Whether to use Pango markup for the banner title.

See also [func@Pango.parse_markup].</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <glib:signal name="button-clicked" when="last" version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-banner.c"
             line="460">This signal is emitted after the action button has been clicked.

It can be used as an alternative to setting an action.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <enumeration name="BannerButtonStyle"
                 version="1.7"
                 glib:type-name="AdwBannerButtonStyle"
                 glib:get-type="adw_banner_button_style_get_type"
                 c:type="AdwBannerButtonStyle">
      <doc xml:space="preserve"
           filename="src/adw-banner.c"
           line="23">Describes the available button styles for [class@Banner].

New values may be added to this enumeration over time.

See [property@Banner:button-style].</doc>
      <member name="default"
              value="0"
              c:identifier="ADW_BANNER_BUTTON_DEFAULT"
              glib:nick="default"
              glib:name="ADW_BANNER_BUTTON_DEFAULT">
        <doc xml:space="preserve"
             filename="src/adw-banner.c"
             line="25">The default button style.</doc>
      </member>
      <member name="suggested"
              value="1"
              c:identifier="ADW_BANNER_BUTTON_SUGGESTED"
              glib:nick="suggested"
              glib:name="ADW_BANNER_BUTTON_SUGGESTED">
        <doc xml:space="preserve"
             filename="src/adw-banner.c"
             line="26">A button in the suggested action style.</doc>
      </member>
    </enumeration>
    <record name="BannerClass"
            c:type="AdwBannerClass"
            glib:is-gtype-struct-for="Banner">
      <source-position filename="src/adw-banner.h" line="28"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
    </record>
    <class name="Bin"
           c:symbol-prefix="bin"
           c:type="AdwBin"
           parent="Gtk.Widget"
           glib:type-name="AdwBin"
           glib:get-type="adw_bin_get_type"
           glib:type-struct="BinClass">
      <doc xml:space="preserve"
           filename="src/adw-bin.c"
           line="14">A widget with one child.

&lt;picture&gt;
  &lt;source srcset="bin-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="bin.png" alt="bin"&gt;
&lt;/picture&gt;

The `AdwBin` widget has only one child, set with the [property@Bin:child]
property.

It is useful for deriving subclasses, since it provides common code needed
for handling a single child widget.</doc>
      <source-position filename="src/adw-bin.h" line="29"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <constructor name="new" c:identifier="adw_bin_new">
        <doc xml:space="preserve"
             filename="src/adw-bin.c"
             line="150">Creates a new `AdwBin`.</doc>
        <source-position filename="src/adw-bin.h" line="32"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-bin.c"
               line="155">the new created `AdwBin`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="get_child"
              c:identifier="adw_bin_get_child"
              glib:get-property="child">
        <doc xml:space="preserve"
             filename="src/adw-bin.c"
             line="163">Gets the child widget of @self.</doc>
        <source-position filename="src/adw-bin.h" line="35"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-bin.c"
               line="169">the child widget of @self</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-bin.c"
                 line="165">a bin</doc>
            <type name="Bin" c:type="AdwBin*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_child"
              c:identifier="adw_bin_set_child"
              glib:set-property="child">
        <doc xml:space="preserve"
             filename="src/adw-bin.c"
             line="183">Sets the child widget of @self.</doc>
        <source-position filename="src/adw-bin.h" line="37"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-bin.c"
                 line="185">a bin</doc>
            <type name="Bin" c:type="AdwBin*"/>
          </instance-parameter>
          <parameter name="child"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-bin.c"
                 line="186">the child widget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <property name="child"
                writable="1"
                transfer-ownership="none"
                setter="set_child"
                getter="get_child">
        <doc xml:space="preserve"
             filename="src/adw-bin.c"
             line="110">The child widget of the `AdwBin`.</doc>
        <type name="Gtk.Widget"/>
      </property>
      <field name="parent_instance">
        <type name="Gtk.Widget" c:type="GtkWidget"/>
      </field>
    </class>
    <record name="BinClass"
            c:type="AdwBinClass"
            glib:is-gtype-struct-for="Bin">
      <source-position filename="src/adw-bin.h" line="29"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
    </record>
    <class name="BottomSheet"
           c:symbol-prefix="bottom_sheet"
           c:type="AdwBottomSheet"
           version="1.6"
           parent="Gtk.Widget"
           final="1"
           glib:type-name="AdwBottomSheet"
           glib:get-type="adw_bottom_sheet_get_type"
           glib:type-struct="BottomSheetClass">
      <doc xml:space="preserve"
           filename="src/adw-bottom-sheet.c"
           line="33">A bottom sheet with an optional bottom bar.

&lt;picture&gt;
  &lt;source srcset="bottom-sheet-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="bottom-sheet.png" alt="bottom-sheet"&gt;
&lt;/picture&gt;

`AdwBottomSheet` has three child widgets. [property@BottomSheet:content] is
shown persistently. [property@BottomSheet:sheet] is displayed above it when
it's open, and [property@BottomSheet:bottom-bar] is displayed when it's not.

Bottom sheet and bottom bar are attached to the bottom edge of the widget.
They take the full width by default, but can only take a portion of it if
[property@BottomSheet:full-width] is set to `FALSE`. In this case,
[property@BottomSheet:align] determines where along the bottom edge they are
placed.

Bottom bar can be hidden using the [property@BottomSheet:reveal-bottom-bar]
property.

`AdwBottomSheet` can be useful for applications such as music players, that
want to have a persistent bottom bar that expands into a bottom sheet when
clicked. It's meant for cases where a bottom sheet is tightly integrated into
the UI. For more transient bottom sheets, see [class@Dialog].

To open or close the bottom sheet, use the [property@BottomSheet:open]
property.

By default, the bottom sheet has an overlaid drag handle. It can be disabled
by setting [property@BottomSheet:show-drag-handle] to `FALSE`. Note that the
handle also controls whether the sheet can be dragged using a pointer.

Bottom sheets are modal by default, meaning that the content is dimmed and
cannot be accessed while the sheet is open. Set [property@BottomSheet:modal]
to `FALSE` if this behavior is unwanted.

To disable user interactions for opening or closing the bottom sheet (such as
swipes or clicking the bottom bar or close button), set
[property@BottomSheet:can-open] or [property@BottomSheet:can-close] to
`FALSE`.

In some cases, particularly when using a full-width bottom bar, it may be
necessary to shift [property@BottomSheet:content] upwards. Use the
[property@BottomSheet:bottom-bar-height] and
[property@BottomSheet:sheet-height] for that.

`AdwBottomSheet` is not adaptive, and for larger window sizes applications
may want to replace it with another UI, such as a sidebar. This can be done
using [class@MultiLayoutView].

## Sizing

Unlike [class@Dialog] presented as a bottom sheet, `AdwBottomSheet` just
follows the content's natural size, and it's up to the applications to make
sure their content provides one. For example, when using
[class@Gtk.ScrolledWindow], make sure to set
[property@Gtk.ScrolledWindow:propagate-natural-height] to `TRUE`.

## Header Bar Integration

When placed inside an `AdwBottomSheet`, [class@HeaderBar] will not show the
title when [property@BottomSheet:show-drag-handle] is `TRUE`, regardless of
[property@HeaderBar:show-title]. This only applies to the default title,
titles set with [property@HeaderBar:title-widget] will still be shown.

## `AdwBottomSheet` as `GtkBuildable`:

The `AdwBottomSheet` implementation of the [iface@Gtk.Buildable] interface
supports setting the sheet widget by specifying “sheet” as the “type”
attribute of a `&lt;child&gt;` element, and the bottom bar by specifying
“bottom-bar”. Specifying “content” or omitting the child type results in
setting the content child.</doc>
      <source-position filename="src/adw-bottom-sheet.h" line="24"/>
      <implements name="Swipeable"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <constructor name="new"
                   c:identifier="adw_bottom_sheet_new"
                   version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-bottom-sheet.c"
             line="1407">Creates a new `AdwBottomSheet`.</doc>
        <source-position filename="src/adw-bottom-sheet.h" line="27"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-bottom-sheet.c"
               line="1412">the new created `AdwBottomSheet`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="get_align"
              c:identifier="adw_bottom_sheet_get_align"
              glib:get-property="align"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-bottom-sheet.c"
             line="1735">Gets horizontal alignment of the bottom sheet.</doc>
        <source-position filename="src/adw-bottom-sheet.h" line="54"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-bottom-sheet.c"
               line="1741">the horizontal alignment</doc>
          <type name="gfloat" c:type="float"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-bottom-sheet.c"
                 line="1737">a bottom sheet</doc>
            <type name="BottomSheet" c:type="AdwBottomSheet*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_bottom_bar"
              c:identifier="adw_bottom_sheet_get_bottom_bar"
              glib:get-property="bottom-bar"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-bottom-sheet.c"
             line="1525">Gets the bottom bar widget for @self.</doc>
        <source-position filename="src/adw-bottom-sheet.h" line="42"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-bottom-sheet.c"
               line="1531">the bottom bar widget</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-bottom-sheet.c"
                 line="1527">a bottom sheet</doc>
            <type name="BottomSheet" c:type="AdwBottomSheet*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_bottom_bar_height"
              c:identifier="adw_bottom_sheet_get_bottom_bar_height"
              glib:get-property="bottom-bar-height"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-bottom-sheet.c"
             line="2068">Gets the current bottom bar height.

It can be used to shift the content upwards permanently to accommodate for
the bottom bar.</doc>
        <source-position filename="src/adw-bottom-sheet.h" line="92"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-bottom-sheet.c"
               line="2077">the bottom bar height</doc>
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-bottom-sheet.c"
                 line="2070">a bottom sheet</doc>
            <type name="BottomSheet" c:type="AdwBottomSheet*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_can_close"
              c:identifier="adw_bottom_sheet_get_can_close"
              glib:get-property="can-close"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-bottom-sheet.c"
             line="1998">Gets whether the bottom sheet can be closed by user.</doc>
        <source-position filename="src/adw-bottom-sheet.h" line="84"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-bottom-sheet.c"
               line="2004">whether the sheet can be closed by user</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-bottom-sheet.c"
                 line="2000">a bottom sheet</doc>
            <type name="BottomSheet" c:type="AdwBottomSheet*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_can_open"
              c:identifier="adw_bottom_sheet_get_can_open"
              glib:get-property="can-open"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-bottom-sheet.c"
             line="1942">Gets whether the bottom sheet can be opened by user.</doc>
        <source-position filename="src/adw-bottom-sheet.h" line="78"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-bottom-sheet.c"
               line="1948">whether the sheet can be opened by user.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-bottom-sheet.c"
                 line="1944">a bottom sheet</doc>
            <type name="BottomSheet" c:type="AdwBottomSheet*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_content"
              c:identifier="adw_bottom_sheet_get_content"
              glib:get-property="content"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-bottom-sheet.c"
             line="1422">Gets the content widget for @self.</doc>
        <source-position filename="src/adw-bottom-sheet.h" line="30"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-bottom-sheet.c"
               line="1428">the content widget</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-bottom-sheet.c"
                 line="1424">a bottom sheet</doc>
            <type name="BottomSheet" c:type="AdwBottomSheet*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_full_width"
              c:identifier="adw_bottom_sheet_get_full_width"
              glib:get-property="full-width"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-bottom-sheet.c"
             line="1783">Gets whether the bottom sheet takes the full width.</doc>
        <source-position filename="src/adw-bottom-sheet.h" line="60"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-bottom-sheet.c"
               line="1789">whether the sheet takes up the full width</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-bottom-sheet.c"
                 line="1785">a bottom sheet</doc>
            <type name="BottomSheet" c:type="AdwBottomSheet*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_modal"
              c:identifier="adw_bottom_sheet_get_modal"
              glib:get-property="modal"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-bottom-sheet.c"
             line="1890">Gets whether the bottom sheet is modal.</doc>
        <source-position filename="src/adw-bottom-sheet.h" line="72"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-bottom-sheet.c"
               line="1896">whether the sheet is modal</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-bottom-sheet.c"
                 line="1892">a bottom sheet</doc>
            <type name="BottomSheet" c:type="AdwBottomSheet*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_open"
              c:identifier="adw_bottom_sheet_get_open"
              glib:get-property="open"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-bottom-sheet.c"
             line="1595">Gets whether the bottom sheet is open.</doc>
        <source-position filename="src/adw-bottom-sheet.h" line="48"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-bottom-sheet.c"
               line="1601">whether the sheet is open</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-bottom-sheet.c"
                 line="1597">a bottom sheet</doc>
            <type name="BottomSheet" c:type="AdwBottomSheet*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_reveal_bottom_bar"
              c:identifier="adw_bottom_sheet_get_reveal_bottom_bar"
              glib:get-property="reveal-bottom-bar"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-bottom-sheet.c"
             line="2089">Gets whether the bottom bar is revealed.</doc>
        <source-position filename="src/adw-bottom-sheet.h" line="95"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-bottom-sheet.c"
               line="2095">whether the bottom bar is revealed</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-bottom-sheet.c"
                 line="2091">a bottom sheet</doc>
            <type name="BottomSheet" c:type="AdwBottomSheet*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_sheet"
              c:identifier="adw_bottom_sheet_get_sheet"
              glib:get-property="sheet"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-bottom-sheet.c"
             line="1472">Gets the bottom sheet widget for @self.</doc>
        <source-position filename="src/adw-bottom-sheet.h" line="36"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-bottom-sheet.c"
               line="1478">the sheet widget</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-bottom-sheet.c"
                 line="1474">a bottom sheet</doc>
            <type name="BottomSheet" c:type="AdwBottomSheet*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_sheet_height"
              c:identifier="adw_bottom_sheet_get_sheet_height"
              glib:get-property="sheet-height"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-bottom-sheet.c"
             line="2048">Gets the current bottom sheet height.

It can be used to shift the content upwards when the bottom sheet is open.</doc>
        <source-position filename="src/adw-bottom-sheet.h" line="90"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-bottom-sheet.c"
               line="2056">the sheet height</doc>
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-bottom-sheet.c"
                 line="2050">a bottom sheet</doc>
            <type name="BottomSheet" c:type="AdwBottomSheet*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_show_drag_handle"
              c:identifier="adw_bottom_sheet_get_show_drag_handle"
              glib:get-property="show-drag-handle"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-bottom-sheet.c"
             line="1830">Gets whether to show a drag handle in the bottom sheet.</doc>
        <source-position filename="src/adw-bottom-sheet.h" line="66"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-bottom-sheet.c"
               line="1836">whether to show the drag handle</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-bottom-sheet.c"
                 line="1832">a bottom sheet</doc>
            <type name="BottomSheet" c:type="AdwBottomSheet*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_align"
              c:identifier="adw_bottom_sheet_set_align"
              glib:set-property="align"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-bottom-sheet.c"
             line="1753">Sets horizontal alignment of the bottom sheet.

0 means the bottom sheet is flush with the start edge, 1 means it's flush
with the end edge. 0.5 means it's centered.

Only used when [property@BottomSheet:full-width] is set to `FALSE`.</doc>
        <source-position filename="src/adw-bottom-sheet.h" line="56"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-bottom-sheet.c"
                 line="1755">a bottom sheet</doc>
            <type name="BottomSheet" c:type="AdwBottomSheet*"/>
          </instance-parameter>
          <parameter name="align" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-bottom-sheet.c"
                 line="1756">the new alignment</doc>
            <type name="gfloat" c:type="float"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_bottom_bar"
              c:identifier="adw_bottom_sheet_set_bottom_bar"
              glib:set-property="bottom-bar"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-bottom-sheet.c"
             line="1543">Sets the bottom bar widget for @self.

Shown when [property@BottomSheet:open] is `FALSE`. When open, morphs into
the [property@BottomSheet:sheet].

Bottom bar can be temporarily hidden using the
[property@BottomSheet:reveal-bottom-bar] property.</doc>
        <source-position filename="src/adw-bottom-sheet.h" line="44"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-bottom-sheet.c"
                 line="1545">a bottom sheet</doc>
            <type name="BottomSheet" c:type="AdwBottomSheet*"/>
          </instance-parameter>
          <parameter name="bottom_bar"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-bottom-sheet.c"
                 line="1546">the bottom bar widget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_can_close"
              c:identifier="adw_bottom_sheet_set_can_close"
              glib:set-property="can-close"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-bottom-sheet.c"
             line="2016">Sets whether the bottom sheet can be closed by user.

It can be closed via the close button, swiping down, pressing
&lt;kbd&gt;Escape&lt;/kbd&gt; or clicking the content dimming (when modal).

Bottom sheet can still be closed using [property@BottomSheet:open].</doc>
        <source-position filename="src/adw-bottom-sheet.h" line="86"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-bottom-sheet.c"
                 line="2018">a bottom sheet</doc>
            <type name="BottomSheet" c:type="AdwBottomSheet*"/>
          </instance-parameter>
          <parameter name="can_close" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-bottom-sheet.c"
                 line="2019">whether the sheet can be closed by user</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_can_open"
              c:identifier="adw_bottom_sheet_set_can_open"
              glib:set-property="can-open"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-bottom-sheet.c"
             line="1960">Sets whether the bottom sheet can be opened by user.

It can be opened via clicking or swiping up from the bottom bar.

Does nothing if [property@BottomSheet:bottom-bar] is not set.

Bottom sheet can still be opened using [property@BottomSheet:open].</doc>
        <source-position filename="src/adw-bottom-sheet.h" line="80"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-bottom-sheet.c"
                 line="1962">a bottom sheet</doc>
            <type name="BottomSheet" c:type="AdwBottomSheet*"/>
          </instance-parameter>
          <parameter name="can_open" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-bottom-sheet.c"
                 line="1963">whether the sheet can be opened by user.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_content"
              c:identifier="adw_bottom_sheet_set_content"
              glib:set-property="content"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-bottom-sheet.c"
             line="1440">Sets the content widget for @self.

It's always shown, and the bottom sheet is overlaid over it.</doc>
        <source-position filename="src/adw-bottom-sheet.h" line="32"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-bottom-sheet.c"
                 line="1442">a bottom sheet</doc>
            <type name="BottomSheet" c:type="AdwBottomSheet*"/>
          </instance-parameter>
          <parameter name="content"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-bottom-sheet.c"
                 line="1443">the content widget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_full_width"
              c:identifier="adw_bottom_sheet_set_full_width"
              glib:set-property="full-width"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-bottom-sheet.c"
             line="1801">Sets whether the bottom sheet takes the full width.

When full width, [property@BottomSheet:align] is ignored.</doc>
        <source-position filename="src/adw-bottom-sheet.h" line="62"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-bottom-sheet.c"
                 line="1803">a bottom sheet</doc>
            <type name="BottomSheet" c:type="AdwBottomSheet*"/>
          </instance-parameter>
          <parameter name="full_width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-bottom-sheet.c"
                 line="1804">whether the sheet takes up the full width</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_modal"
              c:identifier="adw_bottom_sheet_set_modal"
              glib:set-property="modal"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-bottom-sheet.c"
             line="1908">Sets whether the bottom sheet is modal.

When modal, [property@BottomSheet:content] will be dimmed when the bottom
sheet is open, and clicking it will close the bottom sheet. It also cannot be
focused with keyboard.

Otherwise, the content is accessible even when the bottom sheet is open.</doc>
        <source-position filename="src/adw-bottom-sheet.h" line="74"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-bottom-sheet.c"
                 line="1910">a bottom sheet</doc>
            <type name="BottomSheet" c:type="AdwBottomSheet*"/>
          </instance-parameter>
          <parameter name="modal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-bottom-sheet.c"
                 line="1911">whether the sheet is modal</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_open"
              c:identifier="adw_bottom_sheet_set_open"
              glib:set-property="open"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-bottom-sheet.c"
             line="1613">Sets whether the bottom sheet is open.</doc>
        <source-position filename="src/adw-bottom-sheet.h" line="50"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-bottom-sheet.c"
                 line="1615">a bottom sheet</doc>
            <type name="BottomSheet" c:type="AdwBottomSheet*"/>
          </instance-parameter>
          <parameter name="open" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-bottom-sheet.c"
                 line="1616">whether to open the sheet</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_reveal_bottom_bar"
              c:identifier="adw_bottom_sheet_set_reveal_bottom_bar"
              glib:set-property="reveal-bottom-bar"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-bottom-sheet.c"
             line="2107">Sets whether to reveal the bottom bar.

The transition will be animated.

See [property@BottomSheet:bottom-bar] and
[property@BottomSheet:bottom-bar-height].</doc>
        <source-position filename="src/adw-bottom-sheet.h" line="97"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-bottom-sheet.c"
                 line="2109">a bottom sheet</doc>
            <type name="BottomSheet" c:type="AdwBottomSheet*"/>
          </instance-parameter>
          <parameter name="reveal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-bottom-sheet.c"
                 line="2110">whether to reveal the bottom bar</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_sheet"
              c:identifier="adw_bottom_sheet_set_sheet"
              glib:set-property="sheet"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-bottom-sheet.c"
             line="1490">Sets the bottom sheet widget for @self.

Only shown when [property@BottomSheet:open] is `TRUE`.</doc>
        <source-position filename="src/adw-bottom-sheet.h" line="38"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-bottom-sheet.c"
                 line="1492">a bottom sheet</doc>
            <type name="BottomSheet" c:type="AdwBottomSheet*"/>
          </instance-parameter>
          <parameter name="sheet"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-bottom-sheet.c"
                 line="1493">the sheet widget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_show_drag_handle"
              c:identifier="adw_bottom_sheet_set_show_drag_handle"
              glib:set-property="show-drag-handle"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-bottom-sheet.c"
             line="1848">Sets whether to show a drag handle in the bottom sheet.

The handle will be overlaid over [property@BottomSheet:sheet].

When the handle is shown, [class@HeaderBar] will hide its default title, and
[class@ToolbarView] will reserve space if there are no top bars.

Showing drag handle also allows to swipe the bottom sheet down (and to swipe
the bottom bar up) with a pointer, instead of just touchscreen.</doc>
        <source-position filename="src/adw-bottom-sheet.h" line="68"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-bottom-sheet.c"
                 line="1850">a bottom sheet</doc>
            <type name="BottomSheet" c:type="AdwBottomSheet*"/>
          </instance-parameter>
          <parameter name="show_drag_handle" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-bottom-sheet.c"
                 line="1851">whether to show the drag handle</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="align"
                version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_align"
                getter="get_align"
                default-value="0.500000">
        <doc xml:space="preserve"
             filename="src/adw-bottom-sheet.c"
             line="826">Horizontal alignment of the bottom sheet.

0 means the bottom sheet is flush with the start edge, 1 means it's flush
with the end edge. 0.5 means it's centered.

Only used when [property@BottomSheet:full-width] is set to `FALSE`.</doc>
        <type name="gfloat" c:type="gfloat"/>
      </property>
      <property name="bottom-bar"
                version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_bottom_bar"
                getter="get_bottom_bar">
        <doc xml:space="preserve"
             filename="src/adw-bottom-sheet.c"
             line="796">The bottom bar widget.

Shown when [property@BottomSheet:open] is `FALSE`. When open, morphs into
the [property@BottomSheet:sheet].

Bottom bar can be temporarily hidden using the
[property@BottomSheet:reveal-bottom-bar] property.</doc>
        <type name="Gtk.Widget"/>
      </property>
      <property name="bottom-bar-height"
                version="1.6"
                transfer-ownership="none"
                getter="get_bottom_bar_height"
                default-value="0">
        <doc xml:space="preserve"
             filename="src/adw-bottom-sheet.c"
             line="944">The current bottom bar height.

It can be used to shift the content upwards permanently to accommodate for
the bottom bar.</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="can-close"
                version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_can_close"
                getter="get_can_close"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-bottom-sheet.c"
             line="913">Whether the bottom sheet can be closed by user.

It can be closed via the close button, swiping down, pressing
&lt;kbd&gt;Escape&lt;/kbd&gt; or clicking the content dimming (when modal).

Bottom sheet can still be closed using [property@BottomSheet:open].</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="can-open"
                version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_can_open"
                getter="get_can_open"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-bottom-sheet.c"
             line="895">Whether the bottom sheet can be opened by user.

It can be opened via clicking or swiping up from the bottom bar.

Does nothing if [property@BottomSheet:bottom-bar] is not set.

Bottom sheet can still be opened using [property@BottomSheet:open].</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="content"
                version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_content"
                getter="get_content">
        <doc xml:space="preserve"
             filename="src/adw-bottom-sheet.c"
             line="768">The content widget.

It's always shown, and the bottom sheet is overlaid over it.</doc>
        <type name="Gtk.Widget"/>
      </property>
      <property name="full-width"
                version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_full_width"
                getter="get_full_width"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-bottom-sheet.c"
             line="843">Whether the bottom sheet takes the full width.

When full width, [property@BottomSheet:align] is ignored.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="modal"
                version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_modal"
                getter="get_modal"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-bottom-sheet.c"
             line="877">Whether the bottom sheet is modal.

When modal, [property@BottomSheet:content] will be dimmed when the bottom
sheet is open, and clicking it will close the bottom sheet. It also cannot
be focused with keyboard.

Otherwise, the content is accessible even when the bottom sheet is open.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="open"
                version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_open"
                getter="get_open"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-bottom-sheet.c"
             line="814">Whether the bottom sheet is open.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="reveal-bottom-bar"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_reveal_bottom_bar"
                getter="get_reveal_bottom_bar"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-bottom-sheet.c"
             line="959">Whether to reveal the bottom bar.

The transition will be animated.

See [property@BottomSheet:bottom-bar] and
[property@BottomSheet:bottom-bar-height].</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="sheet"
                version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_sheet"
                getter="get_sheet">
        <doc xml:space="preserve"
             filename="src/adw-bottom-sheet.c"
             line="782">The bottom sheet widget.

Only shown when [property@BottomSheet:open] is `TRUE`.</doc>
        <type name="Gtk.Widget"/>
      </property>
      <property name="sheet-height"
                version="1.6"
                transfer-ownership="none"
                getter="get_sheet_height"
                default-value="0">
        <doc xml:space="preserve"
             filename="src/adw-bottom-sheet.c"
             line="930">The current bottom sheet height.

It can be used to shift the content upwards when the bottom sheet is open.</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="show-drag-handle"
                version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_show_drag_handle"
                getter="get_show_drag_handle"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-bottom-sheet.c"
             line="857">Whether to overlay a drag handle in the bottom sheet.

The handle will be overlaid over [property@BottomSheet:sheet].

When the handle is shown, [class@HeaderBar] will hide its default title,
and [class@ToolbarView] will reserve space if there are no top bars.

Showing drag handle also allows to swipe the bottom sheet down (and to
swipe the bottom bar up) with a pointer, instead of just touchscreen.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <glib:signal name="close-attempt" when="last" version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-bottom-sheet.c"
             line="978">Emitted when the close button or shortcut is used while
[property@Dialog:can-close] is set to `FALSE`.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="BottomSheetClass"
            c:type="AdwBottomSheetClass"
            glib:is-gtype-struct-for="BottomSheet">
      <source-position filename="src/adw-bottom-sheet.h" line="24"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
    </record>
    <class name="Breakpoint"
           c:symbol-prefix="breakpoint"
           c:type="AdwBreakpoint"
           version="1.4"
           parent="GObject.Object"
           final="1"
           glib:type-name="AdwBreakpoint"
           glib:get-type="adw_breakpoint_get_type"
           glib:type-struct="BreakpointClass">
      <doc xml:space="preserve"
           filename="src/adw-breakpoint.c"
           line="19">Describes a breakpoint for [class@Window] or [class@Dialog].

Breakpoints are used to create adaptive UI, allowing to change the layout
depending on available size.

Breakpoint is a size threshold, specified by its condition, as well as one or
more setters.

Each setter has a target object, a property and a value. When a breakpoint
is applied, each setter sets the target property on their target object to
the specified value, and reset it back to the original value when it's
unapplied.

For more complicated scenarios, [signal@Breakpoint::apply] and
[signal@Breakpoint::unapply] can be used instead.

Breakpoints can be used within [class@Window], [class@ApplicationWindow],
[class@Dialog] or [class@BreakpointBin].

## `AdwBreakpoint` as `GtkBuildable`:

`AdwBreakpoint` supports specifying its condition via the `&lt;condition&gt;`
element. The contents of the element must be a string in a format accepted by
[func@BreakpointCondition.parse].

It also supports adding setters via the `&lt;setter&gt;` element. Each `&lt;setter&gt;`
element must have the `object` attribute specifying the target object, and
the `property` attribute specifying the property name. The contents of the
element are used as the setter value.

For `G_TYPE_OBJECT` and `G_TYPE_BOXED` derived properties, empty contents are
treated as `NULL`.

Setter values can be translated with the usual `translatable`, `context` and
`comments` attributes.

Example of an `AdwBreakpoint` UI definition:

```xml
&lt;object class="AdwBreakpoint"&gt;
  &lt;condition&gt;max-width: 400px&lt;/condition&gt;
  &lt;setter object="button" property="visible"&gt;True&lt;/setter&gt;
  &lt;setter object="box" property="orientation"&gt;vertical&lt;/setter&gt;
  &lt;setter object="page" property="title" translatable="yes"&gt;Example&lt;/setter&gt;
&lt;/object&gt;
```</doc>
      <source-position filename="src/adw-breakpoint.h" line="76"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="adw_breakpoint_new" version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-breakpoint.c"
             line="1462">Creates a new `AdwBreakpoint` with @condition.</doc>
        <source-position filename="src/adw-breakpoint.h" line="79"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/adw-breakpoint.c"
               line="1468">the newly created `AdwBreakpoint`</doc>
          <type name="Breakpoint" c:type="AdwBreakpoint*"/>
        </return-value>
        <parameters>
          <parameter name="condition" transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/adw-breakpoint.c"
                 line="1464">the condition</doc>
            <type name="BreakpointCondition" c:type="AdwBreakpointCondition*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="add_setter"
              c:identifier="adw_breakpoint_add_setter"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-breakpoint.c"
             line="1532">Adds a setter to @self.

The setter will automatically set @property on @object to @value when
applying the breakpoint, and set it back to its original value upon
unapplying it.

::: note
    Setting properties to their original values does not work for properties
    that have irreversible side effects. For example, changing
    [property@Gtk.Button:label] while [property@Gtk.Button:icon-name] is set
    will reset the icon. However, resetting the label will not set
    `icon-name` to its original value.

Use the [signal@Breakpoint::apply] and [signal@Breakpoint::unapply] signals
for those properties instead, as follows:

```c
static void
breakpoint_apply_cb (MyWidget *self)
{
  gtk_button_set_icon_name (self-&gt;button, "go-previous-symbolic");
}

static void
breakpoint_apply_cb (MyWidget *self)
{
  gtk_button_set_label (self-&gt;button, _("_Back"));
}

// ...

g_signal_connect_swapped (breakpoint, "apply",
                          G_CALLBACK (breakpoint_apply_cb), self);
g_signal_connect_swapped (breakpoint, "unapply",
                          G_CALLBACK (breakpoint_unapply_cb), self);
```</doc>
        <source-position filename="src/adw-breakpoint.h" line="88"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-breakpoint.c"
                 line="1534">a breakpoint</doc>
            <type name="Breakpoint" c:type="AdwBreakpoint*"/>
          </instance-parameter>
          <parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-breakpoint.c"
                 line="1535">the target object</doc>
            <type name="GObject.Object" c:type="GObject*"/>
          </parameter>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-breakpoint.c"
                 line="1536">the target property</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="value"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-breakpoint.c"
                 line="1537">the value to set</doc>
            <type name="GObject.Value" c:type="const GValue*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_setters"
              c:identifier="adw_breakpoint_add_setters"
              shadowed-by="add_settersv"
              version="1.4"
              introspectable="0">
        <doc xml:space="preserve"
             filename="src/adw-breakpoint.c"
             line="1649">Adds multiple setters to @self.

See [method@Breakpoint.add_setter].

Example:

```c
adw_breakpoint_add_setters (breakpoint,
                            G_OBJECT (box), "orientation", GTK_ORIENTATION_VERTICAL,
                            G_OBJECT (button), "halign", GTK_ALIGN_FILL,
                            G_OBJECT (button), "valign", GTK_ALIGN_END,
                            NULL);
```</doc>
        <source-position filename="src/adw-breakpoint.h" line="94"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-breakpoint.c"
                 line="1651">a breakpoint</doc>
            <type name="Breakpoint" c:type="AdwBreakpoint*"/>
          </instance-parameter>
          <parameter name="first_object" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-breakpoint.c"
                 line="1652">the first target object</doc>
            <type name="GObject.Object" c:type="GObject*"/>
          </parameter>
          <parameter name="first_property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-breakpoint.c"
                 line="1653">the first target property</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-breakpoint.c"
                 line="1654">the value of the first setter, followed by a list of object, property
  and value triplets, terminated by `NULL`</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="add_setters_valist"
              c:identifier="adw_breakpoint_add_setters_valist"
              version="1.4"
              introspectable="0">
        <doc xml:space="preserve"
             filename="src/adw-breakpoint.c"
             line="1723">Adds multiple setters to @self.

See [method@Breakpoint.add_setters].</doc>
        <source-position filename="src/adw-breakpoint.h" line="105"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-breakpoint.c"
                 line="1725">a breakpoint</doc>
            <type name="Breakpoint" c:type="AdwBreakpoint*"/>
          </instance-parameter>
          <parameter name="first_object" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-breakpoint.c"
                 line="1726">the first target object</doc>
            <type name="GObject.Object" c:type="GObject*"/>
          </parameter>
          <parameter name="first_property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-breakpoint.c"
                 line="1727">the first target property</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="args" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-breakpoint.c"
                 line="1728">the value of the first setter, followed by a list of object, property
  and value triplets, terminated by `NULL`</doc>
            <type name="va_list" c:type="va_list"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_settersv"
              c:identifier="adw_breakpoint_add_settersv"
              shadows="add_setters"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-breakpoint.c"
             line="1690">Adds @n_setters setters to @self.

This is a convenience function for adding multiple setters at once.

See [method@Breakpoint.add_setter].

This function is meant to be used by language bindings.</doc>
        <source-position filename="src/adw-breakpoint.h" line="99"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-breakpoint.c"
                 line="1692">a breakpoint</doc>
            <type name="Breakpoint" c:type="AdwBreakpoint*"/>
          </instance-parameter>
          <parameter name="n_setters" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-breakpoint.c"
                 line="1693">the number of setters to add</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="objects" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-breakpoint.c"
                 line="1694">setter target object</doc>
            <array length="0" zero-terminated="0" c:type="GObject**">
              <type name="GObject.Object" c:type="GObject*"/>
            </array>
          </parameter>
          <parameter name="names" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-breakpoint.c"
                 line="1695">setter target properties</doc>
            <array length="0" zero-terminated="0" c:type="const char**">
              <type name="utf8" c:type="char*"/>
            </array>
          </parameter>
          <parameter name="values" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-breakpoint.c"
                 line="1696">setter values</doc>
            <array length="0" zero-terminated="0" c:type="const GValue**">
              <type name="GObject.Value" c:type="GValue*"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <method name="get_condition"
              c:identifier="adw_breakpoint_get_condition"
              glib:get-property="condition"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-breakpoint.c"
             line="1488">Gets the condition for @self.</doc>
        <source-position filename="src/adw-breakpoint.h" line="82"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-breakpoint.c"
               line="1494">the condition</doc>
          <type name="BreakpointCondition" c:type="AdwBreakpointCondition*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-breakpoint.c"
                 line="1490">a breakpoint</doc>
            <type name="Breakpoint" c:type="AdwBreakpoint*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_condition"
              c:identifier="adw_breakpoint_set_condition"
              glib:set-property="condition"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-breakpoint.c"
             line="1506">Sets the condition for @self.</doc>
        <source-position filename="src/adw-breakpoint.h" line="84"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-breakpoint.c"
                 line="1508">a breakpoint</doc>
            <type name="Breakpoint" c:type="AdwBreakpoint*"/>
          </instance-parameter>
          <parameter name="condition"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-breakpoint.c"
                 line="1509">the new condition</doc>
            <type name="BreakpointCondition" c:type="AdwBreakpointCondition*"/>
          </parameter>
        </parameters>
      </method>
      <property name="condition"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_condition"
                getter="get_condition">
        <doc xml:space="preserve"
             filename="src/adw-breakpoint.c"
             line="1120">The breakpoint's condition.</doc>
        <type name="BreakpointCondition"/>
      </property>
      <glib:signal name="apply" when="last" version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-breakpoint.c"
             line="1134">Emitted when the breakpoint is applied.

This signal is emitted after the setters have been applied.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="unapply" when="last" version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-breakpoint.c"
             line="1156">Emitted when the breakpoint is unapplied.

This signal is emitted before resetting the setter values.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <class name="BreakpointBin"
           c:symbol-prefix="breakpoint_bin"
           c:type="AdwBreakpointBin"
           version="1.4"
           parent="Gtk.Widget"
           glib:type-name="AdwBreakpointBin"
           glib:get-type="adw_breakpoint_bin_get_type"
           glib:type-struct="BreakpointBinClass">
      <doc xml:space="preserve"
           filename="src/adw-breakpoint-bin.c"
           line="16">A widget that changes layout based on available size.

&lt;picture&gt;
  &lt;source srcset="breakpoint-bin-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="breakpoint-bin.png" alt="breakpoint-bin"&gt;
&lt;/picture&gt;

`AdwBreakpointBin` provides a way to use breakpoints without [class@Window],
[class@ApplicationWindow] or [class@Dialog]. It can be useful for limiting
breakpoints to a single page and similar purposes. Most applications
shouldn't need it.

`AdwBreakpointBin` is similar to [class@Bin]. It has one child, set via the
[property@BreakpointBin:child] property.

When `AdwBreakpointBin` is resized, its child widget can rearrange its layout
at specific thresholds.

The thresholds and layout changes are defined via [class@Breakpoint] objects.
They can be added using [method@BreakpointBin.add_breakpoint].

Each breakpoint has a condition, specifying the bin's size and/or aspect
ratio, and setters that automatically set object properties when that
happens. The [signal@Breakpoint::apply] and [signal@Breakpoint::unapply] can
be used instead for more complex scenarios.

Breakpoints are only allowed to modify widgets inside the `AdwBreakpointBin`,
but not on the `AdwBreakpointBin` itself or any other widgets.

If multiple breakpoints can be used for the current size, the last one is
always picked. The current breakpoint can be tracked using the
[property@BreakpointBin:current-breakpoint] property.

If none of the breakpoints can be used, that property will be set to `NULL`,
and the original property values will be used instead.

## Minimum Size

Adding a breakpoint to `AdwBreakpointBin` will result in it having no minimum
size. The [property@Gtk.Widget:width-request] and
[property@Gtk.Widget:height-request] properties must always be set when using
breakpoints, indicating the smallest size you want to support.

The minimum size and breakpoint conditions must be carefully selected so that
the child widget completely fits. If it doesn't, it will overflow and a
warning message will be printed.

When choosing minimum size, consider translations and text scale factor
changes. Make sure to leave enough space for text labels, and enable
ellipsizing or wrapping if they might not fit.

For [class@Gtk.Label] this can be done via [property@Gtk.Label:ellipsize], or
via [property@Gtk.Label:wrap] together with [property@Gtk.Label:wrap-mode].

For buttons, use [property@Gtk.Button:can-shrink],
[property@Gtk.MenuButton:can-shrink], [property@Adw.SplitButton:can-shrink],
or [property@Adw.ButtonContent:can-shrink].

## Example

```c
GtkWidget *bin, *child;
AdwBreakpoint *breakpoint;

bin = adw_breakpoint_bin_new ();
gtk_widget_set_size_request (bin, 150, 150);

child = gtk_label_new ("Wide");
gtk_label_set_ellipsize (GTK_LABEL (label), PANGO_ELLIPSIZE_END);
gtk_widget_add_css_class (child, "title-1");
adw_breakpoint_bin_set_child (ADW_BREAKPOINT_BIN (bin), child);

breakpoint = adw_breakpoint_new (adw_breakpoint_condition_parse ("max-width: 200px"));
adw_breakpoint_add_setters (breakpoint,
                            G_OBJECT (child), "label", "Narrow",
                            NULL);
adw_breakpoint_bin_add_breakpoint (ADW_BREAKPOINT_BIN (bin), breakpoint);
```

The bin has a single label inside it, displaying "Wide". When the bin's width
is smaller than or equal to 200px, it changes to "Narrow".

## `AdwBreakpointBin` as `GtkBuildable`

`AdwBreakpointBin` allows adding `AdwBreakpoint` objects as children.

Example of an `AdwBreakpointBin` UI definition:

```xml
&lt;object class="AdwBreakpointBin"&gt;
  &lt;property name="width-request"&gt;150&lt;/property&gt;
  &lt;property name="height-request"&gt;150&lt;/property&gt;
  &lt;property name="child"&gt;
    &lt;object class="GtkLabel" id="child"&gt;
      &lt;property name="label"&gt;Wide&lt;/property&gt;
      &lt;property name="ellipsize"&gt;end&lt;/property&gt;
      &lt;style&gt;
        &lt;class name="title-1"/&gt;
      &lt;/style&gt;
    &lt;/object&gt;
  &lt;/property&gt;
  &lt;child&gt;
    &lt;object class="AdwBreakpoint"&gt;
      &lt;condition&gt;max-width: 200px&lt;/condition&gt;
      &lt;setter object="child" property="label"&gt;Narrow&lt;/setter&gt;
    &lt;/object&gt;
  &lt;/child&gt;
&lt;/object&gt;
```

See [class@Breakpoint] documentation for details.</doc>
      <source-position filename="src/adw-breakpoint-bin.h" line="34"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <constructor name="new"
                   c:identifier="adw_breakpoint_bin_new"
                   version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-breakpoint-bin.c"
             line="642">Creates a new `AdwBreakpointBin`.</doc>
        <source-position filename="src/adw-breakpoint-bin.h" line="37"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-breakpoint-bin.c"
               line="647">the newly created `AdwBreakpointBin`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="add_breakpoint"
              c:identifier="adw_breakpoint_bin_add_breakpoint"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-breakpoint-bin.c"
             line="720">Adds @breakpoint to @self.</doc>
        <source-position filename="src/adw-breakpoint-bin.h" line="46"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-breakpoint-bin.c"
                 line="722">a breakpoint bin</doc>
            <type name="BreakpointBin" c:type="AdwBreakpointBin*"/>
          </instance-parameter>
          <parameter name="breakpoint" transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/adw-breakpoint-bin.c"
                 line="723">the breakpoint to add</doc>
            <type name="Breakpoint" c:type="AdwBreakpoint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_child"
              c:identifier="adw_breakpoint_bin_get_child"
              glib:get-property="child"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-breakpoint-bin.c"
             line="657">Gets the child widget of @self.</doc>
        <source-position filename="src/adw-breakpoint-bin.h" line="40"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-breakpoint-bin.c"
               line="663">the child widget of @self</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-breakpoint-bin.c"
                 line="659">a breakpoint bin</doc>
            <type name="BreakpointBin" c:type="AdwBreakpointBin*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_current_breakpoint"
              c:identifier="adw_breakpoint_bin_get_current_breakpoint"
              glib:get-property="current-breakpoint"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-breakpoint-bin.c"
             line="775">Gets the current breakpoint.</doc>
        <source-position filename="src/adw-breakpoint-bin.h" line="54"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-breakpoint-bin.c"
               line="781">the current breakpoint</doc>
          <type name="Breakpoint" c:type="AdwBreakpoint*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-breakpoint-bin.c"
                 line="777">a breakpoint bin</doc>
            <type name="BreakpointBin" c:type="AdwBreakpointBin*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove_breakpoint"
              c:identifier="adw_breakpoint_bin_remove_breakpoint"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-breakpoint-bin.c"
             line="748">Removes @breakpoint from @self.</doc>
        <source-position filename="src/adw-breakpoint-bin.h" line="50"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-breakpoint-bin.c"
                 line="750">a breakpoint bin</doc>
            <type name="BreakpointBin" c:type="AdwBreakpointBin*"/>
          </instance-parameter>
          <parameter name="breakpoint" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-breakpoint-bin.c"
                 line="751">a breakpoint to remove</doc>
            <type name="Breakpoint" c:type="AdwBreakpoint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_child"
              c:identifier="adw_breakpoint_bin_set_child"
              glib:set-property="child"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-breakpoint-bin.c"
             line="679">Sets the child widget of @self.</doc>
        <source-position filename="src/adw-breakpoint-bin.h" line="42"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-breakpoint-bin.c"
                 line="681">a breakpoint bin</doc>
            <type name="BreakpointBin" c:type="AdwBreakpointBin*"/>
          </instance-parameter>
          <parameter name="child"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-breakpoint-bin.c"
                 line="682">the child widget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <property name="child"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_child"
                getter="get_child">
        <doc xml:space="preserve"
             filename="src/adw-breakpoint-bin.c"
             line="577">The child widget.</doc>
        <type name="Gtk.Widget"/>
      </property>
      <property name="current-breakpoint"
                version="1.4"
                transfer-ownership="none"
                getter="get_current_breakpoint">
        <doc xml:space="preserve"
             filename="src/adw-breakpoint-bin.c"
             line="589">The current breakpoint.</doc>
        <type name="Breakpoint"/>
      </property>
      <field name="parent_instance">
        <type name="Gtk.Widget" c:type="GtkWidget"/>
      </field>
    </class>
    <record name="BreakpointBinClass"
            c:type="AdwBreakpointBinClass"
            glib:is-gtype-struct-for="BreakpointBin">
      <source-position filename="src/adw-breakpoint-bin.h" line="34"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
      <field name="padding" readable="0" private="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="BreakpointClass"
            c:type="AdwBreakpointClass"
            glib:is-gtype-struct-for="Breakpoint">
      <source-position filename="src/adw-breakpoint.h" line="76"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="BreakpointCondition"
            c:type="AdwBreakpointCondition"
            opaque="1"
            version="1.4"
            glib:type-name="AdwBreakpointCondition"
            glib:get-type="adw_breakpoint_condition_get_type"
            c:symbol-prefix="breakpoint_condition">
      <doc xml:space="preserve"
           filename="src/adw-breakpoint.c"
           line="72">Describes condition for an [class@Breakpoint].</doc>
      <source-position filename="src/adw-breakpoint.h" line="37"/>
      <constructor name="new_and"
                   c:identifier="adw_breakpoint_condition_new_and"
                   version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-breakpoint.c"
             line="287">Creates a condition that triggers when @condition_1 and @condition_2 are both
true.</doc>
        <source-position filename="src/adw-breakpoint.h" line="53"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/adw-breakpoint.c"
               line="295">the newly created condition</doc>
          <type name="BreakpointCondition" c:type="AdwBreakpointCondition*"/>
        </return-value>
        <parameters>
          <parameter name="condition_1" transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/adw-breakpoint.c"
                 line="289">first condition</doc>
            <type name="BreakpointCondition" c:type="AdwBreakpointCondition*"/>
          </parameter>
          <parameter name="condition_2" transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/adw-breakpoint.c"
                 line="290">second condition</doc>
            <type name="BreakpointCondition" c:type="AdwBreakpointCondition*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_length"
                   c:identifier="adw_breakpoint_condition_new_length"
                   version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-breakpoint.c"
             line="219">Creates a condition that triggers on length changes.</doc>
        <source-position filename="src/adw-breakpoint.h" line="43"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/adw-breakpoint.c"
               line="227">the newly created condition</doc>
          <type name="BreakpointCondition" c:type="AdwBreakpointCondition*"/>
        </return-value>
        <parameters>
          <parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-breakpoint.c"
                 line="221">the length type</doc>
            <type name="BreakpointConditionLengthType"
                  c:type="AdwBreakpointConditionLengthType"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-breakpoint.c"
                 line="222">the length value</doc>
            <type name="gdouble" c:type="double"/>
          </parameter>
          <parameter name="unit" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-breakpoint.c"
                 line="223">the length unit</doc>
            <type name="LengthUnit" c:type="AdwLengthUnit"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_or"
                   c:identifier="adw_breakpoint_condition_new_or"
                   version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-breakpoint.c"
             line="317">Creates a condition that triggers when either @condition_1 or @condition_2 is
true.</doc>
        <source-position filename="src/adw-breakpoint.h" line="57"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/adw-breakpoint.c"
               line="325">the newly created condition</doc>
          <type name="BreakpointCondition" c:type="AdwBreakpointCondition*"/>
        </return-value>
        <parameters>
          <parameter name="condition_1" transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/adw-breakpoint.c"
                 line="319">first condition</doc>
            <type name="BreakpointCondition" c:type="AdwBreakpointCondition*"/>
          </parameter>
          <parameter name="condition_2" transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/adw-breakpoint.c"
                 line="320">second condition</doc>
            <type name="BreakpointCondition" c:type="AdwBreakpointCondition*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_ratio"
                   c:identifier="adw_breakpoint_condition_new_ratio"
                   version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-breakpoint.c"
             line="252">Creates a condition that triggers on ratio changes.

The ratio is represented as @width divided by @height.</doc>
        <source-position filename="src/adw-breakpoint.h" line="48"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/adw-breakpoint.c"
               line="262">the newly created condition</doc>
          <type name="BreakpointCondition" c:type="AdwBreakpointCondition*"/>
        </return-value>
        <parameters>
          <parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-breakpoint.c"
                 line="254">the ratio type</doc>
            <type name="BreakpointConditionRatioType"
                  c:type="AdwBreakpointConditionRatioType"/>
          </parameter>
          <parameter name="width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-breakpoint.c"
                 line="255">ratio width</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-breakpoint.c"
                 line="256">ratio height</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="copy"
              c:identifier="adw_breakpoint_condition_copy"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-breakpoint.c"
             line="347">Copies @self.</doc>
        <source-position filename="src/adw-breakpoint.h" line="61"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/adw-breakpoint.c"
               line="353">a copy of @self</doc>
          <type name="BreakpointCondition" c:type="AdwBreakpointCondition*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-breakpoint.c"
                 line="349">a breakpoint condition</doc>
            <type name="BreakpointCondition" c:type="AdwBreakpointCondition*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="free"
              c:identifier="adw_breakpoint_condition_free"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-breakpoint.c"
             line="390">Frees @self.</doc>
        <source-position filename="src/adw-breakpoint.h" line="63"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-breakpoint.c"
                 line="392">a breakpoint condition</doc>
            <type name="BreakpointCondition" c:type="AdwBreakpointCondition*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="to_string"
              c:identifier="adw_breakpoint_condition_to_string"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-breakpoint.c"
             line="837">Returns a textual representation of @self.

The returned string can be parsed by [func@BreakpointCondition.parse].</doc>
        <source-position filename="src/adw-breakpoint.h" line="69"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/adw-breakpoint.c"
               line="845">A newly allocated text string</doc>
          <type name="utf8" c:type="char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-breakpoint.c"
                 line="839">a breakpoint condition</doc>
            <type name="BreakpointCondition" c:type="AdwBreakpointCondition*"/>
          </instance-parameter>
        </parameters>
      </method>
      <function name="parse"
                c:identifier="adw_breakpoint_condition_parse"
                version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-breakpoint.c"
             line="709">Parses a condition from a string.

Length conditions are specified as `&lt;type&gt;: &lt;value&gt;[&lt;unit&gt;]`, where:

- `&lt;type&gt;` can be `min-width`, `max-width`, `min-height` or `max-height`
- `&lt;value&gt;` is a fractional number
- `&lt;unit&gt;` can be `px`, `pt` or `sp`

If the unit is omitted, `px` is assumed.

See [ctor@BreakpointCondition.new_length].

Examples:

- `min-width: 500px`
- `min-height: 400pt`
- `max-width: 100sp`
- `max-height: 500`

Ratio conditions are specified as `&lt;type&gt;: &lt;width&gt;[/&lt;height&gt;]`, where:

- `&lt;type&gt;` can be `min-aspect-ratio` or `max-aspect-ratio`
- `&lt;width&gt;` and `&lt;height&gt;` are integer numbers

See [ctor@BreakpointCondition.new_ratio].

The ratio is represented as `&lt;width&gt;` divided by `&lt;height&gt;`.

If `&lt;height&gt;` is omitted, it's assumed to be 1.

Examples:

- `min-aspect-ratio: 4/3`
- `max-aspect-ratio: 1`

The logical operators `and`, `or` can be used to compose a complex condition
as follows:

- `&lt;condition&gt; and &lt;condition&gt;`: the condition is true when both
  `&lt;condition&gt;`s are true, same as when using
  [ctor@BreakpointCondition.new_and]
- `&lt;condition&gt; or &lt;condition&gt;`: the condition is true when either of the
  `&lt;condition&gt;`s is true, same as when using
  [ctor@BreakpointCondition.new_or]

Examples:

- `min-width: 400px and max-aspect-ratio: 4/3`
- `max-width: 360sp or max-width: 360px`

Conditions can be further nested using parentheses, for example:

- `min-width: 400px and (max-aspect-ratio: 4/3 or max-height: 400px)`

If parentheses are omitted, the first operator takes priority.</doc>
        <source-position filename="src/adw-breakpoint.h" line="66"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/adw-breakpoint.c"
               line="769">the parsed condition</doc>
          <type name="BreakpointCondition" c:type="AdwBreakpointCondition*"/>
        </return-value>
        <parameters>
          <parameter name="str" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-breakpoint.c"
                 line="711">the string specifying the condition</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </function>
    </record>
    <enumeration name="BreakpointConditionLengthType"
                 version="1.4"
                 glib:type-name="AdwBreakpointConditionLengthType"
                 glib:get-type="adw_breakpoint_condition_length_type_get_type"
                 c:type="AdwBreakpointConditionLengthType">
      <doc xml:space="preserve"
           filename="src/adw-breakpoint.c"
           line="80">Describes length types for [struct@BreakpointCondition].

See [ctor@BreakpointCondition.new_length].

New values may be added to this enumeration over time.</doc>
      <member name="min_width"
              value="0"
              c:identifier="ADW_BREAKPOINT_CONDITION_MIN_WIDTH"
              glib:nick="min-width"
              glib:name="ADW_BREAKPOINT_CONDITION_MIN_WIDTH">
        <doc xml:space="preserve"
             filename="src/adw-breakpoint.c"
             line="82">true if the width is greater than or
  equal to the condition value</doc>
      </member>
      <member name="max_width"
              value="1"
              c:identifier="ADW_BREAKPOINT_CONDITION_MAX_WIDTH"
              glib:nick="max-width"
              glib:name="ADW_BREAKPOINT_CONDITION_MAX_WIDTH">
        <doc xml:space="preserve"
             filename="src/adw-breakpoint.c"
             line="84">true if the width is less than or
  equal to the condition value</doc>
      </member>
      <member name="min_height"
              value="2"
              c:identifier="ADW_BREAKPOINT_CONDITION_MIN_HEIGHT"
              glib:nick="min-height"
              glib:name="ADW_BREAKPOINT_CONDITION_MIN_HEIGHT">
        <doc xml:space="preserve"
             filename="src/adw-breakpoint.c"
             line="86">true if the height is greater than or
  equal to the condition value</doc>
      </member>
      <member name="max_height"
              value="3"
              c:identifier="ADW_BREAKPOINT_CONDITION_MAX_HEIGHT"
              glib:nick="max-height"
              glib:name="ADW_BREAKPOINT_CONDITION_MAX_HEIGHT">
        <doc xml:space="preserve"
             filename="src/adw-breakpoint.c"
             line="88">true if the height is less than or
  equal to the condition value</doc>
      </member>
    </enumeration>
    <enumeration name="BreakpointConditionRatioType"
                 version="1.4"
                 glib:type-name="AdwBreakpointConditionRatioType"
                 glib:get-type="adw_breakpoint_condition_ratio_type_get_type"
                 c:type="AdwBreakpointConditionRatioType">
      <doc xml:space="preserve"
           filename="src/adw-breakpoint.c"
           line="100">Describes ratio types for [struct@BreakpointCondition].

See [ctor@BreakpointCondition.new_ratio].

New values may be added to this enumeration over time.</doc>
      <member name="min_aspect_ratio"
              value="0"
              c:identifier="ADW_BREAKPOINT_CONDITION_MIN_ASPECT_RATIO"
              glib:nick="min-aspect-ratio"
              glib:name="ADW_BREAKPOINT_CONDITION_MIN_ASPECT_RATIO">
        <doc xml:space="preserve"
             filename="src/adw-breakpoint.c"
             line="102">true if the aspect ratio is
  greater than or equal to the condition value</doc>
      </member>
      <member name="max_aspect_ratio"
              value="1"
              c:identifier="ADW_BREAKPOINT_CONDITION_MAX_ASPECT_RATIO"
              glib:nick="max-aspect-ratio"
              glib:name="ADW_BREAKPOINT_CONDITION_MAX_ASPECT_RATIO">
        <doc xml:space="preserve"
             filename="src/adw-breakpoint.c"
             line="104">true if the aspect ratio is
  less than or equal to the condition value</doc>
      </member>
    </enumeration>
    <class name="ButtonContent"
           c:symbol-prefix="button_content"
           c:type="AdwButtonContent"
           parent="Gtk.Widget"
           final="1"
           glib:type-name="AdwButtonContent"
           glib:get-type="adw_button_content_get_type"
           glib:type-struct="ButtonContentClass">
      <doc xml:space="preserve"
           filename="src/adw-button-content.c"
           line="14">A helper widget for creating buttons.

&lt;picture&gt;
  &lt;source srcset="button-content-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="button-content.png" alt="button-content"&gt;
&lt;/picture&gt;

`AdwButtonContent` is a box-like widget with an icon and a label.

It's intended to be used as a direct child of [class@Gtk.Button],
[class@Gtk.MenuButton] or [class@SplitButton], when they need to have both an
icon and a label, as follows:

```xml
&lt;object class="GtkButton"&gt;
  &lt;property name="child"&gt;
    &lt;object class="AdwButtonContent"&gt;
      &lt;property name="icon-name"&gt;document-open-symbolic&lt;/property&gt;
      &lt;property name="label" translatable="yes"&gt;_Open&lt;/property&gt;
      &lt;property name="use-underline"&gt;True&lt;/property&gt;
    &lt;/object&gt;
  &lt;/property&gt;
&lt;/object&gt;
```

`AdwButtonContent` handles style classes and connecting the mnemonic to the
button automatically.

## CSS nodes

```
buttoncontent
╰── box
    ├── image
    ╰── label
```

`AdwButtonContent`'s CSS node is called `buttoncontent`. It contains a `box`
subnode that serves as a container for the  `image` and `label` nodes.

When inside a `GtkButton` or `AdwSplitButton`, the button will receive the
`.image-text-button` style class. When inside a `GtkMenuButton`, the
internal `GtkButton` will receive it instead.

## Accessibility

`AdwButtonContent` uses the `GTK_ACCESSIBLE_ROLE_GROUP` role.</doc>
      <source-position filename="src/adw-button-content.h" line="24"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <constructor name="new" c:identifier="adw_button_content_new">
        <doc xml:space="preserve"
             filename="src/adw-button-content.c"
             line="307">Creates a new `AdwButtonContent`.</doc>
        <source-position filename="src/adw-button-content.h" line="27"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-button-content.c"
               line="312">the new created `AdwButtonContent`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="get_can_shrink"
              c:identifier="adw_button_content_get_can_shrink"
              glib:get-property="can-shrink"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-button-content.c"
             line="447">gets whether the button can be smaller than the natural size of its contents.</doc>
        <source-position filename="src/adw-button-content.h" line="48"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-button-content.c"
               line="453">whether the button can shrink</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-button-content.c"
                 line="449">a button content</doc>
            <type name="ButtonContent" c:type="AdwButtonContent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_icon_name"
              c:identifier="adw_button_content_get_icon_name"
              glib:get-property="icon-name">
        <doc xml:space="preserve"
             filename="src/adw-button-content.c"
             line="320">Gets the name of the displayed icon.</doc>
        <source-position filename="src/adw-button-content.h" line="36"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-button-content.c"
               line="326">the icon name</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-button-content.c"
                 line="322">a button content</doc>
            <type name="ButtonContent" c:type="AdwButtonContent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_label"
              c:identifier="adw_button_content_get_label"
              glib:get-property="label">
        <doc xml:space="preserve"
             filename="src/adw-button-content.c"
             line="363">Gets the displayed label.</doc>
        <source-position filename="src/adw-button-content.h" line="30"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-button-content.c"
               line="369">the label</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-button-content.c"
                 line="365">a button content</doc>
            <type name="ButtonContent" c:type="AdwButtonContent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_use_underline"
              c:identifier="adw_button_content_get_use_underline"
              glib:get-property="use-underline">
        <doc xml:space="preserve"
             filename="src/adw-button-content.c"
             line="404">Gets whether an underline in the text indicates a mnemonic.</doc>
        <source-position filename="src/adw-button-content.h" line="42"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-button-content.c"
               line="410">whether an underline in the text indicates a mnemonic</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-button-content.c"
                 line="406">a button content</doc>
            <type name="ButtonContent" c:type="AdwButtonContent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_can_shrink"
              c:identifier="adw_button_content_set_can_shrink"
              glib:set-property="can-shrink"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-button-content.c"
             line="465">Sets whether the button can be smaller than the natural size of its contents.

If set to `TRUE`, the label will ellipsize.

See [method@Gtk.Button.set_can_shrink].</doc>
        <source-position filename="src/adw-button-content.h" line="50"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-button-content.c"
                 line="467">a button content</doc>
            <type name="ButtonContent" c:type="AdwButtonContent*"/>
          </instance-parameter>
          <parameter name="can_shrink" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-button-content.c"
                 line="468">whether the button can shrink</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_icon_name"
              c:identifier="adw_button_content_set_icon_name"
              glib:set-property="icon-name">
        <doc xml:space="preserve"
             filename="src/adw-button-content.c"
             line="336">Sets the name of the displayed icon.

If empty, the icon is not shown.</doc>
        <source-position filename="src/adw-button-content.h" line="38"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-button-content.c"
                 line="338">a button content</doc>
            <type name="ButtonContent" c:type="AdwButtonContent*"/>
          </instance-parameter>
          <parameter name="icon_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-button-content.c"
                 line="339">the new icon name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_label"
              c:identifier="adw_button_content_set_label"
              glib:set-property="label">
        <doc xml:space="preserve"
             filename="src/adw-button-content.c"
             line="379">Sets the displayed label.</doc>
        <source-position filename="src/adw-button-content.h" line="32"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-button-content.c"
                 line="381">a button content</doc>
            <type name="ButtonContent" c:type="AdwButtonContent*"/>
          </instance-parameter>
          <parameter name="label" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-button-content.c"
                 line="382">the new label</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_use_underline"
              c:identifier="adw_button_content_set_use_underline"
              glib:set-property="use-underline">
        <doc xml:space="preserve"
             filename="src/adw-button-content.c"
             line="420">Sets whether an underline in the text indicates a mnemonic.

The mnemonic can be used to activate the parent button.

See [property@ButtonContent:label].</doc>
        <source-position filename="src/adw-button-content.h" line="44"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-button-content.c"
                 line="422">a button content</doc>
            <type name="ButtonContent" c:type="AdwButtonContent*"/>
          </instance-parameter>
          <parameter name="use_underline" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-button-content.c"
                 line="423">whether an underline in the text indicates a mnemonic</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="can-shrink"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_can_shrink"
                getter="get_can_shrink"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-button-content.c"
             line="258">Whether the button can be smaller than the natural size of its contents.

If set to `TRUE`, the label will ellipsize.

See [property@Gtk.Button:can-shrink].</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="icon-name"
                writable="1"
                transfer-ownership="none"
                setter="set_icon_name"
                getter="get_icon_name">
        <doc xml:space="preserve"
             filename="src/adw-button-content.c"
             line="222">The name of the displayed icon.

If empty, the icon is not shown.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="label"
                writable="1"
                transfer-ownership="none"
                setter="set_label"
                getter="get_label">
        <doc xml:space="preserve"
             filename="src/adw-button-content.c"
             line="234">The displayed label.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="use-underline"
                writable="1"
                transfer-ownership="none"
                setter="set_use_underline"
                getter="get_use_underline"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-button-content.c"
             line="244">Whether an underline in the text indicates a mnemonic.

The mnemonic can be used to activate the parent button.

See [property@ButtonContent:label].</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
    </class>
    <record name="ButtonContentClass"
            c:type="AdwButtonContentClass"
            glib:is-gtype-struct-for="ButtonContent">
      <source-position filename="src/adw-button-content.h" line="24"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
    </record>
    <class name="ButtonRow"
           c:symbol-prefix="button_row"
           c:type="AdwButtonRow"
           version="1.6"
           parent="PreferencesRow"
           final="1"
           glib:type-name="AdwButtonRow"
           glib:get-type="adw_button_row_get_type"
           glib:type-struct="ButtonRowClass">
      <doc xml:space="preserve"
           filename="src/adw-button-row.c"
           line="15">A [class@Gtk.ListBoxRow] that looks like a button.

&lt;picture&gt;
  &lt;source srcset="button-rows-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="button-rows.png" alt="button-rows"&gt;
&lt;/picture&gt;

The `AdwButtonRow` widget has a title and two icons: before and after the
title.

It is convenient for presenting actions like "Delete" at the end of a boxed
list.

`AdwButtonRow` is always activatable.

## CSS nodes

`AdwButtonRow` has a main CSS node with name `row` and the style class
`.button`.

It contains the subnode `box` for its main horizontal box, which contains the
nodes: `image.icon.start` for the start icon, `label.title` for the title,
and `image.icon.end` for the end icon.

## Style classes

The [`.suggested-action`](style-classes.html#suggested-action) style class
makes `AdwButtonRow` use accent color for its background. It should be used
very sparingly to denote important buttons.

&lt;picture&gt;
  &lt;source srcset="button-row-suggested-action-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="button-row-suggested-action.png" alt="button-row-suggested-action"&gt;
&lt;/picture&gt;

The [`.destructive-action`](style-classes.html#destructive-action) style
makes the row use destructive colors. It can be used to draw attention to the
potentially damaging consequences of using it. This style acts as a warning
to the user.

&lt;picture&gt;
  &lt;source srcset="button-row-destructive-action-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="button-row-destructive-action.png" alt="button-row-destructive-action"&gt;
&lt;/picture&gt;</doc>
      <source-position filename="src/adw-button-row.h" line="24"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Actionable"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <constructor name="new" c:identifier="adw_button_row_new" version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-button-row.c"
             line="264">Creates a new `AdwButtonRow`.</doc>
        <source-position filename="src/adw-button-row.h" line="27"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-button-row.c"
               line="269">the newly created `AdwButtonRow`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="get_end_icon_name"
              c:identifier="adw_button_row_get_end_icon_name"
              glib:get-property="end-icon-name"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-button-row.c"
             line="318">Gets the end icon name for @self.</doc>
        <source-position filename="src/adw-button-row.h" line="36"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-button-row.c"
               line="324">the end icon name for @self</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-button-row.c"
                 line="320">a button row</doc>
            <type name="ButtonRow" c:type="AdwButtonRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_start_icon_name"
              c:identifier="adw_button_row_get_start_icon_name"
              glib:get-property="start-icon-name"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-button-row.c"
             line="279">Gets the start icon name for @self.</doc>
        <source-position filename="src/adw-button-row.h" line="30"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-button-row.c"
               line="285">the start icon name for @self</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-button-row.c"
                 line="281">a button row</doc>
            <type name="ButtonRow" c:type="AdwButtonRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_end_icon_name"
              c:identifier="adw_button_row_set_end_icon_name"
              glib:set-property="end-icon-name"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-button-row.c"
             line="336">Sets the end icon name for @self.</doc>
        <source-position filename="src/adw-button-row.h" line="38"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-button-row.c"
                 line="338">a button row</doc>
            <type name="ButtonRow" c:type="AdwButtonRow*"/>
          </instance-parameter>
          <parameter name="icon_name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-button-row.c"
                 line="339">the end icon name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_start_icon_name"
              c:identifier="adw_button_row_set_start_icon_name"
              glib:set-property="start-icon-name"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-button-row.c"
             line="297">Sets the start icon name for @self.</doc>
        <source-position filename="src/adw-button-row.h" line="32"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-button-row.c"
                 line="299">a button row</doc>
            <type name="ButtonRow" c:type="AdwButtonRow*"/>
          </instance-parameter>
          <parameter name="icon_name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-button-row.c"
                 line="300">the start icon name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <property name="end-icon-name"
                version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_end_icon_name"
                getter="get_end_icon_name">
        <doc xml:space="preserve"
             filename="src/adw-button-row.c"
             line="214">The icon name to show after the title.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="start-icon-name"
                version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_start_icon_name"
                getter="get_start_icon_name">
        <doc xml:space="preserve"
             filename="src/adw-button-row.c"
             line="202">The icon name to show before the title.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <glib:signal name="activated" when="last" version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-button-row.c"
             line="228">This signal is emitted after the row has been activated.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="ButtonRowClass"
            c:type="AdwButtonRowClass"
            glib:is-gtype-struct-for="ButtonRow">
      <source-position filename="src/adw-button-row.h" line="24"/>
      <field name="parent_class">
        <type name="PreferencesRowClass" c:type="AdwPreferencesRowClass"/>
      </field>
    </record>
    <function-macro name="CHECK_VERSION"
                    c:identifier="ADW_CHECK_VERSION"
                    introspectable="0">
      <doc xml:space="preserve"
           filename="src/adw-version.h"
           line="65">Compile-time version checking. Evaluates to `TRUE` if the version
of Adwaita is greater than the required one.</doc>
      <source-position filename="src/adw-version.h" line="73"/>
      <parameters>
        <parameter name="major">
          <doc xml:space="preserve"
               filename="src/adw-version.h"
               line="67">required major version</doc>
        </parameter>
        <parameter name="minor">
          <doc xml:space="preserve"
               filename="src/adw-version.h"
               line="68">required minor version</doc>
        </parameter>
        <parameter name="micro">
          <doc xml:space="preserve"
               filename="src/adw-version.h"
               line="69">required micro version</doc>
        </parameter>
      </parameters>
    </function-macro>
    <class name="CallbackAnimationTarget"
           c:symbol-prefix="callback_animation_target"
           c:type="AdwCallbackAnimationTarget"
           parent="AnimationTarget"
           final="1"
           glib:type-name="AdwCallbackAnimationTarget"
           glib:get-type="adw_callback_animation_target_get_type"
           glib:type-struct="CallbackAnimationTargetClass">
      <doc xml:space="preserve"
           filename="src/adw-animation-target.c"
           line="17">An [class@AnimationTarget] that calls a given callback during the
animation.</doc>
      <source-position filename="src/adw-animation-target.h" line="38"/>
      <constructor name="new" c:identifier="adw_callback_animation_target_new">
        <doc xml:space="preserve"
             filename="src/adw-animation-target.c"
             line="119">Creates a new `AdwAnimationTarget` that calls the given @callback during
the animation.</doc>
        <source-position filename="src/adw-animation-target.h" line="41"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/adw-animation-target.c"
               line="129">the newly created callback target</doc>
          <type name="AnimationTarget" c:type="AdwAnimationTarget*"/>
        </return-value>
        <parameters>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="notified"
                     closure="1"
                     destroy="2">
            <doc xml:space="preserve"
                 filename="src/adw-animation-target.c"
                 line="121">the callback to call</doc>
            <type name="AnimationTargetFunc" c:type="AdwAnimationTargetFunc"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="notified">
            <doc xml:space="preserve"
                 filename="src/adw-animation-target.c"
                 line="122">the data to be passed to @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="destroy"
                     transfer-ownership="none"
                     scope="async"
                     destroy="1">
            <doc xml:space="preserve"
                 filename="src/adw-animation-target.c"
                 line="123">the function to be called when the
  callback action is finalized</doc>
            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
        </parameters>
      </constructor>
    </class>
    <record name="CallbackAnimationTargetClass"
            c:type="AdwCallbackAnimationTargetClass"
            disguised="1"
            opaque="1"
            glib:is-gtype-struct-for="CallbackAnimationTarget">
      <source-position filename="src/adw-animation-target.h" line="38"/>
    </record>
    <class name="Carousel"
           c:symbol-prefix="carousel"
           c:type="AdwCarousel"
           parent="Gtk.Widget"
           final="1"
           glib:type-name="AdwCarousel"
           glib:get-type="adw_carousel_get_type"
           glib:type-struct="CarouselClass">
      <doc xml:space="preserve"
           filename="src/adw-carousel.c"
           line="24">A paginated scrolling widget.

&lt;picture&gt;
  &lt;source srcset="carousel-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="carousel.png" alt="carousel"&gt;
&lt;/picture&gt;

The `AdwCarousel` widget can be used to display a set of pages with
swipe-based navigation between them.

[class@CarouselIndicatorDots] and [class@CarouselIndicatorLines] can be used
to provide page indicators for `AdwCarousel`.

## CSS nodes

`AdwCarousel` has a single CSS node with name `carousel`.</doc>
      <source-position filename="src/adw-carousel.h" line="24"/>
      <implements name="Swipeable"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new" c:identifier="adw_carousel_new">
        <doc xml:space="preserve"
             filename="src/adw-carousel.c"
             line="1153">Creates a new `AdwCarousel`.</doc>
        <source-position filename="src/adw-carousel.h" line="27"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-carousel.c"
               line="1158">the newly created `AdwCarousel`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="append" c:identifier="adw_carousel_append">
        <doc xml:space="preserve"
             filename="src/adw-carousel.c"
             line="1184">Appends @child to @self.</doc>
        <source-position filename="src/adw-carousel.h" line="33"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-carousel.c"
                 line="1186">a carousel</doc>
            <type name="Carousel" c:type="AdwCarousel*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-carousel.c"
                 line="1187">a widget to add</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_allow_long_swipes"
              c:identifier="adw_carousel_get_allow_long_swipes"
              glib:get-property="allow-long-swipes">
        <doc xml:space="preserve"
             filename="src/adw-carousel.c"
             line="1717">Gets whether to allow swiping for more than one page at a time.</doc>
        <source-position filename="src/adw-carousel.h" line="93"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-carousel.c"
               line="1723">`TRUE` if long swipes are allowed</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-carousel.c"
                 line="1719">a carousel</doc>
            <type name="Carousel" c:type="AdwCarousel*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_allow_mouse_drag"
              c:identifier="adw_carousel_get_allow_mouse_drag"
              glib:get-property="allow-mouse-drag">
        <doc xml:space="preserve"
             filename="src/adw-carousel.c"
             line="1635">Sets whether @self can be dragged with mouse pointer.</doc>
        <source-position filename="src/adw-carousel.h" line="81"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-carousel.c"
               line="1641">whether @self can be dragged with mouse pointer</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-carousel.c"
                 line="1637">a carousel</doc>
            <type name="Carousel" c:type="AdwCarousel*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_allow_scroll_wheel"
              c:identifier="adw_carousel_get_allow_scroll_wheel"
              glib:get-property="allow-scroll-wheel">
        <doc xml:space="preserve"
             filename="src/adw-carousel.c"
             line="1676">Gets whether @self will respond to scroll wheel events.</doc>
        <source-position filename="src/adw-carousel.h" line="87"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-carousel.c"
               line="1682">`TRUE` if @self will respond to scroll wheel events</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-carousel.c"
                 line="1678">a carousel</doc>
            <type name="Carousel" c:type="AdwCarousel*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_interactive"
              c:identifier="adw_carousel_get_interactive"
              glib:get-property="interactive">
        <doc xml:space="preserve"
             filename="src/adw-carousel.c"
             line="1511">Gets whether @self can be navigated.</doc>
        <source-position filename="src/adw-carousel.h" line="63"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-carousel.c"
               line="1517">whether @self can be navigated</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-carousel.c"
                 line="1513">a carousel</doc>
            <type name="Carousel" c:type="AdwCarousel*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_n_pages"
              c:identifier="adw_carousel_get_n_pages"
              glib:get-property="n-pages">
        <doc xml:space="preserve"
             filename="src/adw-carousel.c"
             line="1466">Gets the number of pages in @self.</doc>
        <source-position filename="src/adw-carousel.h" line="58"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-carousel.c"
               line="1472">the number of pages in @self</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-carousel.c"
                 line="1468">a carousel</doc>
            <type name="Carousel" c:type="AdwCarousel*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_nth_page" c:identifier="adw_carousel_get_nth_page">
        <doc xml:space="preserve"
             filename="src/adw-carousel.c"
             line="1443">Gets the page at position @n.</doc>
        <source-position filename="src/adw-carousel.h" line="55"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-carousel.c"
               line="1450">the page</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-carousel.c"
                 line="1445">a carousel</doc>
            <type name="Carousel" c:type="AdwCarousel*"/>
          </instance-parameter>
          <parameter name="n" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-carousel.c"
                 line="1446">index of the page</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_position"
              c:identifier="adw_carousel_get_position"
              glib:get-property="position">
        <doc xml:space="preserve"
             filename="src/adw-carousel.c"
             line="1493">Gets current scroll position in @self, unitless.

1 matches 1 page. Use [method@Carousel.scroll_to] for changing it.</doc>
        <source-position filename="src/adw-carousel.h" line="60"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-carousel.c"
               line="1501">the scroll position</doc>
          <type name="gdouble" c:type="double"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-carousel.c"
                 line="1495">a carousel</doc>
            <type name="Carousel" c:type="AdwCarousel*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_reveal_duration"
              c:identifier="adw_carousel_get_reveal_duration"
              glib:get-property="reveal-duration">
        <doc xml:space="preserve"
             filename="src/adw-carousel.c"
             line="1759">Gets the page reveal duration, in milliseconds.</doc>
        <source-position filename="src/adw-carousel.h" line="99"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-carousel.c"
               line="1765">the duration</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-carousel.c"
                 line="1761">a carousel</doc>
            <type name="Carousel" c:type="AdwCarousel*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_scroll_params"
              c:identifier="adw_carousel_get_scroll_params"
              glib:get-property="scroll-params">
        <doc xml:space="preserve"
             filename="src/adw-carousel.c"
             line="1591">Gets the scroll animation spring parameters for @self.</doc>
        <source-position filename="src/adw-carousel.h" line="75"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/adw-carousel.c"
               line="1597">the animation parameters</doc>
          <type name="SpringParams" c:type="AdwSpringParams*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-carousel.c"
                 line="1593">a carousel</doc>
            <type name="Carousel" c:type="AdwCarousel*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_spacing"
              c:identifier="adw_carousel_get_spacing"
              glib:get-property="spacing">
        <doc xml:space="preserve"
             filename="src/adw-carousel.c"
             line="1553">Gets spacing between pages in pixels.</doc>
        <source-position filename="src/adw-carousel.h" line="69"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-carousel.c"
               line="1559">spacing between pages</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-carousel.c"
                 line="1555">a carousel</doc>
            <type name="Carousel" c:type="AdwCarousel*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="insert" c:identifier="adw_carousel_insert">
        <doc xml:space="preserve"
             filename="src/adw-carousel.c"
             line="1202">Inserts @child into @self at position @position.

If position is -1, or larger than the number of pages,
@child will be appended to the end.</doc>
        <source-position filename="src/adw-carousel.h" line="36"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-carousel.c"
                 line="1204">a carousel</doc>
            <type name="Carousel" c:type="AdwCarousel*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-carousel.c"
                 line="1205">a widget to add</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="position" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-carousel.c"
                 line="1206">the position to insert @child at</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="prepend" c:identifier="adw_carousel_prepend">
        <doc xml:space="preserve"
             filename="src/adw-carousel.c"
             line="1166">Prepends @child to @self.</doc>
        <source-position filename="src/adw-carousel.h" line="30"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-carousel.c"
                 line="1168">a carousel</doc>
            <type name="Carousel" c:type="AdwCarousel*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-carousel.c"
                 line="1169">a widget to add</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove" c:identifier="adw_carousel_remove">
        <doc xml:space="preserve"
             filename="src/adw-carousel.c"
             line="1344">Removes @child from @self.</doc>
        <source-position filename="src/adw-carousel.h" line="46"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-carousel.c"
                 line="1346">a carousel</doc>
            <type name="Carousel" c:type="AdwCarousel*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-carousel.c"
                 line="1347">a widget to remove</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="reorder" c:identifier="adw_carousel_reorder">
        <doc xml:space="preserve"
             filename="src/adw-carousel.c"
             line="1251">Moves @child into position @position.

If position is -1, or larger than the number of pages, @child will be moved
at the end.</doc>
        <source-position filename="src/adw-carousel.h" line="41"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-carousel.c"
                 line="1253">a carousel</doc>
            <type name="Carousel" c:type="AdwCarousel*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-carousel.c"
                 line="1254">a widget to add</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="position" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-carousel.c"
                 line="1255">the position to move @child to</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="scroll_to" c:identifier="adw_carousel_scroll_to">
        <doc xml:space="preserve"
             filename="src/adw-carousel.c"
             line="1404">Scrolls to @widget.

If @animate is `TRUE`, the transition will be animated.</doc>
        <source-position filename="src/adw-carousel.h" line="50"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-carousel.c"
                 line="1406">a carousel</doc>
            <type name="Carousel" c:type="AdwCarousel*"/>
          </instance-parameter>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-carousel.c"
                 line="1407">a child of @self</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="animate" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-carousel.c"
                 line="1408">whether to animate the transition</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_allow_long_swipes"
              c:identifier="adw_carousel_set_allow_long_swipes"
              glib:set-property="allow-long-swipes">
        <doc xml:space="preserve"
             filename="src/adw-carousel.c"
             line="1733">Sets whether to allow swiping for more than one page at a time.

If @allow_long_swipes is `FALSE`, each swipe can only move to the adjacent
pages.</doc>
        <source-position filename="src/adw-carousel.h" line="95"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-carousel.c"
                 line="1735">a carousel</doc>
            <type name="Carousel" c:type="AdwCarousel*"/>
          </instance-parameter>
          <parameter name="allow_long_swipes" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-carousel.c"
                 line="1736">whether to allow long swipes</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_allow_mouse_drag"
              c:identifier="adw_carousel_set_allow_mouse_drag"
              glib:set-property="allow-mouse-drag">
        <doc xml:space="preserve"
             filename="src/adw-carousel.c"
             line="1651">Sets whether @self can be dragged with mouse pointer.

If @allow_mouse_drag is `FALSE`, dragging is only available on touch.</doc>
        <source-position filename="src/adw-carousel.h" line="83"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-carousel.c"
                 line="1653">a carousel</doc>
            <type name="Carousel" c:type="AdwCarousel*"/>
          </instance-parameter>
          <parameter name="allow_mouse_drag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-carousel.c"
                 line="1654">whether @self can be dragged with mouse pointer</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_allow_scroll_wheel"
              c:identifier="adw_carousel_set_allow_scroll_wheel"
              glib:set-property="allow-scroll-wheel">
        <doc xml:space="preserve"
             filename="src/adw-carousel.c"
             line="1692">Sets whether @self will respond to scroll wheel events.

If @allow_scroll_wheel is `FALSE`, wheel events will be ignored.</doc>
        <source-position filename="src/adw-carousel.h" line="89"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-carousel.c"
                 line="1694">a carousel</doc>
            <type name="Carousel" c:type="AdwCarousel*"/>
          </instance-parameter>
          <parameter name="allow_scroll_wheel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-carousel.c"
                 line="1695">whether @self will respond to scroll wheel events</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_interactive"
              c:identifier="adw_carousel_set_interactive"
              glib:set-property="interactive">
        <doc xml:space="preserve"
             filename="src/adw-carousel.c"
             line="1527">Sets whether @self can be navigated.

This can be used to temporarily disable the carousel to only allow navigating
it in a certain state.</doc>
        <source-position filename="src/adw-carousel.h" line="65"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-carousel.c"
                 line="1529">a carousel</doc>
            <type name="Carousel" c:type="AdwCarousel*"/>
          </instance-parameter>
          <parameter name="interactive" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-carousel.c"
                 line="1530">whether @self can be navigated</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_reveal_duration"
              c:identifier="adw_carousel_set_reveal_duration"
              glib:set-property="reveal-duration">
        <doc xml:space="preserve"
             filename="src/adw-carousel.c"
             line="1775">Sets the page reveal duration, in milliseconds.

Reveal duration is used when animating adding or removing pages.</doc>
        <source-position filename="src/adw-carousel.h" line="101"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-carousel.c"
                 line="1777">a carousel</doc>
            <type name="Carousel" c:type="AdwCarousel*"/>
          </instance-parameter>
          <parameter name="reveal_duration" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-carousel.c"
                 line="1778">the new reveal duration value</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_scroll_params"
              c:identifier="adw_carousel_set_scroll_params"
              glib:set-property="scroll-params">
        <doc xml:space="preserve"
             filename="src/adw-carousel.c"
             line="1607">Sets the scroll animation spring parameters for @self.

The default value is equivalent to:

```c
adw_spring_params_new (1, 0.5, 500)
```</doc>
        <source-position filename="src/adw-carousel.h" line="77"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-carousel.c"
                 line="1609">a carousel</doc>
            <type name="Carousel" c:type="AdwCarousel*"/>
          </instance-parameter>
          <parameter name="params" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-carousel.c"
                 line="1610">the new parameters</doc>
            <type name="SpringParams" c:type="AdwSpringParams*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_spacing"
              c:identifier="adw_carousel_set_spacing"
              glib:set-property="spacing">
        <doc xml:space="preserve"
             filename="src/adw-carousel.c"
             line="1569">Sets spacing between pages in pixels.</doc>
        <source-position filename="src/adw-carousel.h" line="71"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-carousel.c"
                 line="1571">a carousel</doc>
            <type name="Carousel" c:type="AdwCarousel*"/>
          </instance-parameter>
          <parameter name="spacing" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-carousel.c"
                 line="1572">the new spacing value</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <property name="allow-long-swipes"
                writable="1"
                transfer-ownership="none"
                setter="set_allow_long_swipes"
                getter="get_allow_long_swipes"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-carousel.c"
             line="976">Whether to allow swiping for more than one page at a time.

If the value is `FALSE`, each swipe can only move to the adjacent pages.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="allow-mouse-drag"
                writable="1"
                transfer-ownership="none"
                setter="set_allow_mouse_drag"
                getter="get_allow_mouse_drag"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-carousel.c"
             line="952">Sets whether the `AdwCarousel` can be dragged with mouse pointer.

If the value is `FALSE`, dragging is only available on touch.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="allow-scroll-wheel"
                writable="1"
                transfer-ownership="none"
                setter="set_allow_scroll_wheel"
                getter="get_allow_scroll_wheel"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-carousel.c"
             line="964">Whether the widget will respond to scroll wheel events.

If the value is `FALSE`, wheel events will be ignored.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="interactive"
                writable="1"
                transfer-ownership="none"
                setter="set_interactive"
                getter="get_interactive"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-carousel.c"
             line="911">Whether the carousel can be navigated.

This can be used to temporarily disable the carousel to only allow
navigating it in a certain state.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="n-pages"
                transfer-ownership="none"
                getter="get_n_pages"
                default-value="0">
        <doc xml:space="preserve"
             filename="src/adw-carousel.c"
             line="885">The number of pages in a `AdwCarousel`.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="position"
                transfer-ownership="none"
                getter="get_position"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="src/adw-carousel.c"
             line="897">Current scrolling position, unitless.

1 matches 1 page. Use [method@Carousel.scroll_to] for changing it.</doc>
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="reveal-duration"
                writable="1"
                transfer-ownership="none"
                setter="set_reveal_duration"
                getter="get_reveal_duration"
                default-value="0">
        <doc xml:space="preserve"
             filename="src/adw-carousel.c"
             line="988">Page reveal duration, in milliseconds.

Reveal duration is used when animating adding or removing pages.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="scroll-params"
                writable="1"
                transfer-ownership="none"
                setter="set_scroll_params"
                getter="get_scroll_params">
        <doc xml:space="preserve"
             filename="src/adw-carousel.c"
             line="936">Scroll animation spring parameters.

The default value is equivalent to:

```c
adw_spring_params_new (1, 0.5, 500)
```</doc>
        <type name="SpringParams"/>
      </property>
      <property name="spacing"
                writable="1"
                transfer-ownership="none"
                setter="set_spacing"
                getter="get_spacing"
                default-value="0">
        <doc xml:space="preserve"
             filename="src/adw-carousel.c"
             line="924">Spacing between pages in pixels.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <glib:signal name="page-changed" when="last">
        <doc xml:space="preserve"
             filename="src/adw-carousel.c"
             line="1008">This signal is emitted after a page has been changed.

It can be used to implement "infinite scrolling" by amending the pages
after every scroll.

::: note
    An empty carousel is indicated by `(int)index == -1`.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="index" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-carousel.c"
                 line="1011">current page</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="CarouselClass"
            c:type="AdwCarouselClass"
            glib:is-gtype-struct-for="Carousel">
      <source-position filename="src/adw-carousel.h" line="24"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
    </record>
    <class name="CarouselIndicatorDots"
           c:symbol-prefix="carousel_indicator_dots"
           c:type="AdwCarouselIndicatorDots"
           parent="Gtk.Widget"
           final="1"
           glib:type-name="AdwCarouselIndicatorDots"
           glib:get-type="adw_carousel_indicator_dots_get_type"
           glib:type-struct="CarouselIndicatorDotsClass">
      <doc xml:space="preserve"
           filename="src/adw-carousel-indicator-dots.c"
           line="24">A dots indicator for [class@Carousel].

&lt;picture&gt;
  &lt;source srcset="carousel-indicator-dots-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="carousel-indicator-dots.png" alt="carousel-indicator-dots"&gt;
&lt;/picture&gt;

The `AdwCarouselIndicatorDots` widget shows a set of dots for each page of a
given [class@Carousel]. The dot representing the carousel's active page is
larger and more opaque than the others, the transition to the active and
inactive state is gradual to match the carousel's position.

See also [class@CarouselIndicatorLines].

## CSS nodes

`AdwCarouselIndicatorDots` has a single CSS node with name
`carouselindicatordots`.</doc>
      <source-position filename="src/adw-carousel-indicator-dots.h" line="23"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new" c:identifier="adw_carousel_indicator_dots_new">
        <doc xml:space="preserve"
             filename="src/adw-carousel-indicator-dots.c"
             line="366">Creates a new `AdwCarouselIndicatorDots`.</doc>
        <source-position filename="src/adw-carousel-indicator-dots.h"
                         line="26"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-carousel-indicator-dots.c"
               line="371">the newly created `AdwCarouselIndicatorDots`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="get_carousel"
              c:identifier="adw_carousel_indicator_dots_get_carousel"
              glib:get-property="carousel">
        <doc xml:space="preserve"
             filename="src/adw-carousel-indicator-dots.c"
             line="379">Gets the displayed carousel.</doc>
        <source-position filename="src/adw-carousel-indicator-dots.h"
                         line="29"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-carousel-indicator-dots.c"
               line="385">the displayed carousel</doc>
          <type name="Carousel" c:type="AdwCarousel*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-carousel-indicator-dots.c"
                 line="381">an indicator</doc>
            <type name="CarouselIndicatorDots"
                  c:type="AdwCarouselIndicatorDots*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_carousel"
              c:identifier="adw_carousel_indicator_dots_set_carousel"
              glib:set-property="carousel">
        <doc xml:space="preserve"
             filename="src/adw-carousel-indicator-dots.c"
             line="395">Sets the displayed carousel.</doc>
        <source-position filename="src/adw-carousel-indicator-dots.h"
                         line="31"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-carousel-indicator-dots.c"
                 line="397">an indicator</doc>
            <type name="CarouselIndicatorDots"
                  c:type="AdwCarouselIndicatorDots*"/>
          </instance-parameter>
          <parameter name="carousel"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-carousel-indicator-dots.c"
                 line="398">a carousel</doc>
            <type name="Carousel" c:type="AdwCarousel*"/>
          </parameter>
        </parameters>
      </method>
      <property name="carousel"
                writable="1"
                transfer-ownership="none"
                setter="set_carousel"
                getter="get_carousel">
        <doc xml:space="preserve"
             filename="src/adw-carousel-indicator-dots.c"
             line="334">The displayed carousel.</doc>
        <type name="Carousel"/>
      </property>
    </class>
    <record name="CarouselIndicatorDotsClass"
            c:type="AdwCarouselIndicatorDotsClass"
            glib:is-gtype-struct-for="CarouselIndicatorDots">
      <source-position filename="src/adw-carousel-indicator-dots.h" line="23"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
    </record>
    <class name="CarouselIndicatorLines"
           c:symbol-prefix="carousel_indicator_lines"
           c:type="AdwCarouselIndicatorLines"
           parent="Gtk.Widget"
           final="1"
           glib:type-name="AdwCarouselIndicatorLines"
           glib:get-type="adw_carousel_indicator_lines_get_type"
           glib:type-struct="CarouselIndicatorLinesClass">
      <doc xml:space="preserve"
           filename="src/adw-carousel-indicator-lines.c"
           line="23">A lines indicator for [class@Carousel].

&lt;picture&gt;
  &lt;source srcset="carousel-indicator-lines-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="carousel-indicator-lines.png" alt="carousel-indicator-lines"&gt;
&lt;/picture&gt;

The `AdwCarouselIndicatorLines` widget shows a set of lines for each page of
a given [class@Carousel]. The carousel's active page is shown as another line
that moves between them to match the carousel's position.

See also [class@CarouselIndicatorDots].

## CSS nodes

`AdwCarouselIndicatorLines` has a single CSS node with name
`carouselindicatorlines`.</doc>
      <source-position filename="src/adw-carousel-indicator-lines.h"
                       line="23"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new" c:identifier="adw_carousel_indicator_lines_new">
        <doc xml:space="preserve"
             filename="src/adw-carousel-indicator-lines.c"
             line="351">Creates a new `AdwCarouselIndicatorLines`.</doc>
        <source-position filename="src/adw-carousel-indicator-lines.h"
                         line="26"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-carousel-indicator-lines.c"
               line="356">the newly created `AdwCarouselIndicatorLines`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="get_carousel"
              c:identifier="adw_carousel_indicator_lines_get_carousel"
              glib:get-property="carousel">
        <doc xml:space="preserve"
             filename="src/adw-carousel-indicator-lines.c"
             line="364">Gets the displayed carousel.</doc>
        <source-position filename="src/adw-carousel-indicator-lines.h"
                         line="29"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-carousel-indicator-lines.c"
               line="370">the displayed carousel</doc>
          <type name="Carousel" c:type="AdwCarousel*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-carousel-indicator-lines.c"
                 line="366">an indicator</doc>
            <type name="CarouselIndicatorLines"
                  c:type="AdwCarouselIndicatorLines*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_carousel"
              c:identifier="adw_carousel_indicator_lines_set_carousel"
              glib:set-property="carousel">
        <doc xml:space="preserve"
             filename="src/adw-carousel-indicator-lines.c"
             line="380">Sets the displayed carousel.</doc>
        <source-position filename="src/adw-carousel-indicator-lines.h"
                         line="31"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-carousel-indicator-lines.c"
                 line="382">an indicator</doc>
            <type name="CarouselIndicatorLines"
                  c:type="AdwCarouselIndicatorLines*"/>
          </instance-parameter>
          <parameter name="carousel"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-carousel-indicator-lines.c"
                 line="383">a carousel</doc>
            <type name="Carousel" c:type="AdwCarousel*"/>
          </parameter>
        </parameters>
      </method>
      <property name="carousel"
                writable="1"
                transfer-ownership="none"
                setter="set_carousel"
                getter="get_carousel">
        <doc xml:space="preserve"
             filename="src/adw-carousel-indicator-lines.c"
             line="319">The displayed carousel.</doc>
        <type name="Carousel"/>
      </property>
    </class>
    <record name="CarouselIndicatorLinesClass"
            c:type="AdwCarouselIndicatorLinesClass"
            glib:is-gtype-struct-for="CarouselIndicatorLines">
      <source-position filename="src/adw-carousel-indicator-lines.h"
                       line="23"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
    </record>
    <enumeration name="CenteringPolicy"
                 glib:type-name="AdwCenteringPolicy"
                 glib:get-type="adw_centering_policy_get_type"
                 c:type="AdwCenteringPolicy">
      <doc xml:space="preserve"
           filename="src/adw-header-bar.c"
           line="139">Describes title centering behavior of a [class@HeaderBar] widget.</doc>
      <member name="loose"
              value="0"
              c:identifier="ADW_CENTERING_POLICY_LOOSE"
              glib:nick="loose"
              glib:name="ADW_CENTERING_POLICY_LOOSE">
        <doc xml:space="preserve"
             filename="src/adw-header-bar.c"
             line="141">Keep the title centered when possible</doc>
      </member>
      <member name="strict"
              value="1"
              c:identifier="ADW_CENTERING_POLICY_STRICT"
              glib:nick="strict"
              glib:name="ADW_CENTERING_POLICY_STRICT">
        <doc xml:space="preserve"
             filename="src/adw-header-bar.c"
             line="142">Keep the title centered at all cost</doc>
      </member>
    </enumeration>
    <class name="Clamp"
           c:symbol-prefix="clamp"
           c:type="AdwClamp"
           parent="Gtk.Widget"
           final="1"
           glib:type-name="AdwClamp"
           glib:get-type="adw_clamp_get_type"
           glib:type-struct="ClampClass">
      <doc xml:space="preserve"
           filename="src/adw-clamp.c"
           line="15">A widget constraining its child to a given size.

&lt;picture&gt;
  &lt;source srcset="clamp-wide-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="clamp-wide.png" alt="clamp-wide"&gt;
&lt;/picture&gt;
&lt;picture&gt;
  &lt;source srcset="clamp-narrow-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="clamp-narrow.png" alt="clamp-narrow"&gt;
&lt;/picture&gt;

The `AdwClamp` widget constrains the size of the widget it contains to a
given maximum size. It will constrain the width if it is horizontal, or the
height if it is vertical. The expansion of the child from its minimum to its
maximum size is eased out for a smooth transition.

If the child requires more than the requested maximum size, it will be
allocated the minimum size it can fit in instead.

`AdwClamp` can scale with the text scale factor, use the
[property@Clamp:unit] property to enable that behavior.

See also: [class@ClampLayout], [class@ClampScrollable].

## CSS nodes

`AdwClamp` has a single CSS node with name `clamp`.</doc>
      <source-position filename="src/adw-clamp.h" line="24"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new" c:identifier="adw_clamp_new">
        <doc xml:space="preserve"
             filename="src/adw-clamp.c"
             line="271">Creates a new `AdwClamp`.</doc>
        <source-position filename="src/adw-clamp.h" line="27"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-clamp.c"
               line="276">the newly created `AdwClamp`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="get_child"
              c:identifier="adw_clamp_get_child"
              glib:get-property="child">
        <doc xml:space="preserve"
             filename="src/adw-clamp.c"
             line="284">Gets the child widget of @self.</doc>
        <source-position filename="src/adw-clamp.h" line="30"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-clamp.c"
               line="290">the child widget of @self</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-clamp.c"
                 line="286">a clamp</doc>
            <type name="Clamp" c:type="AdwClamp*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_maximum_size"
              c:identifier="adw_clamp_get_maximum_size"
              glib:get-property="maximum-size">
        <doc xml:space="preserve"
             filename="src/adw-clamp.c"
             line="330">Gets the maximum size allocated to the child.</doc>
        <source-position filename="src/adw-clamp.h" line="36"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-clamp.c"
               line="336">the maximum size to allocate to the child</doc>
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-clamp.c"
                 line="332">a clamp</doc>
            <type name="Clamp" c:type="AdwClamp*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_tightening_threshold"
              c:identifier="adw_clamp_get_tightening_threshold"
              glib:get-property="tightening-threshold">
        <doc xml:space="preserve"
             filename="src/adw-clamp.c"
             line="377">Gets the size above which the child is clamped.</doc>
        <source-position filename="src/adw-clamp.h" line="42"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-clamp.c"
               line="383">the size above which the child is clamped</doc>
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-clamp.c"
                 line="379">a clamp</doc>
            <type name="Clamp" c:type="AdwClamp*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_unit"
              c:identifier="adw_clamp_get_unit"
              glib:get-property="unit"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-clamp.c"
             line="435">Gets the length unit for maximum size and tightening threshold.</doc>
        <source-position filename="src/adw-clamp.h" line="48"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-clamp.c"
               line="441">the length unit</doc>
          <type name="LengthUnit" c:type="AdwLengthUnit"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-clamp.c"
                 line="437">a clamp</doc>
            <type name="Clamp" c:type="AdwClamp*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_child"
              c:identifier="adw_clamp_set_child"
              glib:set-property="child">
        <doc xml:space="preserve"
             filename="src/adw-clamp.c"
             line="300">Sets the child widget of @self.</doc>
        <source-position filename="src/adw-clamp.h" line="32"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-clamp.c"
                 line="302">a clamp</doc>
            <type name="Clamp" c:type="AdwClamp*"/>
          </instance-parameter>
          <parameter name="child"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-clamp.c"
                 line="303">the child widget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_maximum_size"
              c:identifier="adw_clamp_set_maximum_size"
              glib:set-property="maximum-size">
        <doc xml:space="preserve"
             filename="src/adw-clamp.c"
             line="350">Sets the maximum size allocated to the child.

It is the width if the clamp is horizontal, or the height if it is vertical.</doc>
        <source-position filename="src/adw-clamp.h" line="38"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-clamp.c"
                 line="352">a clamp</doc>
            <type name="Clamp" c:type="AdwClamp*"/>
          </instance-parameter>
          <parameter name="maximum_size" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-clamp.c"
                 line="353">the maximum size</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_tightening_threshold"
              c:identifier="adw_clamp_set_tightening_threshold"
              glib:set-property="tightening-threshold">
        <doc xml:space="preserve"
             filename="src/adw-clamp.c"
             line="397">Sets the size above which the child is clamped.

Starting from this size, the clamp will tighten its grip on the child, slowly
allocating less and less of the available size up to the maximum allocated
size. Below that threshold and below the maximum size, the child will be
allocated all the available size.

If the threshold is greater than the maximum size to allocate to the child,
the child will be allocated all the size up to the maximum. If the threshold
is lower than the minimum size to allocate to the child, that size will be
used as the tightening threshold.

Effectively, tightening the grip on the child before it reaches its maximum
size makes transitions to and from the maximum size smoother when resizing.</doc>
        <source-position filename="src/adw-clamp.h" line="44"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-clamp.c"
                 line="399">a clamp</doc>
            <type name="Clamp" c:type="AdwClamp*"/>
          </instance-parameter>
          <parameter name="tightening_threshold" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-clamp.c"
                 line="400">the tightening threshold</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_unit"
              c:identifier="adw_clamp_set_unit"
              glib:set-property="unit"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-clamp.c"
             line="457">Sets the length unit for maximum size and tightening threshold.

Allows the sizes to vary depending on the text scale factor.</doc>
        <source-position filename="src/adw-clamp.h" line="50"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-clamp.c"
                 line="459">a clamp</doc>
            <type name="Clamp" c:type="AdwClamp*"/>
          </instance-parameter>
          <parameter name="unit" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-clamp.c"
                 line="460">the length unit</doc>
            <type name="LengthUnit" c:type="AdwLengthUnit"/>
          </parameter>
        </parameters>
      </method>
      <property name="child"
                writable="1"
                transfer-ownership="none"
                setter="set_child"
                getter="get_child">
        <doc xml:space="preserve"
             filename="src/adw-clamp.c"
             line="179">The child widget of the `AdwClamp`.</doc>
        <type name="Gtk.Widget"/>
      </property>
      <property name="maximum-size"
                writable="1"
                transfer-ownership="none"
                setter="set_maximum_size"
                getter="get_maximum_size"
                default-value="600">
        <doc xml:space="preserve"
             filename="src/adw-clamp.c"
             line="189">The maximum size allocated to the child.

It is the width if the clamp is horizontal, or the height if it is vertical.</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="tightening-threshold"
                writable="1"
                transfer-ownership="none"
                setter="set_tightening_threshold"
                getter="get_tightening_threshold"
                default-value="400">
        <doc xml:space="preserve"
             filename="src/adw-clamp.c"
             line="201">The size above which the child is clamped.

Starting from this size, the clamp will tighten its grip on the child,
slowly allocating less and less of the available size up to the maximum
allocated size. Below that threshold and below the maximum size, the child
will be allocated all the available size.

If the threshold is greater than the maximum size to allocate to the child,
the child will be allocated all the size up to the maximum.
If the threshold is lower than the minimum size to allocate to the child,
that size will be used as the tightening threshold.

Effectively, tightening the grip on the child before it reaches its maximum
size makes transitions to and from the maximum size smoother when resizing.</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="unit"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_unit"
                getter="get_unit"
                default-value="ADW_LENGTH_UNIT_SP">
        <doc xml:space="preserve"
             filename="src/adw-clamp.c"
             line="224">The length unit for maximum size and tightening threshold.

Allows the sizes to vary depending on the text scale factor.</doc>
        <type name="LengthUnit"/>
      </property>
    </class>
    <record name="ClampClass"
            c:type="AdwClampClass"
            glib:is-gtype-struct-for="Clamp">
      <source-position filename="src/adw-clamp.h" line="24"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
    </record>
    <class name="ClampLayout"
           c:symbol-prefix="clamp_layout"
           c:type="AdwClampLayout"
           parent="Gtk.LayoutManager"
           final="1"
           glib:type-name="AdwClampLayout"
           glib:get-type="adw_clamp_layout_get_type"
           glib:type-struct="ClampLayoutClass">
      <doc xml:space="preserve"
           filename="src/adw-clamp-layout.c"
           line="17">A layout manager constraining its children to a given size.

&lt;picture&gt;
  &lt;source srcset="clamp-wide-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="clamp-wide.png" alt="clamp-wide"&gt;
&lt;/picture&gt;
&lt;picture&gt;
  &lt;source srcset="clamp-narrow-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="clamp-narrow.png" alt="clamp-narrow"&gt;
&lt;/picture&gt;

`AdwClampLayout` constraints the size of the widgets it contains to a given
maximum size. It will constrain the width if it is horizontal, or the height
if it is vertical. The expansion of the children from their minimum to their
maximum size is eased out for a smooth transition.

If a child requires more than the requested maximum size, it will be
allocated the minimum size it can fit in instead.

`AdwClampLayout` can scale with the text scale factor, use the
[property@ClampLayout:unit] property to enable that behavior.

See also: [class@Clamp], [class@ClampScrollable].</doc>
      <source-position filename="src/adw-clamp-layout.h" line="24"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new" c:identifier="adw_clamp_layout_new">
        <doc xml:space="preserve"
             filename="src/adw-clamp-layout.c"
             line="467">Creates a new `AdwClampLayout`.</doc>
        <source-position filename="src/adw-clamp-layout.h" line="27"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/adw-clamp-layout.c"
               line="472">the newly created `AdwClampLayout`</doc>
          <type name="Gtk.LayoutManager" c:type="GtkLayoutManager*"/>
        </return-value>
      </constructor>
      <method name="get_maximum_size"
              c:identifier="adw_clamp_layout_get_maximum_size"
              glib:get-property="maximum-size">
        <doc xml:space="preserve"
             filename="src/adw-clamp-layout.c"
             line="480">Gets the maximum size allocated to the children.</doc>
        <source-position filename="src/adw-clamp-layout.h" line="30"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-clamp-layout.c"
               line="486">the maximum size to allocate to the children</doc>
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-clamp-layout.c"
                 line="482">a clamp layout</doc>
            <type name="ClampLayout" c:type="AdwClampLayout*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_tightening_threshold"
              c:identifier="adw_clamp_layout_get_tightening_threshold"
              glib:get-property="tightening-threshold">
        <doc xml:space="preserve"
             filename="src/adw-clamp-layout.c"
             line="521">Gets the size above which the children are clamped.</doc>
        <source-position filename="src/adw-clamp-layout.h" line="36"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-clamp-layout.c"
               line="527">the size above which the children are clamped</doc>
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-clamp-layout.c"
                 line="523">a clamp layout</doc>
            <type name="ClampLayout" c:type="AdwClampLayout*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_unit"
              c:identifier="adw_clamp_layout_get_unit"
              glib:get-property="unit"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-clamp-layout.c"
             line="573">Gets the length unit for maximum size and tightening threshold.</doc>
        <source-position filename="src/adw-clamp-layout.h" line="42"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-clamp-layout.c"
               line="579">the length unit</doc>
          <type name="LengthUnit" c:type="AdwLengthUnit"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-clamp-layout.c"
                 line="575">a clamp layout</doc>
            <type name="ClampLayout" c:type="AdwClampLayout*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_maximum_size"
              c:identifier="adw_clamp_layout_set_maximum_size"
              glib:set-property="maximum-size">
        <doc xml:space="preserve"
             filename="src/adw-clamp-layout.c"
             line="496">Sets the maximum size allocated to the children.

It is the width if the layout is horizontal, or the height if it is vertical.</doc>
        <source-position filename="src/adw-clamp-layout.h" line="32"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-clamp-layout.c"
                 line="498">a clamp layout</doc>
            <type name="ClampLayout" c:type="AdwClampLayout*"/>
          </instance-parameter>
          <parameter name="maximum_size" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-clamp-layout.c"
                 line="499">the maximum size</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_tightening_threshold"
              c:identifier="adw_clamp_layout_set_tightening_threshold"
              glib:set-property="tightening-threshold">
        <doc xml:space="preserve"
             filename="src/adw-clamp-layout.c"
             line="537">Sets the size above which the children are clamped.

Starting from this size, the layout will tighten its grip on the children,
slowly allocating less and less of the available size up to the maximum
allocated size. Below that threshold and below the maximum size, the children
will be allocated all the available size.

If the threshold is greater than the maximum size to allocate to the
children, they will be allocated the whole size up to the maximum. If the
threshold is lower than the minimum size to allocate to the children, that
size will be used as the tightening threshold.

Effectively, tightening the grip on a child before it reaches its maximum
size makes transitions to and from the maximum size smoother when resizing.</doc>
        <source-position filename="src/adw-clamp-layout.h" line="38"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-clamp-layout.c"
                 line="539">a clamp layout</doc>
            <type name="ClampLayout" c:type="AdwClampLayout*"/>
          </instance-parameter>
          <parameter name="tightening_threshold" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-clamp-layout.c"
                 line="540">the tightening threshold</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_unit"
              c:identifier="adw_clamp_layout_set_unit"
              glib:set-property="unit"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-clamp-layout.c"
             line="591">Sets the length unit for maximum size and tightening threshold.

Allows the sizes to vary depending on the text scale factor.</doc>
        <source-position filename="src/adw-clamp-layout.h" line="44"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-clamp-layout.c"
                 line="593">a clamp layout</doc>
            <type name="ClampLayout" c:type="AdwClampLayout*"/>
          </instance-parameter>
          <parameter name="unit" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-clamp-layout.c"
                 line="594">the length unit</doc>
            <type name="LengthUnit" c:type="AdwLengthUnit"/>
          </parameter>
        </parameters>
      </method>
      <property name="maximum-size"
                writable="1"
                transfer-ownership="none"
                setter="set_maximum_size"
                getter="get_maximum_size"
                default-value="600">
        <doc xml:space="preserve"
             filename="src/adw-clamp-layout.c"
             line="405">The maximum size to allocate to the children.

It is the width if the layout is horizontal, or the height if it is
vertical.</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="tightening-threshold"
                writable="1"
                transfer-ownership="none"
                setter="set_tightening_threshold"
                getter="get_tightening_threshold"
                default-value="400">
        <doc xml:space="preserve"
             filename="src/adw-clamp-layout.c"
             line="418">The size above which the children are clamped.

Starting from this size, the layout will tighten its grip on the children,
slowly allocating less and less of the available size up to the maximum
allocated size. Below that threshold and below the maximum size, the
children will be allocated all the available size.

If the threshold is greater than the maximum size to allocate to the
children, they will be allocated the whole size up to the maximum. If the
threshold is lower than the minimum size to allocate to the children, that
size will be used as the tightening threshold.

Effectively, tightening the grip on a child before it reaches its maximum
size makes transitions to and from the maximum size smoother when resizing.</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="unit"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_unit"
                getter="get_unit"
                default-value="ADW_LENGTH_UNIT_SP">
        <doc xml:space="preserve"
             filename="src/adw-clamp-layout.c"
             line="441">The length unit for maximum size and tightening threshold.

Allows the sizes to vary depending on the text scale factor.</doc>
        <type name="LengthUnit"/>
      </property>
    </class>
    <record name="ClampLayoutClass"
            c:type="AdwClampLayoutClass"
            glib:is-gtype-struct-for="ClampLayout">
      <source-position filename="src/adw-clamp-layout.h" line="24"/>
      <field name="parent_class">
        <type name="Gtk.LayoutManagerClass" c:type="GtkLayoutManagerClass"/>
      </field>
    </record>
    <class name="ClampScrollable"
           c:symbol-prefix="clamp_scrollable"
           c:type="AdwClampScrollable"
           parent="Gtk.Widget"
           final="1"
           glib:type-name="AdwClampScrollable"
           glib:get-type="adw_clamp_scrollable_get_type"
           glib:type-struct="ClampScrollableClass">
      <doc xml:space="preserve"
           filename="src/adw-clamp-scrollable.c"
           line="15">A scrollable [class@Clamp].

`AdwClampScrollable` is a variant of [class@Clamp] that implements the
[iface@Gtk.Scrollable] interface.

The primary use case for `AdwClampScrollable` is clamping
[class@Gtk.ListView].

See also: [class@ClampLayout].</doc>
      <source-position filename="src/adw-clamp-scrollable.h" line="24"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <implements name="Gtk.Orientable"/>
      <implements name="Gtk.Scrollable"/>
      <constructor name="new" c:identifier="adw_clamp_scrollable_new">
        <doc xml:space="preserve"
             filename="src/adw-clamp-scrollable.c"
             line="355">Creates a new `AdwClampScrollable`.</doc>
        <source-position filename="src/adw-clamp-scrollable.h" line="27"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-clamp-scrollable.c"
               line="360">the newly created `AdwClampScrollable`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="get_child"
              c:identifier="adw_clamp_scrollable_get_child"
              glib:get-property="child">
        <doc xml:space="preserve"
             filename="src/adw-clamp-scrollable.c"
             line="368">Gets the child widget of @self.</doc>
        <source-position filename="src/adw-clamp-scrollable.h" line="30"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-clamp-scrollable.c"
               line="374">the child widget of @self</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-clamp-scrollable.c"
                 line="370">a clamp scrollable</doc>
            <type name="ClampScrollable" c:type="AdwClampScrollable*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_maximum_size"
              c:identifier="adw_clamp_scrollable_get_maximum_size"
              glib:get-property="maximum-size">
        <doc xml:space="preserve"
             filename="src/adw-clamp-scrollable.c"
             line="439">Gets the maximum size allocated to the child.</doc>
        <source-position filename="src/adw-clamp-scrollable.h" line="36"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-clamp-scrollable.c"
               line="445">the maximum size to allocate to the child</doc>
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-clamp-scrollable.c"
                 line="441">a clamp scrollable</doc>
            <type name="ClampScrollable" c:type="AdwClampScrollable*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_tightening_threshold"
              c:identifier="adw_clamp_scrollable_get_tightening_threshold"
              glib:get-property="tightening-threshold">
        <doc xml:space="preserve"
             filename="src/adw-clamp-scrollable.c"
             line="486">Gets the size above which the child is clamped.</doc>
        <source-position filename="src/adw-clamp-scrollable.h" line="42"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-clamp-scrollable.c"
               line="492">the size above which the child is clamped</doc>
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-clamp-scrollable.c"
                 line="488">a clamp scrollable</doc>
            <type name="ClampScrollable" c:type="AdwClampScrollable*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_unit"
              c:identifier="adw_clamp_scrollable_get_unit"
              glib:get-property="unit"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-clamp-scrollable.c"
             line="544">Gets the length unit for maximum size and tightening threshold.</doc>
        <source-position filename="src/adw-clamp-scrollable.h" line="48"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-clamp-scrollable.c"
               line="550">the length unit</doc>
          <type name="LengthUnit" c:type="AdwLengthUnit"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-clamp-scrollable.c"
                 line="546">a clamp scrollable</doc>
            <type name="ClampScrollable" c:type="AdwClampScrollable*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_child"
              c:identifier="adw_clamp_scrollable_set_child"
              glib:set-property="child">
        <doc xml:space="preserve"
             filename="src/adw-clamp-scrollable.c"
             line="384">Sets the child widget of @self.</doc>
        <source-position filename="src/adw-clamp-scrollable.h" line="32"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-clamp-scrollable.c"
                 line="386">a clamp scrollable</doc>
            <type name="ClampScrollable" c:type="AdwClampScrollable*"/>
          </instance-parameter>
          <parameter name="child"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-clamp-scrollable.c"
                 line="387">the child widget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_maximum_size"
              c:identifier="adw_clamp_scrollable_set_maximum_size"
              glib:set-property="maximum-size">
        <doc xml:space="preserve"
             filename="src/adw-clamp-scrollable.c"
             line="459">Sets the maximum size allocated to the child.

It is the width if the clamp is horizontal, or the height if it is vertical.</doc>
        <source-position filename="src/adw-clamp-scrollable.h" line="38"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-clamp-scrollable.c"
                 line="461">a clamp scrollable</doc>
            <type name="ClampScrollable" c:type="AdwClampScrollable*"/>
          </instance-parameter>
          <parameter name="maximum_size" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-clamp-scrollable.c"
                 line="462">the maximum size</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_tightening_threshold"
              c:identifier="adw_clamp_scrollable_set_tightening_threshold"
              glib:set-property="tightening-threshold">
        <doc xml:space="preserve"
             filename="src/adw-clamp-scrollable.c"
             line="506">Sets the size above which the child is clamped.

Starting from this size, the clamp will tighten its grip on the child, slowly
allocating less and less of the available size up to the maximum allocated
size. Below that threshold and below the maximum width, the child will be
allocated all the available size.

If the threshold is greater than the maximum size to allocate to the child,
the child will be allocated all the width up to the maximum. If the threshold
is lower than the minimum size to allocate to the child, that size will be
used as the tightening threshold.

Effectively, tightening the grip on the child before it reaches its maximum
size makes transitions to and from the maximum size smoother when resizing.</doc>
        <source-position filename="src/adw-clamp-scrollable.h" line="44"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-clamp-scrollable.c"
                 line="508">a clamp scrollable</doc>
            <type name="ClampScrollable" c:type="AdwClampScrollable*"/>
          </instance-parameter>
          <parameter name="tightening_threshold" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-clamp-scrollable.c"
                 line="509">the tightening threshold</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_unit"
              c:identifier="adw_clamp_scrollable_set_unit"
              glib:set-property="unit"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-clamp-scrollable.c"
             line="566">Sets the length unit for maximum size and tightening threshold.

Allows the sizes to vary depending on the text scale factor.</doc>
        <source-position filename="src/adw-clamp-scrollable.h" line="50"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-clamp-scrollable.c"
                 line="568">a clamp</doc>
            <type name="ClampScrollable" c:type="AdwClampScrollable*"/>
          </instance-parameter>
          <parameter name="unit" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-clamp-scrollable.c"
                 line="569">the length unit</doc>
            <type name="LengthUnit" c:type="AdwLengthUnit"/>
          </parameter>
        </parameters>
      </method>
      <property name="child"
                writable="1"
                transfer-ownership="none"
                setter="set_child"
                getter="get_child">
        <doc xml:space="preserve"
             filename="src/adw-clamp-scrollable.c"
             line="264">The child widget of the `AdwClampScrollable`.</doc>
        <type name="Gtk.Widget"/>
      </property>
      <property name="maximum-size"
                writable="1"
                transfer-ownership="none"
                setter="set_maximum_size"
                getter="get_maximum_size"
                default-value="600">
        <doc xml:space="preserve"
             filename="src/adw-clamp-scrollable.c"
             line="274">The maximum size allocated to the child.

It is the width if the clamp is horizontal, or the height if it is vertical.</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="tightening-threshold"
                writable="1"
                transfer-ownership="none"
                setter="set_tightening_threshold"
                getter="get_tightening_threshold"
                default-value="400">
        <doc xml:space="preserve"
             filename="src/adw-clamp-scrollable.c"
             line="286">The size above which the child is clamped.

Starting from this size, the clamp will tighten its grip on the child,
slowly allocating less and less of the available size up to the maximum
allocated size. Below that threshold and below the maximum width, the child
will be allocated all the available size.

If the threshold is greater than the maximum size to allocate to the child,
the child will be allocated all the width up to the maximum.
If the threshold is lower than the minimum size to allocate to the child,
that size will be used as the tightening threshold.

Effectively, tightening the grip on the child before it reaches its maximum
size makes transitions to and from the maximum size smoother when resizing.</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="unit"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_unit"
                getter="get_unit"
                default-value="ADW_LENGTH_UNIT_SP">
        <doc xml:space="preserve"
             filename="src/adw-clamp-scrollable.c"
             line="309">The length unit for maximum size and tightening threshold.

Allows the sizes to vary depending on the text scale factor.</doc>
        <type name="LengthUnit"/>
      </property>
    </class>
    <record name="ClampScrollableClass"
            c:type="AdwClampScrollableClass"
            glib:is-gtype-struct-for="ClampScrollable">
      <source-position filename="src/adw-clamp-scrollable.h" line="24"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
    </record>
    <enumeration name="ColorScheme"
                 glib:type-name="AdwColorScheme"
                 glib:get-type="adw_color_scheme_get_type"
                 c:type="AdwColorScheme">
      <doc xml:space="preserve"
           filename="src/adw-style-manager.c"
           line="20">Application color schemes for [property@StyleManager:color-scheme].</doc>
      <member name="default"
              value="0"
              c:identifier="ADW_COLOR_SCHEME_DEFAULT"
              glib:nick="default"
              glib:name="ADW_COLOR_SCHEME_DEFAULT">
        <doc xml:space="preserve"
             filename="src/adw-style-manager.c"
             line="22">Inherit the parent color-scheme. When set on the
  `AdwStyleManager` returned by [func@StyleManager.get_default], it's
  equivalent to `ADW_COLOR_SCHEME_PREFER_LIGHT`.</doc>
      </member>
      <member name="force_light"
              value="1"
              c:identifier="ADW_COLOR_SCHEME_FORCE_LIGHT"
              glib:nick="force-light"
              glib:name="ADW_COLOR_SCHEME_FORCE_LIGHT">
        <doc xml:space="preserve"
             filename="src/adw-style-manager.c"
             line="25">Always use light appearance.</doc>
      </member>
      <member name="prefer_light"
              value="2"
              c:identifier="ADW_COLOR_SCHEME_PREFER_LIGHT"
              glib:nick="prefer-light"
              glib:name="ADW_COLOR_SCHEME_PREFER_LIGHT">
        <doc xml:space="preserve"
             filename="src/adw-style-manager.c"
             line="26">Use light appearance unless the system
  prefers dark colors.</doc>
      </member>
      <member name="prefer_dark"
              value="3"
              c:identifier="ADW_COLOR_SCHEME_PREFER_DARK"
              glib:nick="prefer-dark"
              glib:name="ADW_COLOR_SCHEME_PREFER_DARK">
        <doc xml:space="preserve"
             filename="src/adw-style-manager.c"
             line="28">Use dark appearance unless the system prefers
  prefers light colors.</doc>
      </member>
      <member name="force_dark"
              value="4"
              c:identifier="ADW_COLOR_SCHEME_FORCE_DARK"
              glib:nick="force-dark"
              glib:name="ADW_COLOR_SCHEME_FORCE_DARK">
        <doc xml:space="preserve"
             filename="src/adw-style-manager.c"
             line="30">Always use dark appearance.</doc>
      </member>
    </enumeration>
    <class name="ComboRow"
           c:symbol-prefix="combo_row"
           c:type="AdwComboRow"
           parent="ActionRow"
           glib:type-name="AdwComboRow"
           glib:get-type="adw_combo_row_get_type"
           glib:type-struct="ComboRowClass">
      <doc xml:space="preserve"
           filename="src/adw-combo-row.c"
           line="16">A [class@Gtk.ListBoxRow] used to choose from a list of items.

&lt;picture&gt;
  &lt;source srcset="combo-row-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="combo-row.png" alt="combo-row"&gt;
&lt;/picture&gt;

The `AdwComboRow` widget allows the user to choose from a list of valid
choices. The row displays the selected choice. When activated, the row
displays a popover which allows the user to make a new choice.

Example of an `AdwComboRow` UI definition:
```xml
&lt;object class="AdwComboRow"&gt;
  &lt;property name="title" translatable="yes"&gt;Combo Row&lt;/property&gt;
  &lt;property name="model"&gt;
    &lt;object class="GtkStringList"&gt;
      &lt;items&gt;
        &lt;item translatable="yes"&gt;Foo&lt;/item&gt;
        &lt;item translatable="yes"&gt;Bar&lt;/item&gt;
        &lt;item translatable="yes"&gt;Baz&lt;/item&gt;
      &lt;/items&gt;
    &lt;/object&gt;
  &lt;/property&gt;
&lt;/object&gt;
```

The [property@ComboRow:selected] and [property@ComboRow:selected-item]
properties can be used to keep track of the selected item and react to their
changes.

`AdwComboRow` mirrors [class@Gtk.DropDown], see that widget for details.

`AdwComboRow` is [property@Gtk.ListBoxRow:activatable] if a model is set.

## CSS nodes

`AdwComboRow` has a main CSS node with name `row` and the `.combo` style
class.

Its popover has the node named `popover` with the `.menu` style class, it
contains a [class@Gtk.ScrolledWindow], which in turn contains a
[class@Gtk.ListView], both are accessible via their regular nodes.

## Accessibility

`AdwComboRow` uses the `GTK_ACCESSIBLE_ROLE_COMBO_BOX` role.</doc>
      <source-position filename="src/adw-combo-row.h" line="35"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Actionable"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <constructor name="new" c:identifier="adw_combo_row_new">
        <doc xml:space="preserve"
             filename="src/adw-combo-row.c"
             line="743">Creates a new `AdwComboRow`.</doc>
        <source-position filename="src/adw-combo-row.h" line="38"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-combo-row.c"
               line="748">the newly created `AdwComboRow`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="get_enable_search"
              c:identifier="adw_combo_row_get_enable_search"
              glib:get-property="enable-search"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-combo-row.c"
             line="1186">Gets whether search is enabled.

If set to `TRUE`, a search entry will be shown in the popup that
allows to search for items in the list.

Search requires [property@ComboRow:expression] to be set.</doc>
        <source-position filename="src/adw-combo-row.h" line="86"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-combo-row.c"
               line="1197">whether the popup includes a search entry</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-combo-row.c"
                 line="1188">a combo row</doc>
            <type name="ComboRow" c:type="AdwComboRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_expression"
              c:identifier="adw_combo_row_get_expression"
              glib:get-property="expression">
        <doc xml:space="preserve"
             filename="src/adw-combo-row.c"
             line="1064">Gets the expression used to obtain strings from items.</doc>
        <source-position filename="src/adw-combo-row.h" line="74"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-combo-row.c"
               line="1070">the expression used to obtain strings from items</doc>
          <type name="Gtk.Expression" c:type="GtkExpression*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-combo-row.c"
                 line="1066">a combo row</doc>
            <type name="ComboRow" c:type="AdwComboRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_factory"
              c:identifier="adw_combo_row_get_factory"
              glib:get-property="factory">
        <doc xml:space="preserve"
             filename="src/adw-combo-row.c"
             line="923">Gets the factory for populating list items.</doc>
        <source-position filename="src/adw-combo-row.h" line="56"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-combo-row.c"
               line="929">the factory in use</doc>
          <type name="Gtk.ListItemFactory" c:type="GtkListItemFactory*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-combo-row.c"
                 line="925">a combo row</doc>
            <type name="ComboRow" c:type="AdwComboRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_header_factory"
              c:identifier="adw_combo_row_get_header_factory"
              glib:get-property="header-factory"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-combo-row.c"
             line="963">Gets the factory that's currently used to create header widgets for the popup.</doc>
        <source-position filename="src/adw-combo-row.h" line="62"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-combo-row.c"
               line="969">The factory in use</doc>
          <type name="Gtk.ListItemFactory" c:type="GtkListItemFactory*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-combo-row.c"
                 line="965">a combo row</doc>
            <type name="ComboRow" c:type="AdwComboRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_list_factory"
              c:identifier="adw_combo_row_get_list_factory"
              glib:get-property="list-factory">
        <doc xml:space="preserve"
             filename="src/adw-combo-row.c"
             line="1013">Gets the factory for populating list items in the popup.</doc>
        <source-position filename="src/adw-combo-row.h" line="68"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-combo-row.c"
               line="1019">the factory in use</doc>
          <type name="Gtk.ListItemFactory" c:type="GtkListItemFactory*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-combo-row.c"
                 line="1015">a combo row</doc>
            <type name="ComboRow" c:type="AdwComboRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_model"
              c:identifier="adw_combo_row_get_model"
              glib:get-property="model">
        <doc xml:space="preserve"
             filename="src/adw-combo-row.c"
             line="830">Gets the model that provides the displayed items.</doc>
        <source-position filename="src/adw-combo-row.h" line="41"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-combo-row.c"
               line="836">The model in use</doc>
          <type name="Gio.ListModel" c:type="GListModel*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-combo-row.c"
                 line="832">a combo row</doc>
            <type name="ComboRow" c:type="AdwComboRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_search_match_mode"
              c:identifier="adw_combo_row_get_search_match_mode"
              glib:get-property="search-match-mode"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-combo-row.c"
             line="1250">Returns the match mode that the search filter is using.</doc>
        <source-position filename="src/adw-combo-row.h" line="95"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-combo-row.c"
               line="1256">the match mode of the search filter</doc>
          <type name="Gtk.StringFilterMatchMode"
                c:type="GtkStringFilterMatchMode"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-combo-row.c"
                 line="1252">a combo row</doc>
            <type name="ComboRow" c:type="AdwComboRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_selected"
              c:identifier="adw_combo_row_get_selected"
              glib:get-property="selected">
        <doc xml:space="preserve"
             filename="src/adw-combo-row.c"
             line="783">Gets the position of the selected item.</doc>
        <source-position filename="src/adw-combo-row.h" line="47"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-combo-row.c"
               line="789">the position of the selected item, or
  [const@Gtk.INVALID_LIST_POSITION] if no item is selected</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-combo-row.c"
                 line="785">a combo row</doc>
            <type name="ComboRow" c:type="AdwComboRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_selected_item"
              c:identifier="adw_combo_row_get_selected_item"
              glib:get-property="selected-item">
        <doc xml:space="preserve"
             filename="src/adw-combo-row.c"
             line="807">Gets the selected item.</doc>
        <source-position filename="src/adw-combo-row.h" line="53"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-combo-row.c"
               line="813">the selected item</doc>
          <type name="GObject.Object" c:type="gpointer"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-combo-row.c"
                 line="809">a combo row</doc>
            <type name="ComboRow" c:type="AdwComboRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_use_subtitle"
              c:identifier="adw_combo_row_get_use_subtitle"
              glib:get-property="use-subtitle">
        <doc xml:space="preserve"
             filename="src/adw-combo-row.c"
             line="1128">Gets whether to use the current value as the subtitle.</doc>
        <source-position filename="src/adw-combo-row.h" line="80"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-combo-row.c"
               line="1134">whether to use the current value as the subtitle</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-combo-row.c"
                 line="1130">a combo row</doc>
            <type name="ComboRow" c:type="AdwComboRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_enable_search"
              c:identifier="adw_combo_row_set_enable_search"
              glib:set-property="enable-search"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-combo-row.c"
             line="1213">Sets whether to enable search.

If set to `TRUE`, a search entry will be shown in the popup that
allows to search for items in the list.

Search requires [property@ComboRow:expression] to be set.</doc>
        <source-position filename="src/adw-combo-row.h" line="88"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-combo-row.c"
                 line="1215">a combo row</doc>
            <type name="ComboRow" c:type="AdwComboRow*"/>
          </instance-parameter>
          <parameter name="enable_search" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-combo-row.c"
                 line="1216">whether to enable search</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_expression"
              c:identifier="adw_combo_row_set_expression"
              glib:set-property="expression">
        <doc xml:space="preserve"
             filename="src/adw-combo-row.c"
             line="1084">Sets the expression used to obtain strings from items.

The expression must have a value type of `G_TYPE_STRING`.

It's used to bind strings to labels produced by the default factory if
[property@ComboRow:factory] is not set, or when
[property@ComboRow:use-subtitle] is set to `TRUE`.</doc>
        <source-position filename="src/adw-combo-row.h" line="76"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-combo-row.c"
                 line="1086">a combo row</doc>
            <type name="ComboRow" c:type="AdwComboRow*"/>
          </instance-parameter>
          <parameter name="expression"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-combo-row.c"
                 line="1087">an expression</doc>
            <type name="Gtk.Expression" c:type="GtkExpression*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_factory"
              c:identifier="adw_combo_row_set_factory"
              glib:set-property="factory">
        <doc xml:space="preserve"
             filename="src/adw-combo-row.c"
             line="943">Sets the factory for populating list items.

This factory is always used for the item in the row. It is also used for
items in the popup unless [property@ComboRow:list-factory] is set.</doc>
        <source-position filename="src/adw-combo-row.h" line="58"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-combo-row.c"
                 line="945">a combo row</doc>
            <type name="ComboRow" c:type="AdwComboRow*"/>
          </instance-parameter>
          <parameter name="factory"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-combo-row.c"
                 line="946">the factory to use</doc>
            <type name="Gtk.ListItemFactory" c:type="GtkListItemFactory*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_header_factory"
              c:identifier="adw_combo_row_set_header_factory"
              glib:set-property="header-factory"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-combo-row.c"
             line="985">Sets the factory to use for creating header widgets for the popup.</doc>
        <source-position filename="src/adw-combo-row.h" line="64"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-combo-row.c"
                 line="987">a combo row</doc>
            <type name="ComboRow" c:type="AdwComboRow*"/>
          </instance-parameter>
          <parameter name="factory"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-combo-row.c"
                 line="988">the factory to use</doc>
            <type name="Gtk.ListItemFactory" c:type="GtkListItemFactory*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_list_factory"
              c:identifier="adw_combo_row_set_list_factory"
              glib:set-property="list-factory">
        <doc xml:space="preserve"
             filename="src/adw-combo-row.c"
             line="1033">Sets the factory for populating list items in the popup.

If this is not set, [property@ComboRow:factory] is used.</doc>
        <source-position filename="src/adw-combo-row.h" line="70"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-combo-row.c"
                 line="1035">a combo row</doc>
            <type name="ComboRow" c:type="AdwComboRow*"/>
          </instance-parameter>
          <parameter name="factory"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-combo-row.c"
                 line="1036">the factory to use</doc>
            <type name="Gtk.ListItemFactory" c:type="GtkListItemFactory*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_model"
              c:identifier="adw_combo_row_set_model"
              glib:set-property="model">
        <doc xml:space="preserve"
             filename="src/adw-combo-row.c"
             line="850">Sets the model that provides the displayed items.</doc>
        <source-position filename="src/adw-combo-row.h" line="43"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-combo-row.c"
                 line="852">a combo row</doc>
            <type name="ComboRow" c:type="AdwComboRow*"/>
          </instance-parameter>
          <parameter name="model"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-combo-row.c"
                 line="853">the model to use</doc>
            <type name="Gio.ListModel" c:type="GListModel*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_search_match_mode"
              c:identifier="adw_combo_row_set_search_match_mode"
              glib:set-property="search-match-mode"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-combo-row.c"
             line="1272">Sets the match mode for the search filter.</doc>
        <source-position filename="src/adw-combo-row.h" line="92"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-combo-row.c"
                 line="1274">a combo row</doc>
            <type name="ComboRow" c:type="AdwComboRow*"/>
          </instance-parameter>
          <parameter name="search_match_mode" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-combo-row.c"
                 line="1275">the new match mode</doc>
            <type name="Gtk.StringFilterMatchMode"
                  c:type="GtkStringFilterMatchMode"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_selected"
              c:identifier="adw_combo_row_set_selected"
              glib:set-property="selected">
        <doc xml:space="preserve"
             filename="src/adw-combo-row.c"
             line="756">Selects the item at the given position.</doc>
        <source-position filename="src/adw-combo-row.h" line="49"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-combo-row.c"
                 line="758">a combo row</doc>
            <type name="ComboRow" c:type="AdwComboRow*"/>
          </instance-parameter>
          <parameter name="position" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-combo-row.c"
                 line="759">the position of the item to select, or
  [const@Gtk.INVALID_LIST_POSITION]</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_use_subtitle"
              c:identifier="adw_combo_row_set_use_subtitle"
              glib:set-property="use-subtitle">
        <doc xml:space="preserve"
             filename="src/adw-combo-row.c"
             line="1148">Sets whether to use the current value as the subtitle.

If you use a custom list item factory, you will need to give the row a
name conversion expression with [property@ComboRow:expression].

If set to `TRUE`, you should not access [property@ActionRow:subtitle].

The subtitle is interpreted as Pango markup if
[property@PreferencesRow:use-markup] is set to `TRUE`.</doc>
        <source-position filename="src/adw-combo-row.h" line="82"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-combo-row.c"
                 line="1150">a combo row</doc>
            <type name="ComboRow" c:type="AdwComboRow*"/>
          </instance-parameter>
          <parameter name="use_subtitle" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-combo-row.c"
                 line="1151">whether to use the current value as the subtitle</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="enable-search"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_enable_search"
                getter="get_enable_search"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-combo-row.c"
             line="682">Whether to show a search entry in the popup.

If set to `TRUE`, a search entry will be shown in the popup that
allows to search for items in the list.

Search requires [property@ComboRow:expression] to be set.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="expression"
                writable="1"
                transfer-ownership="none"
                setter="set_expression"
                getter="get_expression">
        <doc xml:space="preserve"
             filename="src/adw-combo-row.c"
             line="647">An expression used to obtain strings from items.

The expression must have a value type of `G_TYPE_STRING`.

It's used to bind strings to labels produced by the default factory if
[property@ComboRow:factory] is not set, or when
[property@ComboRow:use-subtitle] is set to `TRUE`.</doc>
        <type name="Gtk.Expression"/>
      </property>
      <property name="factory"
                writable="1"
                transfer-ownership="none"
                setter="set_factory"
                getter="get_factory">
        <doc xml:space="preserve"
             filename="src/adw-combo-row.c"
             line="610">Factory for populating list items.

This factory is always used for the item in the row. It is also used for
items in the popup unless [property@ComboRow:list-factory] is set.</doc>
        <type name="Gtk.ListItemFactory"/>
      </property>
      <property name="header-factory"
                version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_header_factory"
                getter="get_header_factory">
        <doc xml:space="preserve"
             filename="src/adw-combo-row.c"
             line="623">The factory for creating header widgets for the popup.</doc>
        <type name="Gtk.ListItemFactory"/>
      </property>
      <property name="list-factory"
                writable="1"
                transfer-ownership="none"
                setter="set_list_factory"
                getter="get_list_factory">
        <doc xml:space="preserve"
             filename="src/adw-combo-row.c"
             line="635">The factory for populating list items in the popup.

If this is not set, [property@ComboRow:factory] is used.</doc>
        <type name="Gtk.ListItemFactory"/>
      </property>
      <property name="model"
                writable="1"
                transfer-ownership="none"
                setter="set_model"
                getter="get_model">
        <doc xml:space="preserve"
             filename="src/adw-combo-row.c"
             line="600">The model that provides the displayed items.</doc>
        <type name="Gio.ListModel"/>
      </property>
      <property name="search-match-mode"
                version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_search_match_mode"
                getter="get_search_match_mode"
                default-value="GTK_STRING_FILTER_MATCH_MODE_PREFIX">
        <doc xml:space="preserve"
             filename="src/adw-combo-row.c"
             line="699">The match mode for the search filter.</doc>
        <type name="Gtk.StringFilterMatchMode"/>
      </property>
      <property name="selected"
                writable="1"
                transfer-ownership="none"
                setter="set_selected"
                getter="get_selected"
                default-value="4294967295">
        <doc xml:space="preserve"
             filename="src/adw-combo-row.c"
             line="577">The position of the selected item.

If no item is selected, the property has the value
[const@Gtk.INVALID_LIST_POSITION]</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="selected-item"
                transfer-ownership="none"
                getter="get_selected_item">
        <doc xml:space="preserve"
             filename="src/adw-combo-row.c"
             line="590">The selected item.</doc>
        <type name="GObject.Object"/>
      </property>
      <property name="use-subtitle"
                writable="1"
                transfer-ownership="none"
                setter="set_use_subtitle"
                getter="get_use_subtitle"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-combo-row.c"
             line="664">Whether to use the current value as the subtitle.

If you use a custom list item factory, you will need to give the row a
name conversion expression with [property@ComboRow:expression].

If set to `TRUE`, you should not access [property@ActionRow:subtitle].

The subtitle is interpreted as Pango markup if
[property@PreferencesRow:use-markup] is set to `TRUE`.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <field name="parent_instance">
        <type name="ActionRow" c:type="AdwActionRow"/>
      </field>
    </class>
    <record name="ComboRowClass"
            c:type="AdwComboRowClass"
            glib:is-gtype-struct-for="ComboRow">
      <source-position filename="src/adw-combo-row.h" line="35"/>
      <field name="parent_class">
        <doc xml:space="preserve"
             filename="src/adw-combo-row.h"
             line="27">The parent class</doc>
        <type name="ActionRowClass" c:type="AdwActionRowClass"/>
      </field>
      <field name="padding" readable="0" private="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <function-macro name="DEPRECATED_IN_1_1_FOR"
                    c:identifier="ADW_DEPRECATED_IN_1_1_FOR"
                    introspectable="0">
      <source-position filename="src/adw-version.h" line="181"/>
      <parameters>
        <parameter name="f">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="DEPRECATED_IN_1_2_FOR"
                    c:identifier="ADW_DEPRECATED_IN_1_2_FOR"
                    introspectable="0">
      <source-position filename="src/adw-version.h" line="199"/>
      <parameters>
        <parameter name="f">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="DEPRECATED_IN_1_3_FOR"
                    c:identifier="ADW_DEPRECATED_IN_1_3_FOR"
                    introspectable="0">
      <source-position filename="src/adw-version.h" line="217"/>
      <parameters>
        <parameter name="f">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="DEPRECATED_IN_1_4_FOR"
                    c:identifier="ADW_DEPRECATED_IN_1_4_FOR"
                    introspectable="0">
      <source-position filename="src/adw-version.h" line="235"/>
      <parameters>
        <parameter name="f">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="DEPRECATED_IN_1_5_FOR"
                    c:identifier="ADW_DEPRECATED_IN_1_5_FOR"
                    introspectable="0">
      <source-position filename="src/adw-version.h" line="253"/>
      <parameters>
        <parameter name="f">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="DEPRECATED_IN_1_6_FOR"
                    c:identifier="ADW_DEPRECATED_IN_1_6_FOR"
                    introspectable="0">
      <source-position filename="src/adw-version.h" line="271"/>
      <parameters>
        <parameter name="f">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="DEPRECATED_IN_1_7_FOR"
                    c:identifier="ADW_DEPRECATED_IN_1_7_FOR"
                    introspectable="0">
      <source-position filename="src/adw-version.h" line="289"/>
      <parameters>
        <parameter name="f">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="DEPRECATED_TYPE_IN_1_1_FOR"
                    c:identifier="ADW_DEPRECATED_TYPE_IN_1_1_FOR"
                    introspectable="0">
      <source-position filename="src/adw-version.h" line="183"/>
      <parameters>
        <parameter name="f">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="DEPRECATED_TYPE_IN_1_2_FOR"
                    c:identifier="ADW_DEPRECATED_TYPE_IN_1_2_FOR"
                    introspectable="0">
      <source-position filename="src/adw-version.h" line="201"/>
      <parameters>
        <parameter name="f">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="DEPRECATED_TYPE_IN_1_3_FOR"
                    c:identifier="ADW_DEPRECATED_TYPE_IN_1_3_FOR"
                    introspectable="0">
      <source-position filename="src/adw-version.h" line="219"/>
      <parameters>
        <parameter name="f">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="DEPRECATED_TYPE_IN_1_4_FOR"
                    c:identifier="ADW_DEPRECATED_TYPE_IN_1_4_FOR"
                    introspectable="0">
      <source-position filename="src/adw-version.h" line="237"/>
      <parameters>
        <parameter name="f">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="DEPRECATED_TYPE_IN_1_5_FOR"
                    c:identifier="ADW_DEPRECATED_TYPE_IN_1_5_FOR"
                    introspectable="0">
      <source-position filename="src/adw-version.h" line="255"/>
      <parameters>
        <parameter name="f">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="DEPRECATED_TYPE_IN_1_6_FOR"
                    c:identifier="ADW_DEPRECATED_TYPE_IN_1_6_FOR"
                    introspectable="0">
      <source-position filename="src/adw-version.h" line="273"/>
      <parameters>
        <parameter name="f">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="DEPRECATED_TYPE_IN_1_7_FOR"
                    c:identifier="ADW_DEPRECATED_TYPE_IN_1_7_FOR"
                    introspectable="0">
      <source-position filename="src/adw-version.h" line="291"/>
      <parameters>
        <parameter name="f">
        </parameter>
      </parameters>
    </function-macro>
    <constant name="DURATION_INFINITE"
              value="4294967295"
              c:type="ADW_DURATION_INFINITE">
      <doc xml:space="preserve"
           filename="src/adw-animation.h"
           line="23">Indicates an [class@Animation] with an infinite duration.

This value is mostly used internally.</doc>
      <source-position filename="src/adw-animation.h" line="31"/>
      <type name="guint" c:type="guint"/>
    </constant>
    <class name="Dialog"
           c:symbol-prefix="dialog"
           c:type="AdwDialog"
           version="1.5"
           parent="Gtk.Widget"
           glib:type-name="AdwDialog"
           glib:get-type="adw_dialog_get_type"
           glib:type-struct="DialogClass">
      <doc xml:space="preserve"
           filename="src/adw-dialog.c"
           line="42">An adaptive dialog container.

&lt;picture&gt;
  &lt;source srcset="dialog-floating-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="dialog-floating.png" alt="dialog-floating"&gt;
&lt;/picture&gt;
&lt;picture&gt;
  &lt;source srcset="dialog-bottom-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="dialog-bottom.png" alt="dialog-bottom"&gt;
&lt;/picture&gt;

`AdwDialog` is similar to a window, but is shown within another window. It
can be used with [class@Window] and [class@ApplicationWindow], use
[method@Dialog.present] to show it.

`AdwDialog` is not resizable. Use the [property@Dialog:content-width] and
[property@Dialog:content-height] properties to set its size, or set
[property@Dialog: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.
[property@Dialog:presentation-mode] can be used to change that.

`AdwDialog` can be closed via [method@Dialog.close].

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

The [property@Dialog:can-close] can be used to prevent closing. In that case,
[signal@Dialog::close-attempt] gets emitted instead.

Use [method@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
[class@BottomSheet] for persistent and more tightly integrated bottom sheets.

## Header Bar Integration

When placed inside an `AdwDialog`, [class@HeaderBar] 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
[property@HeaderBar:show-start-title-buttons] and
[property@HeaderBar:show-end-title-buttons] to `FALSE` to remove it if it's
unwanted.

## Breakpoints

`AdwDialog` can be used with [class@Breakpoint] the same way as
[class@BreakpointBin]. Refer to that widget's documentation for details.

Like `AdwBreakpointBin`, if breakpoints are used, `AdwDialog` doesn't have a
minimum size, and [property@Gtk.Widget:width-request] and
[property@Gtk.Widget:height-request] properties must be set manually.</doc>
      <source-position filename="src/adw-dialog.h" line="44"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <implements name="Gtk.ShortcutManager"/>
      <constructor name="new" c:identifier="adw_dialog_new" version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-dialog.c"
             line="1360">Creates a new `AdwDialog`.</doc>
        <source-position filename="src/adw-dialog.h" line="47"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-dialog.c"
               line="1365">the new created `AdwDialog`</doc>
          <type name="Dialog" c:type="AdwDialog*"/>
        </return-value>
      </constructor>
      <virtual-method name="close_attempt">
        <source-position filename="src/adw-dialog.h" line="39"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="dialog" transfer-ownership="none">
            <type name="Dialog" c:type="AdwDialog*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="closed">
        <source-position filename="src/adw-dialog.h" line="40"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="dialog" transfer-ownership="none">
            <type name="Dialog" c:type="AdwDialog*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="add_breakpoint"
              c:identifier="adw_dialog_add_breakpoint"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-dialog.c"
             line="2007">Adds @breakpoint to @self.</doc>
        <source-position filename="src/adw-dialog.h" line="110"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-dialog.c"
                 line="2009">a dialog</doc>
            <type name="Dialog" c:type="AdwDialog*"/>
          </instance-parameter>
          <parameter name="breakpoint" transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/adw-dialog.c"
                 line="2010">the breakpoint to add</doc>
            <type name="Breakpoint" c:type="AdwBreakpoint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="close" c:identifier="adw_dialog_close" version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-dialog.c"
             line="1919">Attempts to close @self.

If the [property@Dialog:can-close] property is set to `FALSE`, the
[signal@Dialog::close-attempt] signal is emitted.

See also: [method@Dialog.force_close].</doc>
        <source-position filename="src/adw-dialog.h" line="104"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-dialog.c"
               line="1930">whether @self was successfully closed</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-dialog.c"
                 line="1921">a dialog</doc>
            <type name="Dialog" c:type="AdwDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="force_close"
              c:identifier="adw_dialog_force_close"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-dialog.c"
             line="1973">Closes @self.

Unlike [method@Dialog.close], it succeeds even if [property@Dialog:can-close]
is set to `FALSE`.</doc>
        <source-position filename="src/adw-dialog.h" line="107"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-dialog.c"
                 line="1975">a dialog</doc>
            <type name="Dialog" c:type="AdwDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_can_close"
              c:identifier="adw_dialog_get_can_close"
              glib:get-property="can-close"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-dialog.c"
             line="1481">Gets whether @self can be closed.</doc>
        <source-position filename="src/adw-dialog.h" line="62"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-dialog.c"
               line="1487">whether the dialog can be closed</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-dialog.c"
                 line="1483">a dialog</doc>
            <type name="Dialog" c:type="AdwDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_child"
              c:identifier="adw_dialog_get_child"
              glib:get-property="child"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-dialog.c"
             line="1375">Gets the child widget of @self.</doc>
        <source-position filename="src/adw-dialog.h" line="50"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-dialog.c"
               line="1381">the child widget of @self</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-dialog.c"
                 line="1377">a dialog</doc>
            <type name="Dialog" c:type="AdwDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_content_height"
              c:identifier="adw_dialog_get_content_height"
              glib:get-property="content-height"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-dialog.c"
             line="1593">Gets the height of the dialog's contents.</doc>
        <source-position filename="src/adw-dialog.h" line="74"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-dialog.c"
               line="1599">the content height</doc>
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-dialog.c"
                 line="1595">a dialog</doc>
            <type name="Dialog" c:type="AdwDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_content_width"
              c:identifier="adw_dialog_get_content_width"
              glib:get-property="content-width"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-dialog.c"
             line="1543">Gets the width of the dialog's contents.</doc>
        <source-position filename="src/adw-dialog.h" line="68"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-dialog.c"
               line="1549">the content width</doc>
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-dialog.c"
                 line="1545">a dialog</doc>
            <type name="Dialog" c:type="AdwDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_current_breakpoint"
              c:identifier="adw_dialog_get_current_breakpoint"
              glib:get-property="current-breakpoint"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-dialog.c"
             line="2032">Gets the current breakpoint.</doc>
        <source-position filename="src/adw-dialog.h" line="114"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-dialog.c"
               line="2038">the current breakpoint</doc>
          <type name="Breakpoint" c:type="AdwBreakpoint*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-dialog.c"
                 line="2034">a dialog</doc>
            <type name="Dialog" c:type="AdwDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_default_widget"
              c:identifier="adw_dialog_get_default_widget"
              glib:get-property="default-widget"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-dialog.c"
             line="1837">Gets the default widget for @self.</doc>
        <source-position filename="src/adw-dialog.h" line="98"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-dialog.c"
               line="1843">the default widget</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-dialog.c"
                 line="1839">a dialog</doc>
            <type name="Dialog" c:type="AdwDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_focus"
              c:identifier="adw_dialog_get_focus"
              glib:get-property="focus-widget"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-dialog.c"
             line="1765">Gets the focus widget for @self.</doc>
        <source-position filename="src/adw-dialog.h" line="92"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-dialog.c"
               line="1771">the focus widget</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-dialog.c"
                 line="1767">a dialog</doc>
            <type name="Dialog" c:type="AdwDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_follows_content_size"
              c:identifier="adw_dialog_get_follows_content_size"
              glib:get-property="follows-content-size"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-dialog.c"
             line="1643">Gets whether to size content of @self automatically.</doc>
        <source-position filename="src/adw-dialog.h" line="80"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-dialog.c"
               line="1649">whether to size content automatically</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-dialog.c"
                 line="1645">a dialog</doc>
            <type name="Dialog" c:type="AdwDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_presentation_mode"
              c:identifier="adw_dialog_get_presentation_mode"
              glib:get-property="presentation-mode"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-dialog.c"
             line="1702">Gets presentation mode for @self.</doc>
        <source-position filename="src/adw-dialog.h" line="86"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-dialog.c"
               line="1708">the presentation mode</doc>
          <type name="DialogPresentationMode"
                c:type="AdwDialogPresentationMode"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-dialog.c"
                 line="1704">a dialog</doc>
            <type name="Dialog" c:type="AdwDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_title"
              c:identifier="adw_dialog_get_title"
              glib:get-property="title"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-dialog.c"
             line="1430">Gets the title of @self.</doc>
        <source-position filename="src/adw-dialog.h" line="56"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-dialog.c"
               line="1436">the title</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-dialog.c"
                 line="1432">a dialog</doc>
            <type name="Dialog" c:type="AdwDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="present" c:identifier="adw_dialog_present" version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-dialog.c"
             line="2078">Presents @self within @parent's window.

If @self is already shown, raises it to the top instead.

If the window is an [class@Window] or [class@ApplicationWindow], the dialog
will be shown within it. Otherwise, it will be a separate window.</doc>
        <source-position filename="src/adw-dialog.h" line="117"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-dialog.c"
                 line="2080">a dialog</doc>
            <type name="Dialog" c:type="AdwDialog*"/>
          </instance-parameter>
          <parameter name="parent"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-dialog.c"
                 line="2081">a widget within the toplevel</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_can_close"
              c:identifier="adw_dialog_set_can_close"
              glib:set-property="can-close"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-dialog.c"
             line="1503">Sets whether @self can be closed.

If set to `FALSE`, the close button, shortcuts and
[method@Dialog.close] will result in [signal@Dialog::close-attempt] being
emitted instead, and bottom sheet close swipe will be disabled.
[method@Dialog.force_close] still works.</doc>
        <source-position filename="src/adw-dialog.h" line="64"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-dialog.c"
                 line="1505">a dialog</doc>
            <type name="Dialog" c:type="AdwDialog*"/>
          </instance-parameter>
          <parameter name="can_close" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-dialog.c"
                 line="1506">whether to allow closing</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_child"
              c:identifier="adw_dialog_set_child"
              glib:set-property="child"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-dialog.c"
             line="1397">Sets the child widget of @self.</doc>
        <source-position filename="src/adw-dialog.h" line="52"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-dialog.c"
                 line="1399">a dialog</doc>
            <type name="Dialog" c:type="AdwDialog*"/>
          </instance-parameter>
          <parameter name="child"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-dialog.c"
                 line="1400">the child widget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_content_height"
              c:identifier="adw_dialog_set_content_height"
              glib:set-property="content-height"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-dialog.c"
             line="1615">Sets the height of the dialog's contents.

Set it to -1 to reset it to the content's natural height.

See also: [property@Gtk.Window:default-height]</doc>
        <source-position filename="src/adw-dialog.h" line="76"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-dialog.c"
                 line="1617">a dialog</doc>
            <type name="Dialog" c:type="AdwDialog*"/>
          </instance-parameter>
          <parameter name="content_height" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-dialog.c"
                 line="1618">the content height</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_content_width"
              c:identifier="adw_dialog_set_content_width"
              glib:set-property="content-width"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-dialog.c"
             line="1565">Sets the width of the dialog's contents.

Set it to -1 to reset it to the content's natural width.

See also: [property@Gtk.Window:default-width]</doc>
        <source-position filename="src/adw-dialog.h" line="70"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-dialog.c"
                 line="1567">a dialog</doc>
            <type name="Dialog" c:type="AdwDialog*"/>
          </instance-parameter>
          <parameter name="content_width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-dialog.c"
                 line="1568">the content width</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_default_widget"
              c:identifier="adw_dialog_set_default_widget"
              glib:set-property="default-widget"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-dialog.c"
             line="1859">Sets the default widget for @self.

It's activated when the user presses Enter.</doc>
        <source-position filename="src/adw-dialog.h" line="100"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-dialog.c"
                 line="1861">a dialog</doc>
            <type name="Dialog" c:type="AdwDialog*"/>
          </instance-parameter>
          <parameter name="default_widget"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-dialog.c"
                 line="1862">the default widget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_focus"
              c:identifier="adw_dialog_set_focus"
              glib:set-property="focus-widget"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-dialog.c"
             line="1787">Sets the focus widget for @self.

If @focus is not the current focus widget, and is focusable, sets it as the
focus widget for the dialog.

If focus is `NULL`, unsets the focus widget for this dialog. To set the focus
to a particular widget in the dialog, it is usually more convenient to use
[method@Gtk.Widget.grab_focus] instead of this function.</doc>
        <source-position filename="src/adw-dialog.h" line="94"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-dialog.c"
                 line="1789">a dialog</doc>
            <type name="Dialog" c:type="AdwDialog*"/>
          </instance-parameter>
          <parameter name="focus"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-dialog.c"
                 line="1790">the focus widget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_follows_content_size"
              c:identifier="adw_dialog_set_follows_content_size"
              glib:set-property="follows-content-size"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-dialog.c"
             line="1665">Sets whether to size content of @self automatically.

If set to `TRUE`, always use the content's natural size instead of
[property@Dialog:content-width] and [property@Dialog:content-height]. If
the content resizes, the dialog will immediately resize as well.

See also: [property@Gtk.Window:resizable]</doc>
        <source-position filename="src/adw-dialog.h" line="82"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-dialog.c"
                 line="1667">a dialog</doc>
            <type name="Dialog" c:type="AdwDialog*"/>
          </instance-parameter>
          <parameter name="follows_content_size" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-dialog.c"
                 line="1668">whether to size content automatically</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_presentation_mode"
              c:identifier="adw_dialog_set_presentation_mode"
              glib:set-property="presentation-mode"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-dialog.c"
             line="1724">Sets presentation mode for @self.

When set to `ADW_DIALOG_AUTO`, the dialog appears as a bottom sheet when the
following condition is met: `max-width: 450px or max-height: 360px`, and as a
floating window otherwise.

Set it to `ADW_DIALOG_FLOATING` or `ADW_DIALOG_BOTTOM_SHEET` to always
present it a floating window or a bottom sheet respectively, regardless of
available size.

Presentation mode does nothing for dialogs presented as a window.</doc>
        <source-position filename="src/adw-dialog.h" line="88"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-dialog.c"
                 line="1726">a dialog</doc>
            <type name="Dialog" c:type="AdwDialog*"/>
          </instance-parameter>
          <parameter name="presentation_mode" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-dialog.c"
                 line="1727">the new presentation mode</doc>
            <type name="DialogPresentationMode"
                  c:type="AdwDialogPresentationMode"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_title"
              c:identifier="adw_dialog_set_title"
              glib:set-property="title"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-dialog.c"
             line="1452">Sets the title of @self.</doc>
        <source-position filename="src/adw-dialog.h" line="58"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-dialog.c"
                 line="1454">a dialog</doc>
            <type name="Dialog" c:type="AdwDialog*"/>
          </instance-parameter>
          <parameter name="title" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-dialog.c"
                 line="1455">the new title</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <property name="can-close"
                version="1.5"
                writable="1"
                transfer-ownership="none"
                setter="set_can_close"
                getter="get_can_close"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-dialog.c"
             line="1090">Whether the dialog can be closed.

If set to `FALSE`, the close button, shortcuts and
[method@Dialog.close] will result in [signal@Dialog::close-attempt] being
emitted instead, and bottom sheet close swipe will be disabled.
[method@Dialog.force_close] still works.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="child"
                version="1.5"
                writable="1"
                transfer-ownership="none"
                setter="set_child"
                getter="get_child">
        <doc xml:space="preserve"
             filename="src/adw-dialog.c"
             line="1066">The child widget of the `AdwDialog`.</doc>
        <type name="Gtk.Widget"/>
      </property>
      <property name="content-height"
                version="1.5"
                writable="1"
                transfer-ownership="none"
                setter="set_content_height"
                getter="get_content_height"
                default-value="-1">
        <doc xml:space="preserve"
             filename="src/adw-dialog.c"
             line="1123">The height of the dialog's contents.

Set it to -1 to reset it to the content's natural height.

See also: [property@Gtk.Window:default-height]</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="content-width"
                version="1.5"
                writable="1"
                transfer-ownership="none"
                setter="set_content_width"
                getter="get_content_width"
                default-value="-1">
        <doc xml:space="preserve"
             filename="src/adw-dialog.c"
             line="1107">The width of the dialog's contents.

Set it to -1 to reset it to the content's natural width.

See also: [property@Gtk.Window:default-width]</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="current-breakpoint"
                version="1.5"
                transfer-ownership="none"
                getter="get_current_breakpoint">
        <doc xml:space="preserve"
             filename="src/adw-dialog.c"
             line="1206">The current breakpoint.</doc>
        <type name="Breakpoint"/>
      </property>
      <property name="default-widget"
                version="1.5"
                writable="1"
                transfer-ownership="none"
                setter="set_default_widget"
                getter="get_default_widget">
        <doc xml:space="preserve"
             filename="src/adw-dialog.c"
             line="1192">The default widget.

It's activated when the user presses Enter.</doc>
        <type name="Gtk.Widget"/>
      </property>
      <property name="focus-widget"
                version="1.5"
                writable="1"
                transfer-ownership="none"
                setter="set_focus"
                getter="get_focus">
        <doc xml:space="preserve"
             filename="src/adw-dialog.c"
             line="1180">The focus widget.</doc>
        <type name="Gtk.Widget"/>
      </property>
      <property name="follows-content-size"
                version="1.5"
                writable="1"
                transfer-ownership="none"
                setter="set_follows_content_size"
                getter="get_follows_content_size"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-dialog.c"
             line="1139">Whether to size content automatically.

If set to `TRUE`, always use the content's natural size instead of
[property@Dialog:content-width] and [property@Dialog:content-height]. If
the content resizes, the dialog will immediately resize as well.

See also: [property@Gtk.Window:resizable]</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="presentation-mode"
                version="1.5"
                writable="1"
                transfer-ownership="none"
                setter="set_presentation_mode"
                getter="get_presentation_mode"
                default-value="ADW_DIALOG_AUTO">
        <doc xml:space="preserve"
             filename="src/adw-dialog.c"
             line="1157">The dialog's presentation mode.

When set to `ADW_DIALOG_AUTO`, the dialog appears as a bottom sheet when
the following condition is met: `max-width: 450px or max-height: 360px`,
and as a floating window otherwise.

Set it to `ADW_DIALOG_FLOATING` or `ADW_DIALOG_BOTTOM_SHEET` to always
present it a floating window or a bottom sheet respectively, regardless of
available size.

Presentation mode does nothing for dialogs presented as a window.</doc>
        <type name="DialogPresentationMode"/>
      </property>
      <property name="title"
                version="1.5"
                writable="1"
                transfer-ownership="none"
                setter="set_title"
                getter="get_title">
        <doc xml:space="preserve"
             filename="src/adw-dialog.c"
             line="1078">The title of the dialog.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent_instance">
        <type name="Gtk.Widget" c:type="GtkWidget"/>
      </field>
      <glib:signal name="close-attempt" when="last" version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-dialog.c"
             line="1220">Emitted when the close button or shortcut is used, or
[method@Dialog.close] is called while [property@Dialog:can-close] is set to
`FALSE`.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="closed" when="last" version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-dialog.c"
             line="1243">Emitted when the dialog is successfully closed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="DialogClass"
            c:type="AdwDialogClass"
            glib:is-gtype-struct-for="Dialog">
      <source-position filename="src/adw-dialog.h" line="44"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
      <field name="close_attempt">
        <callback name="close_attempt">
          <source-position filename="src/adw-dialog.h" line="39"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="dialog" transfer-ownership="none">
              <type name="Dialog" c:type="AdwDialog*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="closed">
        <callback name="closed">
          <source-position filename="src/adw-dialog.h" line="40"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="dialog" transfer-ownership="none">
              <type name="Dialog" c:type="AdwDialog*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="padding" readable="0" private="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <enumeration name="DialogPresentationMode"
                 version="1.5"
                 glib:type-name="AdwDialogPresentationMode"
                 glib:get-type="adw_dialog_presentation_mode_get_type"
                 c:type="AdwDialogPresentationMode">
      <doc xml:space="preserve"
           filename="src/adw-dialog.c"
           line="26">Describes the available presentation modes for [class@Dialog].

New values may be added to this enumeration over time.

See [property@Dialog:presentation-mode].</doc>
      <member name="auto"
              value="0"
              c:identifier="ADW_DIALOG_AUTO"
              glib:nick="auto"
              glib:name="ADW_DIALOG_AUTO">
        <doc xml:space="preserve"
             filename="src/adw-dialog.c"
             line="28">Switch between `ADW_DIALOG_FLOATING` and
  `ADW_DIALOG_BOTTOM_SHEET` depending on available size.</doc>
      </member>
      <member name="floating"
              value="1"
              c:identifier="ADW_DIALOG_FLOATING"
              glib:nick="floating"
              glib:name="ADW_DIALOG_FLOATING">
        <doc xml:space="preserve"
             filename="src/adw-dialog.c"
             line="30">Present dialog as a centered floating window.</doc>
      </member>
      <member name="bottom_sheet"
              value="2"
              c:identifier="ADW_DIALOG_BOTTOM_SHEET"
              glib:nick="bottom-sheet"
              glib:name="ADW_DIALOG_BOTTOM_SHEET">
        <doc xml:space="preserve"
             filename="src/adw-dialog.c"
             line="31">Present dialog as a bottom sheet.</doc>
      </member>
    </enumeration>
    <function-macro name="ENCODE_VERSION"
                    c:identifier="ADW_ENCODE_VERSION"
                    introspectable="0">
      <source-position filename="src/adw-version.h" line="53"/>
      <parameters>
        <parameter name="major">
        </parameter>
        <parameter name="minor">
        </parameter>
        <parameter name="micro">
        </parameter>
      </parameters>
    </function-macro>
    <enumeration name="Easing"
                 glib:type-name="AdwEasing"
                 glib:get-type="adw_easing_get_type"
                 c:type="AdwEasing">
      <doc xml:space="preserve"
           filename="src/adw-easing.c"
           line="22">Describes the available easing functions for use with
[class@TimedAnimation].

New values may be added to this enumeration over time.</doc>
      <member name="linear"
              value="0"
              c:identifier="ADW_LINEAR"
              glib:nick="linear"
              glib:name="ADW_LINEAR">
        <doc xml:space="preserve"
             filename="src/adw-easing.c"
             line="24">Linear tweening.</doc>
      </member>
      <member name="ease_in_quad"
              value="1"
              c:identifier="ADW_EASE_IN_QUAD"
              glib:nick="ease-in-quad"
              glib:name="ADW_EASE_IN_QUAD">
        <doc xml:space="preserve"
             filename="src/adw-easing.c"
             line="25">Quadratic tweening.</doc>
      </member>
      <member name="ease_out_quad"
              value="2"
              c:identifier="ADW_EASE_OUT_QUAD"
              glib:nick="ease-out-quad"
              glib:name="ADW_EASE_OUT_QUAD">
        <doc xml:space="preserve"
             filename="src/adw-easing.c"
             line="26">Quadratic tweening, inverse of `ADW_EASE_IN_QUAD`.</doc>
      </member>
      <member name="ease_in_out_quad"
              value="3"
              c:identifier="ADW_EASE_IN_OUT_QUAD"
              glib:nick="ease-in-out-quad"
              glib:name="ADW_EASE_IN_OUT_QUAD">
        <doc xml:space="preserve"
             filename="src/adw-easing.c"
             line="27">Quadratic tweening, combining `ADW_EASE_IN_QUAD` and
  `ADW_EASE_OUT_QUAD`.</doc>
      </member>
      <member name="ease_in_cubic"
              value="4"
              c:identifier="ADW_EASE_IN_CUBIC"
              glib:nick="ease-in-cubic"
              glib:name="ADW_EASE_IN_CUBIC">
        <doc xml:space="preserve"
             filename="src/adw-easing.c"
             line="29">Cubic tweening.</doc>
      </member>
      <member name="ease_out_cubic"
              value="5"
              c:identifier="ADW_EASE_OUT_CUBIC"
              glib:nick="ease-out-cubic"
              glib:name="ADW_EASE_OUT_CUBIC">
        <doc xml:space="preserve"
             filename="src/adw-easing.c"
             line="30">Cubic tweening, inverse of `ADW_EASE_IN_CUBIC`.</doc>
      </member>
      <member name="ease_in_out_cubic"
              value="6"
              c:identifier="ADW_EASE_IN_OUT_CUBIC"
              glib:nick="ease-in-out-cubic"
              glib:name="ADW_EASE_IN_OUT_CUBIC">
        <doc xml:space="preserve"
             filename="src/adw-easing.c"
             line="31">Cubic tweening, combining `ADW_EASE_IN_CUBIC` and
  `ADW_EASE_OUT_CUBIC`.</doc>
      </member>
      <member name="ease_in_quart"
              value="7"
              c:identifier="ADW_EASE_IN_QUART"
              glib:nick="ease-in-quart"
              glib:name="ADW_EASE_IN_QUART">
        <doc xml:space="preserve"
             filename="src/adw-easing.c"
             line="33">Quartic tweening.</doc>
      </member>
      <member name="ease_out_quart"
              value="8"
              c:identifier="ADW_EASE_OUT_QUART"
              glib:nick="ease-out-quart"
              glib:name="ADW_EASE_OUT_QUART">
        <doc xml:space="preserve"
             filename="src/adw-easing.c"
             line="34">Quartic tweening, inverse of `ADW_EASE_IN_QUART`.</doc>
      </member>
      <member name="ease_in_out_quart"
              value="9"
              c:identifier="ADW_EASE_IN_OUT_QUART"
              glib:nick="ease-in-out-quart"
              glib:name="ADW_EASE_IN_OUT_QUART">
        <doc xml:space="preserve"
             filename="src/adw-easing.c"
             line="35">Quartic tweening, combining `ADW_EASE_IN_QUART` and
  `ADW_EASE_OUT_QUART`.</doc>
      </member>
      <member name="ease_in_quint"
              value="10"
              c:identifier="ADW_EASE_IN_QUINT"
              glib:nick="ease-in-quint"
              glib:name="ADW_EASE_IN_QUINT">
        <doc xml:space="preserve"
             filename="src/adw-easing.c"
             line="37">Quintic tweening.</doc>
      </member>
      <member name="ease_out_quint"
              value="11"
              c:identifier="ADW_EASE_OUT_QUINT"
              glib:nick="ease-out-quint"
              glib:name="ADW_EASE_OUT_QUINT">
        <doc xml:space="preserve"
             filename="src/adw-easing.c"
             line="38">Quintic tweening, inverse of `ADW_EASE_IN_QUINT`.</doc>
      </member>
      <member name="ease_in_out_quint"
              value="12"
              c:identifier="ADW_EASE_IN_OUT_QUINT"
              glib:nick="ease-in-out-quint"
              glib:name="ADW_EASE_IN_OUT_QUINT">
        <doc xml:space="preserve"
             filename="src/adw-easing.c"
             line="39">Quintic tweening, combining `ADW_EASE_IN_QUINT` and
  `ADW_EASE_OUT_QUINT`.</doc>
      </member>
      <member name="ease_in_sine"
              value="13"
              c:identifier="ADW_EASE_IN_SINE"
              glib:nick="ease-in-sine"
              glib:name="ADW_EASE_IN_SINE">
        <doc xml:space="preserve"
             filename="src/adw-easing.c"
             line="41">Sine wave tweening.</doc>
      </member>
      <member name="ease_out_sine"
              value="14"
              c:identifier="ADW_EASE_OUT_SINE"
              glib:nick="ease-out-sine"
              glib:name="ADW_EASE_OUT_SINE">
        <doc xml:space="preserve"
             filename="src/adw-easing.c"
             line="42">Sine wave tweening, inverse of `ADW_EASE_IN_SINE`.</doc>
      </member>
      <member name="ease_in_out_sine"
              value="15"
              c:identifier="ADW_EASE_IN_OUT_SINE"
              glib:nick="ease-in-out-sine"
              glib:name="ADW_EASE_IN_OUT_SINE">
        <doc xml:space="preserve"
             filename="src/adw-easing.c"
             line="43">Sine wave tweening, combining `ADW_EASE_IN_SINE` and
  `ADW_EASE_OUT_SINE`.</doc>
      </member>
      <member name="ease_in_expo"
              value="16"
              c:identifier="ADW_EASE_IN_EXPO"
              glib:nick="ease-in-expo"
              glib:name="ADW_EASE_IN_EXPO">
        <doc xml:space="preserve"
             filename="src/adw-easing.c"
             line="45">Exponential tweening.</doc>
      </member>
      <member name="ease_out_expo"
              value="17"
              c:identifier="ADW_EASE_OUT_EXPO"
              glib:nick="ease-out-expo"
              glib:name="ADW_EASE_OUT_EXPO">
        <doc xml:space="preserve"
             filename="src/adw-easing.c"
             line="46">Exponential tweening, inverse of `ADW_EASE_IN_EXPO`.</doc>
      </member>
      <member name="ease_in_out_expo"
              value="18"
              c:identifier="ADW_EASE_IN_OUT_EXPO"
              glib:nick="ease-in-out-expo"
              glib:name="ADW_EASE_IN_OUT_EXPO">
        <doc xml:space="preserve"
             filename="src/adw-easing.c"
             line="47">Exponential tweening, combining `ADW_EASE_IN_EXPO` and
  `ADW_EASE_OUT_EXPO`.</doc>
      </member>
      <member name="ease_in_circ"
              value="19"
              c:identifier="ADW_EASE_IN_CIRC"
              glib:nick="ease-in-circ"
              glib:name="ADW_EASE_IN_CIRC">
        <doc xml:space="preserve"
             filename="src/adw-easing.c"
             line="49">Circular tweening.</doc>
      </member>
      <member name="ease_out_circ"
              value="20"
              c:identifier="ADW_EASE_OUT_CIRC"
              glib:nick="ease-out-circ"
              glib:name="ADW_EASE_OUT_CIRC">
        <doc xml:space="preserve"
             filename="src/adw-easing.c"
             line="50">Circular tweening, inverse of `ADW_EASE_IN_CIRC`.</doc>
      </member>
      <member name="ease_in_out_circ"
              value="21"
              c:identifier="ADW_EASE_IN_OUT_CIRC"
              glib:nick="ease-in-out-circ"
              glib:name="ADW_EASE_IN_OUT_CIRC">
        <doc xml:space="preserve"
             filename="src/adw-easing.c"
             line="51">Circular tweening, combining `ADW_EASE_IN_CIRC` and
  `ADW_EASE_OUT_CIRC`.</doc>
      </member>
      <member name="ease_in_elastic"
              value="22"
              c:identifier="ADW_EASE_IN_ELASTIC"
              glib:nick="ease-in-elastic"
              glib:name="ADW_EASE_IN_ELASTIC">
        <doc xml:space="preserve"
             filename="src/adw-easing.c"
             line="53">Elastic tweening, with offshoot on start.</doc>
      </member>
      <member name="ease_out_elastic"
              value="23"
              c:identifier="ADW_EASE_OUT_ELASTIC"
              glib:nick="ease-out-elastic"
              glib:name="ADW_EASE_OUT_ELASTIC">
        <doc xml:space="preserve"
             filename="src/adw-easing.c"
             line="54">Elastic tweening, with offshoot on end, inverse of
  `ADW_EASE_IN_ELASTIC`.</doc>
      </member>
      <member name="ease_in_out_elastic"
              value="24"
              c:identifier="ADW_EASE_IN_OUT_ELASTIC"
              glib:nick="ease-in-out-elastic"
              glib:name="ADW_EASE_IN_OUT_ELASTIC">
        <doc xml:space="preserve"
             filename="src/adw-easing.c"
             line="56">Elastic tweening, with offshoot on both ends,
  combining `ADW_EASE_IN_ELASTIC` and `ADW_EASE_OUT_ELASTIC`.</doc>
      </member>
      <member name="ease_in_back"
              value="25"
              c:identifier="ADW_EASE_IN_BACK"
              glib:nick="ease-in-back"
              glib:name="ADW_EASE_IN_BACK">
        <doc xml:space="preserve"
             filename="src/adw-easing.c"
             line="58">Overshooting cubic tweening, with backtracking on start.</doc>
      </member>
      <member name="ease_out_back"
              value="26"
              c:identifier="ADW_EASE_OUT_BACK"
              glib:nick="ease-out-back"
              glib:name="ADW_EASE_OUT_BACK">
        <doc xml:space="preserve"
             filename="src/adw-easing.c"
             line="59">Overshooting cubic tweening, with backtracking on end,
  inverse of `ADW_EASE_IN_BACK`.</doc>
      </member>
      <member name="ease_in_out_back"
              value="27"
              c:identifier="ADW_EASE_IN_OUT_BACK"
              glib:nick="ease-in-out-back"
              glib:name="ADW_EASE_IN_OUT_BACK">
        <doc xml:space="preserve"
             filename="src/adw-easing.c"
             line="61">Overshooting cubic tweening, with backtracking on both
  ends, combining `ADW_EASE_IN_BACK` and `ADW_EASE_OUT_BACK`.</doc>
      </member>
      <member name="ease_in_bounce"
              value="28"
              c:identifier="ADW_EASE_IN_BOUNCE"
              glib:nick="ease-in-bounce"
              glib:name="ADW_EASE_IN_BOUNCE">
        <doc xml:space="preserve"
             filename="src/adw-easing.c"
             line="63">Exponentially decaying parabolic (bounce) tweening,
  on start.</doc>
      </member>
      <member name="ease_out_bounce"
              value="29"
              c:identifier="ADW_EASE_OUT_BOUNCE"
              glib:nick="ease-out-bounce"
              glib:name="ADW_EASE_OUT_BOUNCE">
        <doc xml:space="preserve"
             filename="src/adw-easing.c"
             line="65">Exponentially decaying parabolic (bounce) tweening,
  with bounce on end, inverse of `ADW_EASE_IN_BOUNCE`.</doc>
      </member>
      <member name="ease_in_out_bounce"
              value="30"
              c:identifier="ADW_EASE_IN_OUT_BOUNCE"
              glib:nick="ease-in-out-bounce"
              glib:name="ADW_EASE_IN_OUT_BOUNCE">
        <doc xml:space="preserve"
             filename="src/adw-easing.c"
             line="67">Exponentially decaying parabolic (bounce) tweening,
  with bounce on both ends, combining `ADW_EASE_IN_BOUNCE` and
  `ADW_EASE_OUT_BOUNCE`.</doc>
      </member>
      <member name="ease"
              value="31"
              c:identifier="ADW_EASE"
              version="1.7"
              glib:nick="ease"
              glib:name="ADW_EASE">
        <doc xml:space="preserve"
             filename="src/adw-easing.c"
             line="77">Cubic bezier tweening, with control points in (0.25, 0.1) and (0.25, 1.0).

Increases in velocity towards the middle of the animation, slowing back down
at the end.</doc>
      </member>
      <member name="ease_in"
              value="32"
              c:identifier="ADW_EASE_IN"
              version="1.7"
              glib:nick="ease-in"
              glib:name="ADW_EASE_IN">
        <doc xml:space="preserve"
             filename="src/adw-easing.c"
             line="88">Cubic bezier tweening, with control points in (0.42, 0.0) and (1.0, 1.0).

Starts off slowly, with the speed of the animation increasing until complete.</doc>
      </member>
      <member name="ease_out"
              value="33"
              c:identifier="ADW_EASE_OUT"
              version="1.7"
              glib:nick="ease-out"
              glib:name="ADW_EASE_OUT">
        <doc xml:space="preserve"
             filename="src/adw-easing.c"
             line="98">Cubic bezier tweening, with control points in (0.0, 0.0) and (0.58, 1.0).

Starts quickly, slowing down the animation until complete.</doc>
      </member>
      <member name="ease_in_out"
              value="34"
              c:identifier="ADW_EASE_IN_OUT"
              version="1.7"
              glib:nick="ease-in-out"
              glib:name="ADW_EASE_IN_OUT">
        <doc xml:space="preserve"
             filename="src/adw-easing.c"
             line="108">Cubic bezier tweening, with control points in (0.42, 0.0) and (0.58, 1.0).

Starts off slowly, speeds up in the middle, and then slows down again.</doc>
      </member>
      <function name="ease" c:identifier="adw_easing_ease">
        <doc xml:space="preserve"
             filename="src/adw-easing.c"
             line="533">Computes easing with @easing for @value.

@value should generally be in the [0, 1] range.</doc>
        <source-position filename="src/adw-easing.h" line="61"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-easing.c"
               line="542">the easing for @value</doc>
          <type name="gdouble" c:type="double"/>
        </return-value>
        <parameters>
          <parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-easing.c"
                 line="535">an easing value</doc>
            <type name="Easing" c:type="AdwEasing"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-easing.c"
                 line="536">a value to ease</doc>
            <type name="gdouble" c:type="double"/>
          </parameter>
        </parameters>
      </function>
    </enumeration>
    <class name="EntryRow"
           c:symbol-prefix="entry_row"
           c:type="AdwEntryRow"
           version="1.2"
           parent="PreferencesRow"
           glib:type-name="AdwEntryRow"
           glib:get-type="adw_entry_row_get_type"
           glib:type-struct="EntryRowClass">
      <doc xml:space="preserve"
           filename="src/adw-entry-row.c"
           line="21">A [class@Gtk.ListBoxRow] with an embedded text entry.

&lt;picture&gt;
  &lt;source srcset="entry-row-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="entry-row.png" alt="entry-row"&gt;
&lt;/picture&gt;

`AdwEntryRow` has a title that doubles as placeholder text. It shows an icon
indicating that it's editable and can receive additional widgets before or
after the editable part.

If [property@EntryRow:show-apply-button] is set to `TRUE`, `AdwEntryRow` can
show an apply button when editing its contents. This can be useful if
changing its contents can result in an expensive operation, such as network
activity.

`AdwEntryRow` provides only minimal API and should be used with the
[iface@Gtk.Editable] API.

See also [class@PasswordEntryRow].

## AdwEntryRow as GtkBuildable

The `AdwEntryRow` implementation of the [iface@Gtk.Buildable] interface
supports adding a child at its end by specifying “suffix” or omitting the
“type” attribute of a &lt;child&gt; element.

It also supports adding a child as a prefix widget by specifying “prefix” as
the “type” attribute of a &lt;child&gt; element.

## CSS nodes

`AdwEntryRow` has a single CSS node with name `row` and the `.entry` style
class.</doc>
      <source-position filename="src/adw-entry-row.h" line="32"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Actionable"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <implements name="Gtk.Editable"/>
      <constructor name="new" c:identifier="adw_entry_row_new" version="1.2">
        <doc xml:space="preserve"
             filename="src/adw-entry-row.c"
             line="810">Creates a new `AdwEntryRow`.</doc>
        <source-position filename="src/adw-entry-row.h" line="35"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-entry-row.c"
               line="815">the newly created `AdwEntryRow`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="add_prefix"
              c:identifier="adw_entry_row_add_prefix"
              version="1.2">
        <doc xml:space="preserve"
             filename="src/adw-entry-row.c"
             line="825">Adds a prefix widget to @self.</doc>
        <source-position filename="src/adw-entry-row.h" line="38"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-entry-row.c"
                 line="827">an entry row</doc>
            <type name="EntryRow" c:type="AdwEntryRow*"/>
          </instance-parameter>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-entry-row.c"
                 line="828">a widget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_suffix"
              c:identifier="adw_entry_row_add_suffix"
              version="1.2">
        <doc xml:space="preserve"
             filename="src/adw-entry-row.c"
             line="850">Adds a suffix widget to @self.</doc>
        <source-position filename="src/adw-entry-row.h" line="41"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-entry-row.c"
                 line="852">an entry row</doc>
            <type name="EntryRow" c:type="AdwEntryRow*"/>
          </instance-parameter>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-entry-row.c"
                 line="853">a widget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_activates_default"
              c:identifier="adw_entry_row_get_activates_default"
              glib:get-property="activates-default"
              version="1.2">
        <doc xml:space="preserve"
             filename="src/adw-entry-row.c"
             line="1180">Gets whether activating the embedded entry can activate the default widget.</doc>
        <source-position filename="src/adw-entry-row.h" line="78"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-entry-row.c"
               line="1186">whether to activate the default widget</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-entry-row.c"
                 line="1182">an entry row</doc>
            <type name="EntryRow" c:type="AdwEntryRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_attributes"
              c:identifier="adw_entry_row_get_attributes"
              glib:get-property="attributes"
              version="1.2">
        <doc xml:space="preserve"
             filename="src/adw-entry-row.c"
             line="1075">Gets Pango attributes applied to the text of the embedded entry.</doc>
        <source-position filename="src/adw-entry-row.h" line="72"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-entry-row.c"
               line="1081">the list of attributes</doc>
          <type name="Pango.AttrList" c:type="PangoAttrList*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-entry-row.c"
                 line="1077">an entry row</doc>
            <type name="EntryRow" c:type="AdwEntryRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_enable_emoji_completion"
              c:identifier="adw_entry_row_get_enable_emoji_completion"
              glib:get-property="enable-emoji-completion"
              version="1.2">
        <doc xml:space="preserve"
             filename="src/adw-entry-row.c"
             line="1127">Gets whether to suggest emoji replacements on @self.</doc>
        <source-position filename="src/adw-entry-row.h" line="66"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-entry-row.c"
               line="1133">whether or not emoji completion is enabled</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-entry-row.c"
                 line="1129">an entry row</doc>
            <type name="EntryRow" c:type="AdwEntryRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_input_hints"
              c:identifier="adw_entry_row_get_input_hints"
              glib:get-property="input-hints"
              version="1.2">
        <doc xml:space="preserve"
             filename="src/adw-entry-row.c"
             line="971">Gets the additional input hints of @self.</doc>
        <source-position filename="src/adw-entry-row.h" line="54"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-entry-row.c"
               line="977">The input hints</doc>
          <type name="Gtk.InputHints" c:type="GtkInputHints"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-entry-row.c"
                 line="973">an entry row</doc>
            <type name="EntryRow" c:type="AdwEntryRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_input_purpose"
              c:identifier="adw_entry_row_get_input_purpose"
              glib:get-property="input-purpose"
              version="1.2">
        <doc xml:space="preserve"
             filename="src/adw-entry-row.c"
             line="1024">Gets the input purpose of @self.</doc>
        <source-position filename="src/adw-entry-row.h" line="60"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-entry-row.c"
               line="1030">the input purpose</doc>
          <type name="Gtk.InputPurpose" c:type="GtkInputPurpose"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-entry-row.c"
                 line="1026">an entry row</doc>
            <type name="EntryRow" c:type="AdwEntryRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_max_length"
              c:identifier="adw_entry_row_get_max_length"
              glib:get-property="max-length"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-entry-row.c"
             line="1319">Retrieves the maximum length of the entry.</doc>
        <source-position filename="src/adw-entry-row.h" line="88"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-entry-row.c"
               line="1325">The maximum length of the entry.</doc>
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-entry-row.c"
                 line="1321">an entry row</doc>
            <type name="EntryRow" c:type="AdwEntryRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_show_apply_button"
              c:identifier="adw_entry_row_get_show_apply_button"
              glib:get-property="show-apply-button"
              version="1.2">
        <doc xml:space="preserve"
             filename="src/adw-entry-row.c"
             line="907">Gets whether @self can show the apply button.</doc>
        <source-position filename="src/adw-entry-row.h" line="48"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-entry-row.c"
               line="913">whether to show the apply button</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-entry-row.c"
                 line="909">an entry row</doc>
            <type name="EntryRow" c:type="AdwEntryRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_text_length"
              c:identifier="adw_entry_row_get_text_length"
              glib:get-property="text-length"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-entry-row.c"
             line="1272">Retrieves the current length of the text in @self.</doc>
        <source-position filename="src/adw-entry-row.h" line="84"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-entry-row.c"
               line="1278">The current number of characters in @self, or 0 if there are none.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-entry-row.c"
                 line="1274">an entry row</doc>
            <type name="EntryRow" c:type="AdwEntryRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="grab_focus_without_selecting"
              c:identifier="adw_entry_row_grab_focus_without_selecting"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-entry-row.c"
             line="1341">Causes @self to have keyboard focus without selecting the text.

See [method@Gtk.Text.grab_focus_without_selecting] for more information.</doc>
        <source-position filename="src/adw-entry-row.h" line="95"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-entry-row.c"
               line="1349">whether the focus is now inside @self</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-entry-row.c"
                 line="1343">an entry row</doc>
            <type name="EntryRow" c:type="AdwEntryRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove" c:identifier="adw_entry_row_remove" version="1.2">
        <doc xml:space="preserve"
             filename="src/adw-entry-row.c"
             line="875">Removes a child from @self.</doc>
        <source-position filename="src/adw-entry-row.h" line="44"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-entry-row.c"
                 line="877">an entry row</doc>
            <type name="EntryRow" c:type="AdwEntryRow*"/>
          </instance-parameter>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-entry-row.c"
                 line="878">the child to be removed</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_activates_default"
              c:identifier="adw_entry_row_set_activates_default"
              glib:set-property="activates-default"
              version="1.2">
        <doc xml:space="preserve"
             filename="src/adw-entry-row.c"
             line="1202">Sets whether activating the embedded entry can activate the default widget.</doc>
        <source-position filename="src/adw-entry-row.h" line="80"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-entry-row.c"
                 line="1204">an entry row</doc>
            <type name="EntryRow" c:type="AdwEntryRow*"/>
          </instance-parameter>
          <parameter name="activates" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-entry-row.c"
                 line="1205">whether to activate the default widget</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_attributes"
              c:identifier="adw_entry_row_set_attributes"
              glib:set-property="attributes"
              version="1.2">
        <doc xml:space="preserve"
             filename="src/adw-entry-row.c"
             line="1097">Sets Pango attributes to apply to the text of the embedded entry.

The [struct@Pango.Attribute]'s `start_index` and `end_index` must refer to
the [class@Gtk.EntryBuffer] text, i.e. without the preedit string.</doc>
        <source-position filename="src/adw-entry-row.h" line="74"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-entry-row.c"
                 line="1099">an entry row</doc>
            <type name="EntryRow" c:type="AdwEntryRow*"/>
          </instance-parameter>
          <parameter name="attributes"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-entry-row.c"
                 line="1100">a list of attributes</doc>
            <type name="Pango.AttrList" c:type="PangoAttrList*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_enable_emoji_completion"
              c:identifier="adw_entry_row_set_enable_emoji_completion"
              glib:set-property="enable-emoji-completion"
              version="1.2">
        <doc xml:space="preserve"
             filename="src/adw-entry-row.c"
             line="1149">Sets whether to suggest emoji replacements on @self.

Emoji replacement is done with :-delimited names, like `:heart:`.</doc>
        <source-position filename="src/adw-entry-row.h" line="68"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-entry-row.c"
                 line="1151">an entry row</doc>
            <type name="EntryRow" c:type="AdwEntryRow*"/>
          </instance-parameter>
          <parameter name="enable_emoji_completion" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-entry-row.c"
                 line="1152">Whether emoji completion should be enabled or not</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_input_hints"
              c:identifier="adw_entry_row_set_input_hints"
              glib:set-property="input-hints"
              version="1.2">
        <doc xml:space="preserve"
             filename="src/adw-entry-row.c"
             line="993">Set additional input hints for @self.

Input hints allow input methods to fine-tune their behavior.

See also: [property@AdwEntryRow:input-purpose]</doc>
        <source-position filename="src/adw-entry-row.h" line="56"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-entry-row.c"
                 line="995">an entry row</doc>
            <type name="EntryRow" c:type="AdwEntryRow*"/>
          </instance-parameter>
          <parameter name="hints" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-entry-row.c"
                 line="996">the hints</doc>
            <type name="Gtk.InputHints" c:type="GtkInputHints"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_input_purpose"
              c:identifier="adw_entry_row_set_input_purpose"
              glib:set-property="input-purpose"
              version="1.2">
        <doc xml:space="preserve"
             filename="src/adw-entry-row.c"
             line="1046">Sets the input purpose of @self.

The input purpose can be used by input methods to adjust their behavior.</doc>
        <source-position filename="src/adw-entry-row.h" line="62"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-entry-row.c"
                 line="1048">an entry row</doc>
            <type name="EntryRow" c:type="AdwEntryRow*"/>
          </instance-parameter>
          <parameter name="purpose" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-entry-row.c"
                 line="1049">the purpose</doc>
            <type name="Gtk.InputPurpose" c:type="GtkInputPurpose"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_max_length"
              c:identifier="adw_entry_row_set_max_length"
              glib:set-property="max-length"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-entry-row.c"
             line="1294">Sets the maximum length of the entry.</doc>
        <source-position filename="src/adw-entry-row.h" line="90"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-entry-row.c"
                 line="1296">an entry row</doc>
            <type name="EntryRow" c:type="AdwEntryRow*"/>
          </instance-parameter>
          <parameter name="max_length" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-entry-row.c"
                 line="1297">maximum length of the entry</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_show_apply_button"
              c:identifier="adw_entry_row_set_show_apply_button"
              glib:set-property="show-apply-button"
              version="1.2">
        <doc xml:space="preserve"
             filename="src/adw-entry-row.c"
             line="929">Sets whether @self can show the apply button.

When set to `TRUE`, typing text in the entry will reveal an apply button.
Clicking it or pressing the &lt;kbd&gt;Enter&lt;/kbd&gt; key will hide the button and
emit the [signal@EntryRow::apply] signal.

This is useful if changing the entry contents can trigger an expensive
operation, e.g. network activity, to avoid triggering it after typing every
character.</doc>
        <source-position filename="src/adw-entry-row.h" line="50"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-entry-row.c"
                 line="931">an entry row</doc>
            <type name="EntryRow" c:type="AdwEntryRow*"/>
          </instance-parameter>
          <parameter name="show_apply_button" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-entry-row.c"
                 line="932">whether to show the apply button</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="activates-default"
                version="1.2"
                writable="1"
                transfer-ownership="none"
                setter="set_activates_default"
                getter="get_activates_default"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-entry-row.c"
             line="619">Whether activating the embedded entry can activate the default widget.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="attributes"
                version="1.2"
                writable="1"
                transfer-ownership="none"
                setter="set_attributes"
                getter="get_attributes">
        <doc xml:space="preserve"
             filename="src/adw-entry-row.c"
             line="590">A list of Pango attributes to apply to the text of the embedded entry.

The [struct@Pango.Attribute]'s `start_index` and `end_index` must refer to
the [class@Gtk.EntryBuffer] text, i.e. without the preedit string.</doc>
        <type name="Pango.AttrList"/>
      </property>
      <property name="enable-emoji-completion"
                version="1.2"
                writable="1"
                transfer-ownership="none"
                setter="set_enable_emoji_completion"
                getter="get_enable_emoji_completion"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-entry-row.c"
             line="605">Whether to suggest emoji replacements on the entry row.

Emoji replacement is done with :-delimited names, like `:heart:`.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="input-hints"
                version="1.2"
                writable="1"
                transfer-ownership="none"
                setter="set_input_hints"
                getter="get_input_hints"
                default-value="GTK_INPUT_HINT_NONE">
        <doc xml:space="preserve"
             filename="src/adw-entry-row.c"
             line="558">Additional input hints for the entry row.

Input hints allow input methods to fine-tune their behavior.

See also: [property@Adw.EntryRow:input-purpose]</doc>
        <type name="Gtk.InputHints"/>
      </property>
      <property name="input-purpose"
                version="1.2"
                writable="1"
                transfer-ownership="none"
                setter="set_input_purpose"
                getter="get_input_purpose"
                default-value="GTK_INPUT_PURPOSE_FREE_FORM">
        <doc xml:space="preserve"
             filename="src/adw-entry-row.c"
             line="575">The input purpose of the entry row.

The input purpose can be used by input methods to adjust their behavior.</doc>
        <type name="Gtk.InputPurpose"/>
      </property>
      <property name="max-length"
                version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_max_length"
                getter="get_max_length"
                default-value="0">
        <doc xml:space="preserve"
             filename="src/adw-entry-row.c"
             line="643">Maximum number of characters for the entry.</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="show-apply-button"
                version="1.2"
                writable="1"
                transfer-ownership="none"
                setter="set_show_apply_button"
                getter="get_show_apply_button"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-entry-row.c"
             line="538">Whether to show the apply button.

When set to `TRUE`, typing text in the entry will reveal an apply button.
Clicking it or pressing the &lt;kbd&gt;Enter&lt;/kbd&gt; key will hide the button and
emit the [signal@EntryRow::apply] signal.

This is useful if changing the entry contents can trigger an expensive
operation, e.g. network activity, to avoid triggering it after typing every
character.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="text-length"
                version="1.5"
                transfer-ownership="none"
                getter="get_text_length"
                default-value="0">
        <doc xml:space="preserve"
             filename="src/adw-entry-row.c"
             line="631">The length of the text in the entry row.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <field name="parent_instance">
        <type name="PreferencesRow" c:type="AdwPreferencesRow"/>
      </field>
      <glib:signal name="apply" when="last" version="1.2">
        <doc xml:space="preserve"
             filename="src/adw-entry-row.c"
             line="660">Emitted when the apply button is pressed.

See [property@EntryRow:show-apply-button].</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="entry-activated" when="last" version="1.2">
        <doc xml:space="preserve"
             filename="src/adw-entry-row.c"
             line="682">Emitted when the embedded entry is activated.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="EntryRowClass"
            c:type="AdwEntryRowClass"
            glib:is-gtype-struct-for="EntryRow">
      <source-position filename="src/adw-entry-row.h" line="32"/>
      <field name="parent_class">
        <doc xml:space="preserve"
             filename="src/adw-entry-row.h"
             line="27">The parent class</doc>
        <type name="PreferencesRowClass" c:type="AdwPreferencesRowClass"/>
      </field>
    </record>
    <class name="EnumListItem"
           c:symbol-prefix="enum_list_item"
           c:type="AdwEnumListItem"
           parent="GObject.Object"
           final="1"
           glib:type-name="AdwEnumListItem"
           glib:get-type="adw_enum_list_item_get_type"
           glib:type-struct="EnumListItemClass">
      <doc xml:space="preserve"
           filename="src/adw-enum-list-model.c"
           line="45">`AdwEnumListItem` is the type of items in a [class@EnumListModel].</doc>
      <source-position filename="src/adw-enum-list-model.h" line="22"/>
      <method name="get_name"
              c:identifier="adw_enum_list_item_get_name"
              glib:get-property="name">
        <doc xml:space="preserve"
             filename="src/adw-enum-list-model.c"
             line="163">Gets the enum value name.</doc>
        <source-position filename="src/adw-enum-list-model.h" line="28"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-enum-list-model.c"
               line="168">the enum value name</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="EnumListItem" c:type="AdwEnumListItem*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_nick"
              c:identifier="adw_enum_list_item_get_nick"
              glib:get-property="nick">
        <doc xml:space="preserve"
             filename="src/adw-enum-list-model.c"
             line="178">Gets the enum value nick.</doc>
        <source-position filename="src/adw-enum-list-model.h" line="31"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-enum-list-model.c"
               line="183">the enum value nick</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="EnumListItem" c:type="AdwEnumListItem*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_value"
              c:identifier="adw_enum_list_item_get_value"
              glib:get-property="value">
        <doc xml:space="preserve"
             filename="src/adw-enum-list-model.c"
             line="148">Gets the enum value.</doc>
        <source-position filename="src/adw-enum-list-model.h" line="25"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-enum-list-model.c"
               line="153">the enum value</doc>
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="EnumListItem" c:type="AdwEnumListItem*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="name"
                transfer-ownership="none"
                getter="get_name"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/adw-enum-list-model.c"
             line="110">The enum value name.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="nick"
                transfer-ownership="none"
                getter="get_nick"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/adw-enum-list-model.c"
             line="120">The enum value nick.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="value"
                transfer-ownership="none"
                getter="get_value"
                default-value="0">
        <doc xml:space="preserve"
             filename="src/adw-enum-list-model.c"
             line="100">The enum value.</doc>
        <type name="gint" c:type="gint"/>
      </property>
    </class>
    <record name="EnumListItemClass"
            c:type="AdwEnumListItemClass"
            glib:is-gtype-struct-for="EnumListItem">
      <source-position filename="src/adw-enum-list-model.h" line="22"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="EnumListModel"
           c:symbol-prefix="enum_list_model"
           c:type="AdwEnumListModel"
           parent="GObject.Object"
           final="1"
           glib:type-name="AdwEnumListModel"
           glib:get-type="adw_enum_list_model_get_type"
           glib:type-struct="EnumListModelClass">
      <doc xml:space="preserve"
           filename="src/adw-enum-list-model.c"
           line="14">A [iface@Gio.ListModel] representing values of a given enum.

`AdwEnumListModel` contains objects of type [class@EnumListItem].</doc>
      <source-position filename="src/adw-enum-list-model.h" line="36"/>
      <implements name="Gio.ListModel"/>
      <constructor name="new" c:identifier="adw_enum_list_model_new">
        <doc xml:space="preserve"
             filename="src/adw-enum-list-model.c"
             line="321">Creates a new `AdwEnumListModel` for @enum_type.</doc>
        <source-position filename="src/adw-enum-list-model.h" line="39"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/adw-enum-list-model.c"
               line="327">the newly created `AdwEnumListModel`</doc>
          <type name="EnumListModel" c:type="AdwEnumListModel*"/>
        </return-value>
        <parameters>
          <parameter name="enum_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-enum-list-model.c"
                 line="323">the type of the enum to construct the model from</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="find_position"
              c:identifier="adw_enum_list_model_find_position">
        <doc xml:space="preserve"
             filename="src/adw-enum-list-model.c"
             line="352">Finds the position of a given enum value in @self.

If the value is not found, `GTK_INVALID_LIST_POSITION` is returned.</doc>
        <source-position filename="src/adw-enum-list-model.h" line="45"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-enum-list-model.c"
               line="360">the position of the value</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="EnumListModel" c:type="AdwEnumListModel*"/>
          </instance-parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-enum-list-model.c"
                 line="354">an enum value</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_enum_type"
              c:identifier="adw_enum_list_model_get_enum_type"
              glib:get-property="enum-type">
        <doc xml:space="preserve"
             filename="src/adw-enum-list-model.c"
             line="337">Gets the type of the enum represented by @self.</doc>
        <source-position filename="src/adw-enum-list-model.h" line="42"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-enum-list-model.c"
               line="342">the enum type</doc>
          <type name="GType" c:type="GType"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="EnumListModel" c:type="AdwEnumListModel*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="enum-type"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_enum_type">
        <doc xml:space="preserve"
             filename="src/adw-enum-list-model.c"
             line="269">The type of the enum represented by the model.</doc>
        <type name="GType" c:type="GType"/>
      </property>
    </class>
    <record name="EnumListModelClass"
            c:type="AdwEnumListModelClass"
            glib:is-gtype-struct-for="EnumListModel">
      <source-position filename="src/adw-enum-list-model.h" line="36"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="ExpanderRow"
           c:symbol-prefix="expander_row"
           c:type="AdwExpanderRow"
           parent="PreferencesRow"
           glib:type-name="AdwExpanderRow"
           glib:get-type="adw_expander_row_get_type"
           glib:type-struct="ExpanderRowClass">
      <doc xml:space="preserve"
           filename="src/adw-expander-row.c"
           line="13">A [class@Gtk.ListBoxRow] used to reveal widgets.

&lt;picture&gt;
  &lt;source srcset="expander-row-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="expander-row.png" alt="expander-row"&gt;
&lt;/picture&gt;

The `AdwExpanderRow` widget allows the user to reveal or hide widgets below
it. It also allows the user to enable the expansion of the row, allowing to
disable all that the row contains.

## AdwExpanderRow as GtkBuildable

The `AdwExpanderRow` implementation of the [iface@Gtk.Buildable] interface
supports adding a child as an suffix widget by specifying “suffix” as the
“type” attribute of a &lt;child&gt; element.

It also supports adding it as a prefix widget by specifying “prefix” as the
“type” attribute of a &lt;child&gt; element.

## CSS nodes

`AdwExpanderRow` has a main CSS node with name `row` and the `.expander`
style class. It has the `.empty` style class when it contains no children.

It contains the subnodes `row.header` for its main embedded row,
`list.nested` for the list it can expand, and `image.expander-row-arrow` for
its arrow.

## Style classes

`AdwExpanderRow` can use the [`.`](style-classes.html#property-rows)
style class to emphasize the row subtitle instead of the row title, which is
useful for displaying read-only properties.

When used together with the `.monospace` style class, only the subtitle
becomes monospace, not the title or any extra widgets.</doc>
      <source-position filename="src/adw-expander-row.h" line="35"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Actionable"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <constructor name="new" c:identifier="adw_expander_row_new">
        <doc xml:space="preserve"
             filename="src/adw-expander-row.c"
             line="368">Creates a new `AdwExpanderRow`.</doc>
        <source-position filename="src/adw-expander-row.h" line="38"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-expander-row.c"
               line="373">the newly created `AdwExpanderRow`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="add_action"
              c:identifier="adw_expander_row_add_action"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-expander-row.c"
             line="381">Adds an action widget to @self.</doc>
        <doc-deprecated xml:space="preserve">Use [method@ExpanderRow.add_suffix] to add a suffix.</doc-deprecated>
        <source-position filename="src/adw-expander-row.h" line="41"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-expander-row.c"
                 line="383">an expander row</doc>
            <type name="ExpanderRow" c:type="AdwExpanderRow*"/>
          </instance-parameter>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-expander-row.c"
                 line="384">a widget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_prefix" c:identifier="adw_expander_row_add_prefix">
        <doc xml:space="preserve"
             filename="src/adw-expander-row.c"
             line="406">Adds a prefix widget to @self.</doc>
        <source-position filename="src/adw-expander-row.h" line="44"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-expander-row.c"
                 line="408">an expander row</doc>
            <type name="ExpanderRow" c:type="AdwExpanderRow*"/>
          </instance-parameter>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-expander-row.c"
                 line="409">a widget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_row" c:identifier="adw_expander_row_add_row">
        <doc xml:space="preserve"
             filename="src/adw-expander-row.c"
             line="457">Adds a widget to @self.

The widget will appear in the expanding list below @self.</doc>
        <source-position filename="src/adw-expander-row.h" line="51"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-expander-row.c"
                 line="459">an expander row</doc>
            <type name="ExpanderRow" c:type="AdwExpanderRow*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-expander-row.c"
                 line="460">a widget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_suffix"
              c:identifier="adw_expander_row_add_suffix"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-expander-row.c"
             line="432">Adds an suffix widget to @self.</doc>
        <source-position filename="src/adw-expander-row.h" line="47"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-expander-row.c"
                 line="434">an expander row</doc>
            <type name="ExpanderRow" c:type="AdwExpanderRow*"/>
          </instance-parameter>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-expander-row.c"
                 line="435">a widget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_enable_expansion"
              c:identifier="adw_expander_row_get_enable_expansion"
              glib:get-property="enable-expansion">
        <doc xml:space="preserve"
             filename="src/adw-expander-row.c"
             line="666">Gets whether the expansion of @self is enabled.</doc>
        <source-position filename="src/adw-expander-row.h" line="76"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-expander-row.c"
               line="672">whether the expansion of @self is enabled.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-expander-row.c"
                 line="668">an expander row</doc>
            <type name="ExpanderRow" c:type="AdwExpanderRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_expanded"
              c:identifier="adw_expander_row_get_expanded"
              glib:get-property="expanded">
        <doc xml:space="preserve"
             filename="src/adw-expander-row.c"
             line="610">Gets whether @self is expanded.</doc>
        <source-position filename="src/adw-expander-row.h" line="70"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-expander-row.c"
               line="616">whether @self is expanded</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-expander-row.c"
                 line="612">an expander row</doc>
            <type name="ExpanderRow" c:type="AdwExpanderRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_icon_name"
              c:identifier="adw_expander_row_get_icon_name"
              glib:get-property="icon-name"
              deprecated="1"
              deprecated-version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-expander-row.c"
             line="566">Gets the icon name for @self.</doc>
        <doc-deprecated xml:space="preserve">Use [method@ExpanderRow.add_prefix] to add an icon.</doc-deprecated>
        <source-position filename="src/adw-expander-row.h" line="64"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-expander-row.c"
               line="572">the icon name for @self</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-expander-row.c"
                 line="568">an expander row</doc>
            <type name="ExpanderRow" c:type="AdwExpanderRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_show_enable_switch"
              c:identifier="adw_expander_row_get_show_enable_switch"
              glib:get-property="show-enable-switch">
        <doc xml:space="preserve"
             filename="src/adw-expander-row.c"
             line="715">Gets whether the switch enabling the expansion of @self is visible.</doc>
        <source-position filename="src/adw-expander-row.h" line="82"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-expander-row.c"
               line="721">whether the switch enabling the expansion is visible</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-expander-row.c"
                 line="717">an expander row</doc>
            <type name="ExpanderRow" c:type="AdwExpanderRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_subtitle"
              c:identifier="adw_expander_row_get_subtitle"
              glib:get-property="subtitle">
        <doc xml:space="preserve"
             filename="src/adw-expander-row.c"
             line="523">Gets the subtitle for @self.</doc>
        <source-position filename="src/adw-expander-row.h" line="58"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-expander-row.c"
               line="529">the subtitle for @self</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-expander-row.c"
                 line="525">an expander row</doc>
            <type name="ExpanderRow" c:type="AdwExpanderRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_subtitle_lines"
              c:identifier="adw_expander_row_get_subtitle_lines"
              glib:get-property="subtitle-lines"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-expander-row.c"
             line="811">Gets the number of lines at the end of which the subtitle label will be
ellipsized.</doc>
        <source-position filename="src/adw-expander-row.h" line="94"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-expander-row.c"
               line="818">the number of lines at the end of which the subtitle label will be
  ellipsized</doc>
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-expander-row.c"
                 line="813">an expander row</doc>
            <type name="ExpanderRow" c:type="AdwExpanderRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_title_lines"
              c:identifier="adw_expander_row_get_title_lines"
              glib:get-property="title-lines"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-expander-row.c"
             line="762">Gets the number of lines at the end of which the title label will be
ellipsized.</doc>
        <source-position filename="src/adw-expander-row.h" line="88"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-expander-row.c"
               line="769">the number of lines at the end of which the title label will be
  ellipsized</doc>
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-expander-row.c"
                 line="764">an expander row</doc>
            <type name="ExpanderRow" c:type="AdwExpanderRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove" c:identifier="adw_expander_row_remove">
        <doc xml:space="preserve"
             filename="src/adw-expander-row.c"
             line="486">Removes a child from @self.</doc>
        <source-position filename="src/adw-expander-row.h" line="54"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-expander-row.c"
                 line="488">an expander row</doc>
            <type name="ExpanderRow" c:type="AdwExpanderRow*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-expander-row.c"
                 line="489">the child to be removed</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_enable_expansion"
              c:identifier="adw_expander_row_set_enable_expansion"
              glib:set-property="enable-expansion">
        <doc xml:space="preserve"
             filename="src/adw-expander-row.c"
             line="686">Sets whether the expansion of @self is enabled.</doc>
        <source-position filename="src/adw-expander-row.h" line="78"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-expander-row.c"
                 line="688">an expander row</doc>
            <type name="ExpanderRow" c:type="AdwExpanderRow*"/>
          </instance-parameter>
          <parameter name="enable_expansion" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-expander-row.c"
                 line="689">whether to enable the expansion</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_expanded"
              c:identifier="adw_expander_row_set_expanded"
              glib:set-property="expanded">
        <doc xml:space="preserve"
             filename="src/adw-expander-row.c"
             line="630">Sets whether @self is expanded.</doc>
        <source-position filename="src/adw-expander-row.h" line="72"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-expander-row.c"
                 line="632">an expander row</doc>
            <type name="ExpanderRow" c:type="AdwExpanderRow*"/>
          </instance-parameter>
          <parameter name="expanded" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-expander-row.c"
                 line="633">whether to expand the row</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_icon_name"
              c:identifier="adw_expander_row_set_icon_name"
              glib:set-property="icon-name"
              deprecated="1"
              deprecated-version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-expander-row.c"
             line="588">Sets the icon name for @self.</doc>
        <doc-deprecated xml:space="preserve">Use [method@ExpanderRow.add_prefix] to add an icon.</doc-deprecated>
        <source-position filename="src/adw-expander-row.h" line="66"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-expander-row.c"
                 line="590">an expander row</doc>
            <type name="ExpanderRow" c:type="AdwExpanderRow*"/>
          </instance-parameter>
          <parameter name="icon_name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-expander-row.c"
                 line="591">the icon name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_show_enable_switch"
              c:identifier="adw_expander_row_set_show_enable_switch"
              glib:set-property="show-enable-switch">
        <doc xml:space="preserve"
             filename="src/adw-expander-row.c"
             line="735">Sets whether the switch enabling the expansion of @self is visible.</doc>
        <source-position filename="src/adw-expander-row.h" line="84"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-expander-row.c"
                 line="737">an expander row</doc>
            <type name="ExpanderRow" c:type="AdwExpanderRow*"/>
          </instance-parameter>
          <parameter name="show_enable_switch" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-expander-row.c"
                 line="738">whether to show the switch enabling the expansion</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_subtitle"
              c:identifier="adw_expander_row_set_subtitle"
              glib:set-property="subtitle">
        <doc xml:space="preserve"
             filename="src/adw-expander-row.c"
             line="543">Sets the subtitle for @self.

The subtitle is interpreted as Pango markup unless
[property@PreferencesRow:use-markup] is set to `FALSE`.</doc>
        <source-position filename="src/adw-expander-row.h" line="60"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-expander-row.c"
                 line="545">an expander row</doc>
            <type name="ExpanderRow" c:type="AdwExpanderRow*"/>
          </instance-parameter>
          <parameter name="subtitle" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-expander-row.c"
                 line="546">the subtitle</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_subtitle_lines"
              c:identifier="adw_expander_row_set_subtitle_lines"
              glib:set-property="subtitle-lines"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-expander-row.c"
             line="835">Sets the number of lines at the end of which the subtitle label will be
ellipsized.

If the value is 0, the number of lines won't be limited.</doc>
        <source-position filename="src/adw-expander-row.h" line="96"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-expander-row.c"
                 line="837">an expander row</doc>
            <type name="ExpanderRow" c:type="AdwExpanderRow*"/>
          </instance-parameter>
          <parameter name="subtitle_lines" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-expander-row.c"
                 line="838">the number of lines at the end of which the subtitle label will be ellipsized</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_title_lines"
              c:identifier="adw_expander_row_set_title_lines"
              glib:set-property="title-lines"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-expander-row.c"
             line="786">Sets the number of lines at the end of which the title label will be
ellipsized.

If the value is 0, the number of lines won't be limited.</doc>
        <source-position filename="src/adw-expander-row.h" line="90"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-expander-row.c"
                 line="788">an expander row</doc>
            <type name="ExpanderRow" c:type="AdwExpanderRow*"/>
          </instance-parameter>
          <parameter name="title_lines" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-expander-row.c"
                 line="789">the number of lines at the end of which the title label will be ellipsized</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <property name="enable-expansion"
                writable="1"
                transfer-ownership="none"
                setter="set_enable_expansion"
                getter="get_enable_expansion"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-expander-row.c"
             line="243">Whether expansion is enabled.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="expanded"
                writable="1"
                transfer-ownership="none"
                setter="set_expanded"
                getter="get_expanded"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-expander-row.c"
             line="233">Whether the row is expanded.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="icon-name"
                deprecated="1"
                deprecated-version="1.3"
                writable="1"
                transfer-ownership="none"
                setter="set_icon_name"
                getter="get_icon_name">
        <doc xml:space="preserve"
             filename="src/adw-expander-row.c"
             line="221">The icon name for this row.</doc>
        <doc-deprecated xml:space="preserve">Use [method@ExpanderRow.add_prefix] to add an icon.</doc-deprecated>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="show-enable-switch"
                writable="1"
                transfer-ownership="none"
                setter="set_show_enable_switch"
                getter="get_show_enable_switch"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-expander-row.c"
             line="253">Whether the switch enabling the expansion is visible.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="subtitle"
                writable="1"
                transfer-ownership="none"
                setter="set_subtitle"
                getter="get_subtitle">
        <doc xml:space="preserve"
             filename="src/adw-expander-row.c"
             line="208">The subtitle for this row.

The subtitle is interpreted as Pango markup unless
[property@PreferencesRow:use-markup] is set to `FALSE`.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="subtitle-lines"
                version="1.3"
                writable="1"
                transfer-ownership="none"
                setter="set_subtitle_lines"
                getter="get_subtitle_lines"
                default-value="0">
        <doc xml:space="preserve"
             filename="src/adw-expander-row.c"
             line="278">The number of lines at the end of which the subtitle label will be
ellipsized.

If the value is 0, the number of lines won't be limited.</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="title-lines"
                version="1.3"
                writable="1"
                transfer-ownership="none"
                setter="set_title_lines"
                getter="get_title_lines"
                default-value="0">
        <doc xml:space="preserve"
             filename="src/adw-expander-row.c"
             line="263">The number of lines at the end of which the title label will be ellipsized.

If the value is 0, the number of lines won't be limited.</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <field name="parent_instance">
        <type name="PreferencesRow" c:type="AdwPreferencesRow"/>
      </field>
    </class>
    <record name="ExpanderRowClass"
            c:type="AdwExpanderRowClass"
            glib:is-gtype-struct-for="ExpanderRow">
      <source-position filename="src/adw-expander-row.h" line="35"/>
      <field name="parent_class">
        <doc xml:space="preserve"
             filename="src/adw-expander-row.h"
             line="27">The parent class</doc>
        <type name="PreferencesRowClass" c:type="AdwPreferencesRowClass"/>
      </field>
      <field name="padding" readable="0" private="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <class name="Flap"
           c:symbol-prefix="flap"
           c:type="AdwFlap"
           deprecated="1"
           deprecated-version="1.4"
           parent="Gtk.Widget"
           final="1"
           glib:type-name="AdwFlap"
           glib:get-type="adw_flap_get_type"
           glib:type-struct="FlapClass">
      <doc xml:space="preserve"
           filename="src/adw-flap.c"
           line="22">An adaptive container acting like a box or an overlay.

&lt;picture&gt;
  &lt;source srcset="flap-wide-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="flap-wide.png" alt="flap-wide"&gt;
&lt;/picture&gt;
&lt;picture&gt;
  &lt;source srcset="flap-narrow-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="flap-narrow.png" alt="flap-narrow"&gt;
&lt;/picture&gt;

The `AdwFlap` widget can display its children like a [class@Gtk.Box] does or
like a [class@Gtk.Overlay] does, according to the
[property@Flap:fold-policy] value.

`AdwFlap` has at most three children: [property@Flap:content],
[property@Flap:flap] and [property@Flap:separator]. Content is the primary
child, flap is displayed next to it when unfolded, or overlays it when
folded. Flap can be shown or hidden by changing the
[property@Flap:reveal-flap] value, as well as via swipe gestures if
[property@Flap:swipe-to-open] and/or [property@Flap:swipe-to-close] are set
to `TRUE`.

Optionally, a separator can be provided, which would be displayed between
the content and the flap when there's no shadow to separate them, depending
on the transition type.

[property@Flap:flap] is transparent by default; add the
[`.background`](style-classes.html#background) style class to it if this is
unwanted.

If [property@Flap:modal] is set to `TRUE`, content becomes completely
inaccessible when the flap is revealed while folded.

The position of the flap and separator children relative to the content is
determined by orientation, as well as the [property@Flap:flap-position]
value.

Folding the flap will automatically hide the flap widget, and unfolding it
will automatically reveal it. If this behavior is not desired, the
[property@Flap:locked] property can be used to override it.

Common use cases include sidebars, header bars that need to be able to
overlap the window content (for example, in fullscreen mode) and bottom
sheets.

## AdwFlap as GtkBuildable

The `AdwFlap` implementation of the [iface@Gtk.Buildable] interface supports
setting the flap child by specifying “flap” as the “type” attribute of a
`&lt;child&gt;` element, and separator by specifying “separator”. Specifying
“content” child type or omitting it results in setting the content child.

## CSS nodes

`AdwFlap` has a single CSS node with name `flap`. The node will get the style
classes `.folded` when it is folded, and `.unfolded` when it's not.</doc>
      <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
      <source-position filename="src/adw-flap.h" line="25"/>
      <implements name="Swipeable"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new"
                   c:identifier="adw_flap_new"
                   deprecated="1"
                   deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="1788">Creates a new `AdwFlap`.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
        <source-position filename="src/adw-flap.h" line="40"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-flap.c"
               line="1793">the newly created `AdwFlap`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="get_content"
              c:identifier="adw_flap_get_content"
              glib:get-property="content"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="1803">Gets the content widget for @self.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
        <source-position filename="src/adw-flap.h" line="43"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-flap.c"
               line="1809">the content widget for @self</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-flap.c"
                 line="1805">a flap</doc>
            <type name="Flap" c:type="AdwFlap*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_flap"
              c:identifier="adw_flap_get_flap"
              glib:get-property="flap"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="1858">Gets the flap widget for @self.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
        <source-position filename="src/adw-flap.h" line="49"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-flap.c"
               line="1864">the flap widget for @self</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-flap.c"
                 line="1860">a flap</doc>
            <type name="Flap" c:type="AdwFlap*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_flap_position"
              c:identifier="adw_flap_get_flap_position"
              glib:get-property="flap-position"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="1971">Gets the flap position for @self.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
        <source-position filename="src/adw-flap.h" line="61"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-flap.c"
               line="1977">the flap position for @self</doc>
          <type name="Gtk.PackType" c:type="GtkPackType"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-flap.c"
                 line="1973">a flap</doc>
            <type name="Flap" c:type="AdwFlap*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_fold_duration"
              c:identifier="adw_flap_get_fold_duration"
              glib:get-property="fold-duration"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="2236">Gets the fold transition animation duration for @self, in milliseconds.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
        <source-position filename="src/adw-flap.h" line="94"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-flap.c"
               line="2242">the fold transition duration</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-flap.c"
                 line="2238">a flap</doc>
            <type name="Flap" c:type="AdwFlap*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_fold_policy"
              c:identifier="adw_flap_get_fold_policy"
              glib:get-property="fold-policy"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="2126">Gets the fold policy for @self.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
        <source-position filename="src/adw-flap.h" line="82"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-flap.c"
               line="2132">the fold policy for @self</doc>
          <type name="FlapFoldPolicy" c:type="AdwFlapFoldPolicy"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-flap.c"
                 line="2128">a flap</doc>
            <type name="Flap" c:type="AdwFlap*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_fold_threshold_policy"
              c:identifier="adw_flap_get_fold_threshold_policy"
              glib:get-property="fold-threshold-policy"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="2185">Gets the fold threshold policy for @self.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
        <source-position filename="src/adw-flap.h" line="88"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-flap.c"
               line="2191">the fold threshold policy</doc>
          <type name="FoldThresholdPolicy" c:type="AdwFoldThresholdPolicy"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-flap.c"
                 line="2187">a flap</doc>
            <type name="Flap" c:type="AdwFlap*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_folded"
              c:identifier="adw_flap_get_folded"
              glib:get-property="folded"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="2277">Gets whether @self is currently folded.

See [property@Flap:fold-policy].</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
        <source-position filename="src/adw-flap.h" line="100"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-flap.c"
               line="2285">`TRUE` if @self is currently folded</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-flap.c"
                 line="2279">a flap</doc>
            <type name="Flap" c:type="AdwFlap*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_locked"
              c:identifier="adw_flap_get_locked"
              glib:get-property="locked"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="2297">Gets whether @self is locked.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
        <source-position filename="src/adw-flap.h" line="103"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-flap.c"
               line="2303">`TRUE` if @self is locked</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-flap.c"
                 line="2299">a flap</doc>
            <type name="Flap" c:type="AdwFlap*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_modal"
              c:identifier="adw_flap_get_modal"
              glib:get-property="modal"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="2396">Gets whether @self is modal.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
        <source-position filename="src/adw-flap.h" line="115"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-flap.c"
               line="2402">`TRUE` if @self is modal</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-flap.c"
                 line="2398">a flap</doc>
            <type name="Flap" c:type="AdwFlap*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_reveal_flap"
              c:identifier="adw_flap_get_reveal_flap"
              glib:get-property="reveal-flap"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="2019">Gets whether the flap widget is revealed for @self.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
        <source-position filename="src/adw-flap.h" line="67"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-flap.c"
               line="2025">`TRUE` if the flap widget is revealed</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-flap.c"
                 line="2021">a flap</doc>
            <type name="Flap" c:type="AdwFlap*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_reveal_params"
              c:identifier="adw_flap_get_reveal_params"
              glib:get-property="reveal-params"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="2055">Gets the reveal animation spring parameters for @self.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
        <source-position filename="src/adw-flap.h" line="73"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/adw-flap.c"
               line="2061">the reveal animation parameters</doc>
          <type name="SpringParams" c:type="AdwSpringParams*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-flap.c"
                 line="2057">a flap</doc>
            <type name="Flap" c:type="AdwFlap*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_reveal_progress"
              c:identifier="adw_flap_get_reveal_progress"
              glib:get-property="reveal-progress"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="2104">Gets the current reveal progress for @self.

0 means fully hidden, 1 means fully revealed.

See [property@Flap:reveal-flap].</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
        <source-position filename="src/adw-flap.h" line="79"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-flap.c"
               line="2114">the current reveal progress for @self</doc>
          <type name="gdouble" c:type="double"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-flap.c"
                 line="2106">a flap</doc>
            <type name="Flap" c:type="AdwFlap*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_separator"
              c:identifier="adw_flap_get_separator"
              glib:get-property="separator"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="1914">Gets the separator widget for @self.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
        <source-position filename="src/adw-flap.h" line="55"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-flap.c"
               line="1920">the separator widget for @self</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-flap.c"
                 line="1916">a flap</doc>
            <type name="Flap" c:type="AdwFlap*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_swipe_to_close"
              c:identifier="adw_flap_get_swipe_to_close"
              glib:get-property="swipe-to-close"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="2496">Gets whether @self can be closed with a swipe gesture.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
        <source-position filename="src/adw-flap.h" line="127"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-flap.c"
               line="2502">`TRUE` if @self can be closed with a swipe gesture</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-flap.c"
                 line="2498">a flap</doc>
            <type name="Flap" c:type="AdwFlap*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_swipe_to_open"
              c:identifier="adw_flap_get_swipe_to_open"
              glib:get-property="swipe-to-open"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="2448">Gets whether @self can be opened with a swipe gesture.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
        <source-position filename="src/adw-flap.h" line="121"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-flap.c"
               line="2454">`TRUE` if @self can be opened with a swipe gesture</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-flap.c"
                 line="2450">a flap</doc>
            <type name="Flap" c:type="AdwFlap*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_transition_type"
              c:identifier="adw_flap_get_transition_type"
              glib:get-property="transition-type"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="2344">Gets the type of animation used for reveal and fold transitions in @self.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
        <source-position filename="src/adw-flap.h" line="109"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-flap.c"
               line="2350">the current transition type of @self</doc>
          <type name="FlapTransitionType" c:type="AdwFlapTransitionType"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-flap.c"
                 line="2346">a flap</doc>
            <type name="Flap" c:type="AdwFlap*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_content"
              c:identifier="adw_flap_set_content"
              glib:set-property="content"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="1821">Sets the content widget for @self.

It's always displayed when unfolded, and partially visible when folded.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
        <source-position filename="src/adw-flap.h" line="45"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-flap.c"
                 line="1823">a flap</doc>
            <type name="Flap" c:type="AdwFlap*"/>
          </instance-parameter>
          <parameter name="content"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-flap.c"
                 line="1824">the content widget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_flap"
              c:identifier="adw_flap_set_flap"
              glib:set-property="flap"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="1876">Sets the flap widget for @self.

It's only visible when [property@Flap:reveal-progress] is greater than 0.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
        <source-position filename="src/adw-flap.h" line="51"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-flap.c"
                 line="1878">a flap</doc>
            <type name="Flap" c:type="AdwFlap*"/>
          </instance-parameter>
          <parameter name="flap"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-flap.c"
                 line="1879">the flap widget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_flap_position"
              c:identifier="adw_flap_set_flap_position"
              glib:set-property="flap-position"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="1989">Sets the flap position for @self.

If it's set to `GTK_PACK_START`, the flap is displayed before the content,
if `GTK_PACK_END`, it's displayed after the content.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
        <source-position filename="src/adw-flap.h" line="63"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-flap.c"
                 line="1991">a flap</doc>
            <type name="Flap" c:type="AdwFlap*"/>
          </instance-parameter>
          <parameter name="position" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-flap.c"
                 line="1992">the new value</doc>
            <type name="Gtk.PackType" c:type="GtkPackType"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_fold_duration"
              c:identifier="adw_flap_set_fold_duration"
              glib:set-property="fold-duration"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="2254">Sets the fold transition animation duration for @self, in milliseconds.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
        <source-position filename="src/adw-flap.h" line="96"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-flap.c"
                 line="2256">a flap</doc>
            <type name="Flap" c:type="AdwFlap*"/>
          </instance-parameter>
          <parameter name="duration" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-flap.c"
                 line="2257">the new duration, in milliseconds</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_fold_policy"
              c:identifier="adw_flap_set_fold_policy"
              glib:set-property="fold-policy"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="2144">Sets the fold policy for @self.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
        <source-position filename="src/adw-flap.h" line="84"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-flap.c"
                 line="2146">a flap</doc>
            <type name="Flap" c:type="AdwFlap*"/>
          </instance-parameter>
          <parameter name="policy" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-flap.c"
                 line="2147">the fold policy</doc>
            <type name="FlapFoldPolicy" c:type="AdwFlapFoldPolicy"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_fold_threshold_policy"
              c:identifier="adw_flap_set_fold_threshold_policy"
              glib:set-property="fold-threshold-policy"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="2203">Sets the fold threshold policy for @self.

If set to `ADW_FOLD_THRESHOLD_POLICY_MINIMUM`, flap will only fold when the
children cannot fit anymore. With `ADW_FOLD_THRESHOLD_POLICY_NATURAL`, it
will fold as soon as children don't get their natural size.

This can be useful if you have a long ellipsizing label and want to let it
ellipsize instead of immediately folding.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
        <source-position filename="src/adw-flap.h" line="90"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-flap.c"
                 line="2205">a flap</doc>
            <type name="Flap" c:type="AdwFlap*"/>
          </instance-parameter>
          <parameter name="policy" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-flap.c"
                 line="2206">the policy to use</doc>
            <type name="FoldThresholdPolicy" c:type="AdwFoldThresholdPolicy"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_locked"
              c:identifier="adw_flap_set_locked"
              glib:set-property="locked"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="2315">Sets whether @self is locked.

If `FALSE`, folding when the flap is revealed automatically closes it, and
unfolding it when the flap is not revealed opens it. If `TRUE`,
[property@Flap:reveal-flap] value never changes on its own.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
        <source-position filename="src/adw-flap.h" line="105"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-flap.c"
                 line="2317">a flap</doc>
            <type name="Flap" c:type="AdwFlap*"/>
          </instance-parameter>
          <parameter name="locked" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-flap.c"
                 line="2318">the new value</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_modal"
              c:identifier="adw_flap_set_modal"
              glib:set-property="modal"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="2414">Sets whether @self is modal.

If `TRUE`, clicking the content widget while flap is revealed, as well as
pressing the &lt;kbd&gt;Esc&lt;/kbd&gt; key, will close the flap. If `FALSE`, clicks are
passed through to the content widget.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
        <source-position filename="src/adw-flap.h" line="117"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-flap.c"
                 line="2416">a flap</doc>
            <type name="Flap" c:type="AdwFlap*"/>
          </instance-parameter>
          <parameter name="modal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-flap.c"
                 line="2417">whether @self is modal</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_reveal_flap"
              c:identifier="adw_flap_set_reveal_flap"
              glib:set-property="reveal-flap"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="2037">Sets whether the flap widget is revealed for @self.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
        <source-position filename="src/adw-flap.h" line="69"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-flap.c"
                 line="2039">a flap</doc>
            <type name="Flap" c:type="AdwFlap*"/>
          </instance-parameter>
          <parameter name="reveal_flap" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-flap.c"
                 line="2040">whether to reveal the flap widget</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_reveal_params"
              c:identifier="adw_flap_set_reveal_params"
              glib:set-property="reveal-params"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="2073">Sets the reveal animation spring parameters for @self.

The default value is equivalent to:

```c
adw_spring_params_new (1, 0.5, 500)
```</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
        <source-position filename="src/adw-flap.h" line="75"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-flap.c"
                 line="2075">a flap</doc>
            <type name="Flap" c:type="AdwFlap*"/>
          </instance-parameter>
          <parameter name="params" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-flap.c"
                 line="2076">the new parameters</doc>
            <type name="SpringParams" c:type="AdwSpringParams*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_separator"
              c:identifier="adw_flap_set_separator"
              glib:set-property="separator"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="1932">Sets the separator widget for @self.

It's displayed between content and flap when there's no shadow to display.
When exactly it's visible depends on the [property@Flap:transition-type]
value.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
        <source-position filename="src/adw-flap.h" line="57"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-flap.c"
                 line="1934">a flap</doc>
            <type name="Flap" c:type="AdwFlap*"/>
          </instance-parameter>
          <parameter name="separator"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-flap.c"
                 line="1935">the separator widget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_swipe_to_close"
              c:identifier="adw_flap_set_swipe_to_close"
              glib:set-property="swipe-to-close"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="2514">Sets whether @self can be closed with a swipe gesture.

The area that can be swiped depends on the [property@Flap:transition-type]
value.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
        <source-position filename="src/adw-flap.h" line="129"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-flap.c"
                 line="2516">a flap</doc>
            <type name="Flap" c:type="AdwFlap*"/>
          </instance-parameter>
          <parameter name="swipe_to_close" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-flap.c"
                 line="2517">whether @self can be closed with a swipe gesture</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_swipe_to_open"
              c:identifier="adw_flap_set_swipe_to_open"
              glib:set-property="swipe-to-open"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="2466">Sets whether @self can be opened with a swipe gesture.

The area that can be swiped depends on the [property@Flap:transition-type]
value.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
        <source-position filename="src/adw-flap.h" line="123"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-flap.c"
                 line="2468">a flap</doc>
            <type name="Flap" c:type="AdwFlap*"/>
          </instance-parameter>
          <parameter name="swipe_to_open" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-flap.c"
                 line="2469">whether @self can be opened with a swipe gesture</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_transition_type"
              c:identifier="adw_flap_set_transition_type"
              glib:set-property="transition-type"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="2362">Sets the type of animation used for reveal and fold transitions in @self.

[property@Flap:flap] is transparent by default, which means the content will
be seen through it with `ADW_FLAP_TRANSITION_TYPE_OVER` transitions; add the
[`.background`](style-classes.html#background) style class to it if this is
unwanted.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
        <source-position filename="src/adw-flap.h" line="111"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-flap.c"
                 line="2364">a flap</doc>
            <type name="Flap" c:type="AdwFlap*"/>
          </instance-parameter>
          <parameter name="transition_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-flap.c"
                 line="2365">the new transition type</doc>
            <type name="FlapTransitionType" c:type="AdwFlapTransitionType"/>
          </parameter>
        </parameters>
      </method>
      <property name="content"
                deprecated="1"
                deprecated-version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_content"
                getter="get_content">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="1264">The content widget.

It's always displayed when unfolded, and partially visible when folded.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
        <type name="Gtk.Widget"/>
      </property>
      <property name="flap"
                deprecated="1"
                deprecated-version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_flap"
                getter="get_flap">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="1278">The flap widget.

It's only visible when [property@Flap:reveal-progress] is greater than 0.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
        <type name="Gtk.Widget"/>
      </property>
      <property name="flap-position"
                deprecated="1"
                deprecated-version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_flap_position"
                getter="get_flap_position"
                default-value="GTK_PACK_START">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="1308">The flap position.

If it's set to `GTK_PACK_START`, the flap is displayed before the content,
if `GTK_PACK_END`, it's displayed after the content.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
        <type name="Gtk.PackType"/>
      </property>
      <property name="fold-duration"
                deprecated="1"
                deprecated-version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_fold_duration"
                getter="get_fold_duration"
                default-value="250">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="1403">The fold transition animation duration, in milliseconds.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="fold-policy"
                deprecated="1"
                deprecated-version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_fold_policy"
                getter="get_fold_policy"
                default-value="ADW_FLAP_FOLD_POLICY_AUTO">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="1370">The fold policy for the flap.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
        <type name="FlapFoldPolicy"/>
      </property>
      <property name="fold-threshold-policy"
                deprecated="1"
                deprecated-version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_fold_threshold_policy"
                getter="get_fold_threshold_policy"
                default-value="ADW_FOLD_THRESHOLD_POLICY_MINIMUM">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="1383">Determines when the flap will fold.

If set to `ADW_FOLD_THRESHOLD_POLICY_MINIMUM`, flap will only fold when
the children cannot fit anymore. With `ADW_FOLD_THRESHOLD_POLICY_NATURAL`,
it will fold as soon as children don't get their natural size.

This can be useful if you have a long ellipsizing label and want to let it
ellipsize instead of immediately folding.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
        <type name="FoldThresholdPolicy"/>
      </property>
      <property name="folded"
                deprecated="1"
                deprecated-version="1.4"
                transfer-ownership="none"
                getter="get_folded"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="1416">Whether the flap is currently folded.

See [property@Flap:fold-policy].</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="locked"
                deprecated="1"
                deprecated-version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_locked"
                getter="get_locked"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="1430">Whether the flap is locked.

If `FALSE`, folding when the flap is revealed automatically closes it, and
unfolding it when the flap is not revealed opens it. If `TRUE`,
[property@Flap:reveal-flap] value never changes on its own.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="modal"
                deprecated="1"
                deprecated-version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_modal"
                getter="get_modal"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="1464">Whether the flap is modal.

If `TRUE`, clicking the content widget while flap is revealed, as well as
pressing the &lt;kbd&gt;Esc&lt;/kbd&gt; key, will close the flap. If `FALSE`, clicks
are passed through to the content widget.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="reveal-flap"
                deprecated="1"
                deprecated-version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_reveal_flap"
                getter="get_reveal_flap"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="1324">Whether the flap widget is revealed.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="reveal-params"
                deprecated="1"
                deprecated-version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_reveal_params"
                getter="get_reveal_params">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="1336">The reveal animation spring parameters.

The default value is equivalent to:

```c
adw_spring_params_new (1, 0.5, 500)
```</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
        <type name="SpringParams"/>
      </property>
      <property name="reveal-progress"
                deprecated="1"
                deprecated-version="1.4"
                transfer-ownership="none"
                getter="get_reveal_progress"
                default-value="1.000000">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="1354">The current reveal transition progress.

0 means fully hidden, 1 means fully revealed.

See [property@Flap:reveal-flap].</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="separator"
                deprecated="1"
                deprecated-version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_separator"
                getter="get_separator">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="1292">The separator widget.

It's displayed between content and flap when there's no shadow to display.
When exactly it's visible depends on the [property@Flap:transition-type]
value.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
        <type name="Gtk.Widget"/>
      </property>
      <property name="swipe-to-close"
                deprecated="1"
                deprecated-version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_swipe_to_close"
                getter="get_swipe_to_close"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="1495">Whether the flap can be closed with a swipe gesture.

The area that can be swiped depends on the [property@Flap:transition-type]
value.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="swipe-to-open"
                deprecated="1"
                deprecated-version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_swipe_to_open"
                getter="get_swipe_to_open"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="1480">Whether the flap can be opened with a swipe gesture.

The area that can be swiped depends on the [property@Flap:transition-type]
value.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="transition-type"
                deprecated="1"
                deprecated-version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_transition_type"
                getter="get_transition_type"
                default-value="ADW_FLAP_TRANSITION_TYPE_OVER">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="1446">the type of animation used for reveal and fold transitions.

[property@Flap:flap] is transparent by default, which means the content
will be seen through it with `ADW_FLAP_TRANSITION_TYPE_OVER` transitions;
add the [`.background`](style-classes.html#background) style class to it if
this is unwanted.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
        <type name="FlapTransitionType"/>
      </property>
    </class>
    <record name="FlapClass"
            c:type="AdwFlapClass"
            glib:is-gtype-struct-for="Flap">
      <source-position filename="src/adw-flap.h" line="25"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
    </record>
    <enumeration name="FlapFoldPolicy"
                 deprecated="1"
                 deprecated-version="1.4"
                 glib:type-name="AdwFlapFoldPolicy"
                 glib:get-type="adw_flap_fold_policy_get_type"
                 c:type="AdwFlapFoldPolicy">
      <doc xml:space="preserve"
           filename="src/adw-flap.c"
           line="86">Describes the possible folding behavior of a [class@Flap] widget.</doc>
      <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
      <member name="never"
              value="0"
              c:identifier="ADW_FLAP_FOLD_POLICY_NEVER"
              glib:nick="never"
              glib:name="ADW_FLAP_FOLD_POLICY_NEVER">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="88">Disable folding, the flap cannot reach narrow
  sizes.</doc>
      </member>
      <member name="always"
              value="1"
              c:identifier="ADW_FLAP_FOLD_POLICY_ALWAYS"
              glib:nick="always"
              glib:name="ADW_FLAP_FOLD_POLICY_ALWAYS">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="90">Keep the flap always folded.</doc>
      </member>
      <member name="auto"
              value="2"
              c:identifier="ADW_FLAP_FOLD_POLICY_AUTO"
              glib:nick="auto"
              glib:name="ADW_FLAP_FOLD_POLICY_AUTO">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="91">Fold and unfold the flap based on available
  space.</doc>
      </member>
    </enumeration>
    <enumeration name="FlapTransitionType"
                 deprecated="1"
                 deprecated-version="1.4"
                 glib:type-name="AdwFlapTransitionType"
                 glib:get-type="adw_flap_transition_type_get_type"
                 c:type="AdwFlapTransitionType">
      <doc xml:space="preserve"
           filename="src/adw-flap.c"
           line="99">Describes transitions types of a [class@Flap] widget.

It determines the type of animation when transitioning between children in a
[class@Flap] widget, as well as which areas can be swiped via
[property@Flap:swipe-to-open] and [property@Flap:swipe-to-close].</doc>
      <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwflap)</doc-deprecated>
      <member name="over"
              value="0"
              c:identifier="ADW_FLAP_TRANSITION_TYPE_OVER"
              glib:nick="over"
              glib:name="ADW_FLAP_TRANSITION_TYPE_OVER">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="101">The flap slides over the content, which is
  dimmed. When folded, only the flap can be swiped.</doc>
      </member>
      <member name="under"
              value="1"
              c:identifier="ADW_FLAP_TRANSITION_TYPE_UNDER"
              glib:nick="under"
              glib:name="ADW_FLAP_TRANSITION_TYPE_UNDER">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="103">The content slides over the flap. Only the
  content can be swiped.</doc>
      </member>
      <member name="slide"
              value="2"
              c:identifier="ADW_FLAP_TRANSITION_TYPE_SLIDE"
              glib:nick="slide"
              glib:name="ADW_FLAP_TRANSITION_TYPE_SLIDE">
        <doc xml:space="preserve"
             filename="src/adw-flap.c"
             line="105">The flap slides offscreen when hidden,
  neither the flap nor content overlap each other. Both widgets can be
  swiped.</doc>
      </member>
    </enumeration>
    <enumeration name="FoldThresholdPolicy"
                 deprecated="1"
                 deprecated-version="1.4"
                 glib:type-name="AdwFoldThresholdPolicy"
                 glib:get-type="adw_fold_threshold_policy_get_type"
                 c:type="AdwFoldThresholdPolicy">
      <doc xml:space="preserve"
           filename="src/adw-fold-threshold-policy.c"
           line="10">Determines when [class@Flap] and [class@Leaflet] will fold.</doc>
      <doc-deprecated xml:space="preserve">Stop using `AdwLeaflet` and `AdwFlap`</doc-deprecated>
      <member name="minimum"
              value="0"
              c:identifier="ADW_FOLD_THRESHOLD_POLICY_MINIMUM"
              glib:nick="minimum"
              glib:name="ADW_FOLD_THRESHOLD_POLICY_MINIMUM">
        <doc xml:space="preserve"
             filename="src/adw-fold-threshold-policy.c"
             line="12">Folding is based on the minimum size</doc>
      </member>
      <member name="natural"
              value="1"
              c:identifier="ADW_FOLD_THRESHOLD_POLICY_NATURAL"
              glib:nick="natural"
              glib:name="ADW_FOLD_THRESHOLD_POLICY_NATURAL">
        <doc xml:space="preserve"
             filename="src/adw-fold-threshold-policy.c"
             line="13">Folding is based on the natural size</doc>
      </member>
    </enumeration>
    <class name="HeaderBar"
           c:symbol-prefix="header_bar"
           c:type="AdwHeaderBar"
           parent="Gtk.Widget"
           final="1"
           glib:type-name="AdwHeaderBar"
           glib:get-type="adw_header_bar_get_type"
           glib:type-struct="HeaderBarClass">
      <doc xml:space="preserve"
           filename="src/adw-header-bar.c"
           line="40">A title bar widget.

&lt;picture&gt;
  &lt;source srcset="header-bar-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="header-bar.png" alt="header-bar"&gt;
&lt;/picture&gt;

`AdwHeaderBar` is similar to [class@Gtk.HeaderBar], but provides additional
features compared to it. Refer to `GtkHeaderBar` for details. It is typically
used as a top bar within [class@ToolbarView].

## Dialog Integration

When placed inside an [class@Dialog], `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
[property@HeaderBar:show-start-title-buttons] and
[property@HeaderBar:show-end-title-buttons] to `FALSE` to remove it if it's
unwanted.

## Navigation View Integration

When placed inside an [class@NavigationPage], `AdwHeaderBar` will display the
page title instead of window title.

When used together with [class@NavigationView] or [class@NavigationSplitView],
it will also display a back button that can be used to go back to the previous
page. The button also has a context menu, allowing to pop multiple pages at
once, potentially across multiple navigation views.

Set [property@HeaderBar:show-back-button] to `FALSE` to disable this behavior
in rare scenarios where it's unwanted.

## Split View Integration

When placed inside [class@NavigationSplitView] or [class@OverlaySplitView],
`AdwHeaderBar` will automatically hide the title buttons other than at the
edges of the window.

## Bottom Sheet Integration

When played inside [class@BottomSheet], `AdwHeaderBar` will not show the title
unless [property@BottomSheet:show-drag-handle] is set to `FALSE`, regardless
of [property@HeaderBar:show-title]. This only applies to the default title,
titles set with [property@HeaderBar:title-widget] will still be shown.

## Centering Policy

[property@HeaderBar:centering-policy] allows to enforce strict centering of
the title widget. This can be useful for entries inside [class@Clamp].

## Title Buttons

Unlike `GtkHeaderBar`, `AdwHeaderBar` allows to toggle title button
visibility for each side individually, using the
[property@HeaderBar:show-start-title-buttons] and
[property@HeaderBar:show-end-title-buttons] properties.

## CSS nodes

```
headerbar
╰── windowhandle
    ╰── box
        ├── widget
        │   ╰── box.start
        │       ├── windowcontrols.start
        │       ├── widget
        │       │   ╰── [button.back]
        │       ╰── [other children]
        ├── widget
        │   ╰── [Title Widget]
        ╰── widget
            ╰── box.end
                ├── [other children]
                ╰── windowcontrols.end
```

`AdwHeaderBar`'s CSS node is called `headerbar`. It contains a `windowhandle`
subnode, which contains a `box` subnode, which contains three `widget`
subnodes at the start, center and end of the header bar. The start and end
subnodes contain a `box` subnode with the `.start` and `.end` style classes
respectively, and the center node contains a node that represents the title.

Each of the boxes contains a `windowcontrols` subnode, see
[class@Gtk.WindowControls] for details, as well as other children.

When [property@HeaderBar:show-back-button] is `TRUE`, the start box also
contains a node with the name `widget` that contains a node with the name
`button` and `.back` style class.

## Accessibility

`AdwHeaderBar` uses the `GTK_ACCESSIBLE_ROLE_GROUP` role.</doc>
      <source-position filename="src/adw-header-bar.h" line="37"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <constructor name="new" c:identifier="adw_header_bar_new">
        <doc xml:space="preserve"
             filename="src/adw-header-bar.c"
             line="999">Creates a new `AdwHeaderBar`.</doc>
        <source-position filename="src/adw-header-bar.h" line="45"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-header-bar.c"
               line="1004">the newly created `AdwHeaderBar`.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="get_centering_policy"
              c:identifier="adw_header_bar_get_centering_policy"
              glib:get-property="centering-policy">
        <doc xml:space="preserve"
             filename="src/adw-header-bar.c"
             line="1361">Gets the policy for aligning the center widget.</doc>
        <source-position filename="src/adw-header-bar.h" line="88"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-header-bar.c"
               line="1367">the centering policy</doc>
          <type name="CenteringPolicy" c:type="AdwCenteringPolicy"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-header-bar.c"
                 line="1363">a header bar</doc>
            <type name="HeaderBar" c:type="AdwHeaderBar*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_decoration_layout"
              c:identifier="adw_header_bar_get_decoration_layout"
              glib:get-property="decoration-layout">
        <doc xml:space="preserve"
             filename="src/adw-header-bar.c"
             line="1313">Gets the decoration layout for @self.</doc>
        <source-position filename="src/adw-header-bar.h" line="82"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-header-bar.c"
               line="1319">the decoration layout</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-header-bar.c"
                 line="1315">a header bar</doc>
            <type name="HeaderBar" c:type="AdwHeaderBar*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_show_back_button"
              c:identifier="adw_header_bar_get_show_back_button"
              glib:get-property="show-back-button"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-header-bar.c"
             line="1256">Gets whether @self can show the back button.</doc>
        <source-position filename="src/adw-header-bar.h" line="76"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-header-bar.c"
               line="1262">whether to show the back button</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-header-bar.c"
                 line="1258">a header bar</doc>
            <type name="HeaderBar" c:type="AdwHeaderBar*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_show_end_title_buttons"
              c:identifier="adw_header_bar_get_show_end_title_buttons"
              glib:get-property="show-end-title-buttons">
        <doc xml:space="preserve"
             filename="src/adw-header-bar.c"
             line="1208">Gets whether to show title buttons at the end of @self.</doc>
        <source-position filename="src/adw-header-bar.h" line="70"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-header-bar.c"
               line="1214">`TRUE` if title buttons at the end are shown</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-header-bar.c"
                 line="1210">a header bar</doc>
            <type name="HeaderBar" c:type="AdwHeaderBar*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_show_start_title_buttons"
              c:identifier="adw_header_bar_get_show_start_title_buttons"
              glib:get-property="show-start-title-buttons">
        <doc xml:space="preserve"
             filename="src/adw-header-bar.c"
             line="1160">Gets whether to show title buttons at the start of @self.</doc>
        <source-position filename="src/adw-header-bar.h" line="64"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-header-bar.c"
               line="1166">`TRUE` if title buttons at the start are shown</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-header-bar.c"
                 line="1162">a header bar</doc>
            <type name="HeaderBar" c:type="AdwHeaderBar*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_show_title"
              c:identifier="adw_header_bar_get_show_title"
              glib:get-property="show-title"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-header-bar.c"
             line="1406">Gets whether the title widget should be shown.</doc>
        <source-position filename="src/adw-header-bar.h" line="94"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-header-bar.c"
               line="1412">whether the title widget should be shown.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-header-bar.c"
                 line="1408">a header bar</doc>
            <type name="HeaderBar" c:type="AdwHeaderBar*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_title_widget"
              c:identifier="adw_header_bar_get_title_widget"
              glib:get-property="title-widget">
        <doc xml:space="preserve"
             filename="src/adw-header-bar.c"
             line="1094">Gets the title widget widget of @self.</doc>
        <source-position filename="src/adw-header-bar.h" line="58"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-header-bar.c"
               line="1100">the title widget</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-header-bar.c"
                 line="1096">a header bar</doc>
            <type name="HeaderBar" c:type="AdwHeaderBar*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="pack_end" c:identifier="adw_header_bar_pack_end">
        <doc xml:space="preserve"
             filename="src/adw-header-bar.c"
             line="1035">Adds @child to @self, packed with reference to the end of @self.</doc>
        <source-position filename="src/adw-header-bar.h" line="51"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-header-bar.c"
                 line="1037">a header bar</doc>
            <type name="HeaderBar" c:type="AdwHeaderBar*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-header-bar.c"
                 line="1038">the widget to be added to @self</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="pack_start" c:identifier="adw_header_bar_pack_start">
        <doc xml:space="preserve"
             filename="src/adw-header-bar.c"
             line="1012">Adds @child to @self, packed with reference to the start of the @self.</doc>
        <source-position filename="src/adw-header-bar.h" line="48"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-header-bar.c"
                 line="1014">a header bar</doc>
            <type name="HeaderBar" c:type="AdwHeaderBar*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-header-bar.c"
                 line="1015">the widget to be added to @self</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove" c:identifier="adw_header_bar_remove">
        <doc xml:space="preserve"
             filename="src/adw-header-bar.c"
             line="1058">Removes a child from @self.

The child must have been added with [method@HeaderBar.pack_start],
[method@HeaderBar.pack_end] or [property@HeaderBar:title-widget].</doc>
        <source-position filename="src/adw-header-bar.h" line="54"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-header-bar.c"
                 line="1060">a header bar</doc>
            <type name="HeaderBar" c:type="AdwHeaderBar*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-header-bar.c"
                 line="1061">the child to remove</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_centering_policy"
              c:identifier="adw_header_bar_set_centering_policy"
              glib:set-property="centering-policy">
        <doc xml:space="preserve"
             filename="src/adw-header-bar.c"
             line="1377">Sets the policy for aligning the center widget.</doc>
        <source-position filename="src/adw-header-bar.h" line="90"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-header-bar.c"
                 line="1379">a header bar</doc>
            <type name="HeaderBar" c:type="AdwHeaderBar*"/>
          </instance-parameter>
          <parameter name="centering_policy" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-header-bar.c"
                 line="1380">the centering policy</doc>
            <type name="CenteringPolicy" c:type="AdwCenteringPolicy"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_decoration_layout"
              c:identifier="adw_header_bar_set_decoration_layout"
              glib:set-property="decoration-layout">
        <doc xml:space="preserve"
             filename="src/adw-header-bar.c"
             line="1329">Sets the decoration layout for @self.

If this property is not set, the
[property@Gtk.Settings:gtk-decoration-layout] setting is used.

The format of the string is button names, separated by commas. A colon
separates the buttons that should appear at the start from those at the end.
Recognized button names are minimize, maximize, close and icon (the window
icon).

For example, “icon:minimize,maximize,close” specifies an icon at the start,
and minimize, maximize and close buttons at the end.</doc>
        <source-position filename="src/adw-header-bar.h" line="84"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-header-bar.c"
                 line="1331">a header bar</doc>
            <type name="HeaderBar" c:type="AdwHeaderBar*"/>
          </instance-parameter>
          <parameter name="layout"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-header-bar.c"
                 line="1332">a decoration layout</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_show_back_button"
              c:identifier="adw_header_bar_set_show_back_button"
              glib:set-property="show-back-button"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-header-bar.c"
             line="1274">Sets whether @self can show the back button.

The back button will never be shown unless the header bar is placed inside an
[class@NavigationView]. Usually, there is no reason to set it to `FALSE`.</doc>
        <source-position filename="src/adw-header-bar.h" line="78"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-header-bar.c"
                 line="1276">a header bar</doc>
            <type name="HeaderBar" c:type="AdwHeaderBar*"/>
          </instance-parameter>
          <parameter name="show_back_button" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-header-bar.c"
                 line="1277">whether to show the back button</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_show_end_title_buttons"
              c:identifier="adw_header_bar_set_show_end_title_buttons"
              glib:set-property="show-end-title-buttons">
        <doc xml:space="preserve"
             filename="src/adw-header-bar.c"
             line="1224">Sets whether to show title buttons at the end of @self.

See [property@HeaderBar:show-start-title-buttons] for the other side.

Which buttons are actually shown and where is determined by the
[property@HeaderBar:decoration-layout] property, and by the state of the
window (e.g. a close button will not be shown if the window can't be closed).</doc>
        <source-position filename="src/adw-header-bar.h" line="72"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-header-bar.c"
                 line="1226">a header bar</doc>
            <type name="HeaderBar" c:type="AdwHeaderBar*"/>
          </instance-parameter>
          <parameter name="setting" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-header-bar.c"
                 line="1227">`TRUE` to show standard title buttons</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_show_start_title_buttons"
              c:identifier="adw_header_bar_set_show_start_title_buttons"
              glib:set-property="show-start-title-buttons">
        <doc xml:space="preserve"
             filename="src/adw-header-bar.c"
             line="1176">Sets whether to show title buttons at the start of @self.

See [property@HeaderBar:show-end-title-buttons] for the other side.

Which buttons are actually shown and where is determined by the
[property@HeaderBar:decoration-layout] property, and by the state of the
window (e.g. a close button will not be shown if the window can't be closed).</doc>
        <source-position filename="src/adw-header-bar.h" line="66"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-header-bar.c"
                 line="1178">a header bar</doc>
            <type name="HeaderBar" c:type="AdwHeaderBar*"/>
          </instance-parameter>
          <parameter name="setting" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-header-bar.c"
                 line="1179">`TRUE` to show standard title buttons</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_show_title"
              c:identifier="adw_header_bar_set_show_title"
              glib:set-property="show-title"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-header-bar.c"
             line="1424">Sets whether the title widget should be shown.</doc>
        <source-position filename="src/adw-header-bar.h" line="96"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-header-bar.c"
                 line="1426">a header bar</doc>
            <type name="HeaderBar" c:type="AdwHeaderBar*"/>
          </instance-parameter>
          <parameter name="show_title" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-header-bar.c"
                 line="1427">whether the title widget is visible</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_title_widget"
              c:identifier="adw_header_bar_set_title_widget"
              glib:set-property="title-widget">
        <doc xml:space="preserve"
             filename="src/adw-header-bar.c"
             line="1110">Sets the title widget for @self.

When set to `NULL`, the header bar will display the title of the window it
is contained in.

To use a different title, use [class@WindowTitle]:

```xml
&lt;object class="AdwHeaderBar"&gt;
  &lt;property name="title-widget"&gt;
    &lt;object class="AdwWindowTitle"&gt;
      &lt;property name="title" translatable="yes"&gt;Title&lt;/property&gt;
    &lt;/object&gt;
  &lt;/property&gt;
&lt;/object&gt;
```</doc>
        <source-position filename="src/adw-header-bar.h" line="60"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-header-bar.c"
                 line="1112">a header bar</doc>
            <type name="HeaderBar" c:type="AdwHeaderBar*"/>
          </instance-parameter>
          <parameter name="title_widget"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-header-bar.c"
                 line="1113">a widget to use for a title</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <property name="centering-policy"
                writable="1"
                transfer-ownership="none"
                setter="set_centering_policy"
                getter="get_centering_policy"
                default-value="ADW_CENTERING_POLICY_LOOSE">
        <doc xml:space="preserve"
             filename="src/adw-header-bar.c"
             line="896">The policy for aligning the center widget.</doc>
        <type name="CenteringPolicy"/>
      </property>
      <property name="decoration-layout"
                writable="1"
                transfer-ownership="none"
                setter="set_decoration_layout"
                getter="get_decoration_layout"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/adw-header-bar.c"
             line="875">The decoration layout for buttons.

If this property is not set, the
[property@Gtk.Settings:gtk-decoration-layout] setting is used.

The format of the string is button names, separated by commas. A colon
separates the buttons that should appear at the start from those at the
end. Recognized button names are minimize, maximize, close and icon (the
window icon).

For example, “icon:minimize,maximize,close” specifies an icon at the start,
and minimize, maximize and close buttons at the end.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="show-back-button"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_show_back_button"
                getter="get_show_back_button"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-header-bar.c"
             line="860">Whether the header bar can show the back button.

The back button will never be shown unless the header bar is placed inside an
[class@NavigationView]. Usually, there is no reason to set this to `FALSE`.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="show-end-title-buttons"
                writable="1"
                transfer-ownership="none"
                setter="set_show_end_title_buttons"
                getter="get_show_end_title_buttons"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-header-bar.c"
             line="843">Whether to show title buttons at the end of the header bar.

See [property@HeaderBar:show-start-title-buttons] for the other side.

Which buttons are actually shown and where is determined by the
[property@HeaderBar:decoration-layout] property, and by the state of the
window (e.g. a close button will not be shown if the window can't be
closed).</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="show-start-title-buttons"
                writable="1"
                transfer-ownership="none"
                setter="set_show_start_title_buttons"
                getter="get_show_start_title_buttons"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-header-bar.c"
             line="826">Whether to show title buttons at the start of the header bar.

See [property@HeaderBar:show-end-title-buttons] for the other side.

Which buttons are actually shown and where is determined by the
[property@HeaderBar:decoration-layout] property, and by the state of the
window (e.g. a close button will not be shown if the window can't be
closed).</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="show-title"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_show_title"
                getter="get_show_title"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-header-bar.c"
             line="907">Whether the title widget should be shown.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="title-widget"
                writable="1"
                transfer-ownership="none"
                setter="set_title_widget"
                getter="get_title_widget">
        <doc xml:space="preserve"
             filename="src/adw-header-bar.c"
             line="801">The title widget to display.

When set to `NULL`, the header bar will display the title of the window it
is contained in.

To use a different title, use [class@WindowTitle]:

```xml
&lt;object class="AdwHeaderBar"&gt;
  &lt;property name="title-widget"&gt;
    &lt;object class="AdwWindowTitle"&gt;
      &lt;property name="title" translatable="yes"&gt;Title&lt;/property&gt;
    &lt;/object&gt;
  &lt;/property&gt;
&lt;/object&gt;
```</doc>
        <type name="Gtk.Widget"/>
      </property>
    </class>
    <record name="HeaderBarClass"
            c:type="AdwHeaderBarClass"
            glib:is-gtype-struct-for="HeaderBar">
      <source-position filename="src/adw-header-bar.h" line="37"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
    </record>
    <class name="InlineViewSwitcher"
           c:symbol-prefix="inline_view_switcher"
           c:type="AdwInlineViewSwitcher"
           version="1.7"
           parent="Gtk.Widget"
           final="1"
           glib:type-name="AdwInlineViewSwitcher"
           glib:get-type="adw_inline_view_switcher_get_type"
           glib:type-struct="InlineViewSwitcherClass">
      <doc xml:space="preserve"
           filename="src/adw-inline-view-switcher.c"
           line="33">A view switcher that uses a toggle group.

&lt;picture&gt;
  &lt;source srcset="inline-view-switcher-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="inline-view-switcher.png" alt="inline-view-switcher"&gt;
&lt;/picture&gt;

A view switcher showing pages of an [class@ViewStack] within an
[class@ToggleGroup], similar to [class@ViewSwitcher].

The toggles can display either an icon, a label or both. Use the
[property@InlineViewSwitcher:display-mode] to control this.

&lt;picture&gt;
  &lt;source srcset="inline-view-switcher-display-modes-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="inline-view-switcher-display-modes.png" alt="inline-view-switcher-display-modes"&gt;
&lt;/picture&gt;

## CSS nodes

`AdwInlineViewSwitcher` has a single CSS node with the name
`inline-view-switcher`.

## Style classes

Like `AdwToggleGroup`, it can accept the [`.flat`](style-classes.html#flat_1)
and [`.round`](style-classes.html#round) style classes.

&lt;picture&gt;
  &lt;source srcset="inline-view-switcher-style-classes-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="inline-view-switcher-style-classes.png" alt="inline-view-switcher-style-classes"&gt;
&lt;/picture&gt;

## Accessibility

The internal toggle group uses the `GTK_ACCESSIBLE_ROLE_TAB_LIST` role. Its
toggles use the `GTK_ACCESSIBLE_ROLE_TAB` role.</doc>
      <source-position filename="src/adw-inline-view-switcher.h" line="32"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new"
                   c:identifier="adw_inline_view_switcher_new"
                   version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-inline-view-switcher.c"
             line="728">Creates a new `AdwInlineViewSwitcher`.</doc>
        <source-position filename="src/adw-inline-view-switcher.h" line="35"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-inline-view-switcher.c"
               line="733">the newly created `AdwInlineViewSwitcher`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="get_can_shrink"
              c:identifier="adw_inline_view_switcher_get_can_shrink"
              glib:get-property="can-shrink"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-inline-view-switcher.c"
             line="913">Gets whether the toggles can be smaller than the natural size of their
contents.</doc>
        <source-position filename="src/adw-inline-view-switcher.h" line="56"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-inline-view-switcher.c"
               line="920">whether the toggles can shrink</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-inline-view-switcher.c"
                 line="915">an inline stack switcher</doc>
            <type name="InlineViewSwitcher" c:type="AdwInlineViewSwitcher*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_display_mode"
              c:identifier="adw_inline_view_switcher_get_display_mode"
              glib:get-property="display-mode"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-inline-view-switcher.c"
             line="786">Gets the display mode of @self.</doc>
        <source-position filename="src/adw-inline-view-switcher.h" line="44"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-inline-view-switcher.c"
               line="792">the display mode</doc>
          <type name="InlineViewSwitcherDisplayMode"
                c:type="AdwInlineViewSwitcherDisplayMode"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-inline-view-switcher.c"
                 line="788">an inline stack switcher</doc>
            <type name="InlineViewSwitcher" c:type="AdwInlineViewSwitcher*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_homogeneous"
              c:identifier="adw_inline_view_switcher_get_homogeneous"
              glib:get-property="homogeneous"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-inline-view-switcher.c"
             line="869">Gets whether all toggles within @self take the same size.</doc>
        <source-position filename="src/adw-inline-view-switcher.h" line="50"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-inline-view-switcher.c"
               line="875">whether all toggles take the same size</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-inline-view-switcher.c"
                 line="871">an inline stack switcher</doc>
            <type name="InlineViewSwitcher" c:type="AdwInlineViewSwitcher*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_stack"
              c:identifier="adw_inline_view_switcher_get_stack"
              glib:get-property="stack"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-inline-view-switcher.c"
             line="743">Gets the stack @self controls.</doc>
        <source-position filename="src/adw-inline-view-switcher.h" line="38"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-inline-view-switcher.c"
               line="749">The stack of @self</doc>
          <type name="ViewStack" c:type="AdwViewStack*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-inline-view-switcher.c"
                 line="745">an inline stack switcher</doc>
            <type name="InlineViewSwitcher" c:type="AdwInlineViewSwitcher*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_can_shrink"
              c:identifier="adw_inline_view_switcher_set_can_shrink"
              glib:set-property="can-shrink"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-inline-view-switcher.c"
             line="932">Sets whether the toggles can be smaller than the natural size of their
contents.

If @can_shrink is `TRUE`, the toggle labels will ellipsize.

See [property@ToggleGroup:can-shrink].</doc>
        <source-position filename="src/adw-inline-view-switcher.h" line="58"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-inline-view-switcher.c"
                 line="934">an inline stack switcher</doc>
            <type name="InlineViewSwitcher" c:type="AdwInlineViewSwitcher*"/>
          </instance-parameter>
          <parameter name="can_shrink" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-inline-view-switcher.c"
                 line="935">whether the toggles can shrink</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_display_mode"
              c:identifier="adw_inline_view_switcher_set_display_mode"
              glib:set-property="display-mode"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-inline-view-switcher.c"
             line="804">Sets the display mode of @self.

Determines what the toggles display: a label, an icon or both.

&lt;picture&gt;
  &lt;source srcset="inline-view-switcher-display-modes-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="inline-view-switcher-display-modes.png" alt="inline-view-switcher-display-modes"&gt;
&lt;/picture&gt;</doc>
        <source-position filename="src/adw-inline-view-switcher.h" line="46"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-inline-view-switcher.c"
                 line="806">an inline stack switcher</doc>
            <type name="InlineViewSwitcher" c:type="AdwInlineViewSwitcher*"/>
          </instance-parameter>
          <parameter name="mode" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-inline-view-switcher.c"
                 line="807">the display mode</doc>
            <type name="InlineViewSwitcherDisplayMode"
                  c:type="AdwInlineViewSwitcherDisplayMode"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_homogeneous"
              c:identifier="adw_inline_view_switcher_set_homogeneous"
              glib:set-property="homogeneous"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-inline-view-switcher.c"
             line="887">Sets whether all toggles within @self take the same size.</doc>
        <source-position filename="src/adw-inline-view-switcher.h" line="52"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-inline-view-switcher.c"
                 line="889">an inline stack switcher</doc>
            <type name="InlineViewSwitcher" c:type="AdwInlineViewSwitcher*"/>
          </instance-parameter>
          <parameter name="homogeneous" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-inline-view-switcher.c"
                 line="890">whether all toggles should take the same size</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_stack"
              c:identifier="adw_inline_view_switcher_set_stack"
              glib:set-property="stack"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-inline-view-switcher.c"
             line="761">Sets the stack to control.</doc>
        <source-position filename="src/adw-inline-view-switcher.h" line="40"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-inline-view-switcher.c"
                 line="763">an inline stack switcher</doc>
            <type name="InlineViewSwitcher" c:type="AdwInlineViewSwitcher*"/>
          </instance-parameter>
          <parameter name="stack"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-inline-view-switcher.c"
                 line="764">a stack</doc>
            <type name="ViewStack" c:type="AdwViewStack*"/>
          </parameter>
        </parameters>
      </method>
      <property name="can-shrink"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_can_shrink"
                getter="get_can_shrink"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-inline-view-switcher.c"
             line="682">Whether the toggles can be smaller than the natural size of their contents.

If set to `TRUE`, the toggle labels will ellipsize.

See [property@ToggleGroup:can-shrink].</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="display-mode"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_display_mode"
                getter="get_display_mode"
                default-value="ADW_INLINE_VIEW_SWITCHER_LABELS">
        <doc xml:space="preserve"
             filename="src/adw-inline-view-switcher.c"
             line="650">The display mode.

Determines what the toggles display: a label, an icon or both.

&lt;picture&gt;
  &lt;source srcset="inline-view-switcher-display-modes-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="inline-view-switcher-display-modes.png" alt="inline-view-switcher-display-modes"&gt;
&lt;/picture&gt;</doc>
        <type name="InlineViewSwitcherDisplayMode"/>
      </property>
      <property name="homogeneous"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_homogeneous"
                getter="get_homogeneous"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-inline-view-switcher.c"
             line="670">Whether all toggles take the same size.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="stack"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_stack"
                getter="get_stack">
        <doc xml:space="preserve"
             filename="src/adw-inline-view-switcher.c"
             line="638">The stack the view switcher controls.</doc>
        <type name="ViewStack"/>
      </property>
    </class>
    <record name="InlineViewSwitcherClass"
            c:type="AdwInlineViewSwitcherClass"
            glib:is-gtype-struct-for="InlineViewSwitcher">
      <source-position filename="src/adw-inline-view-switcher.h" line="32"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
    </record>
    <enumeration name="InlineViewSwitcherDisplayMode"
                 version="1.7"
                 glib:type-name="AdwInlineViewSwitcherDisplayMode"
                 glib:get-type="adw_inline_view_switcher_display_mode_get_type"
                 c:type="AdwInlineViewSwitcherDisplayMode">
      <doc xml:space="preserve"
           filename="src/adw-inline-view-switcher.c"
           line="17">Describes what [class@InlineViewSwitcher] toggles display.

&lt;picture&gt;
  &lt;source srcset="inline-view-switcher-display-modes-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="inline-view-switcher-display-modes.png" alt="inline-view-switcher-display-modes"&gt;
&lt;/picture&gt;</doc>
      <member name="labels"
              value="0"
              c:identifier="ADW_INLINE_VIEW_SWITCHER_LABELS"
              glib:nick="labels"
              glib:name="ADW_INLINE_VIEW_SWITCHER_LABELS">
        <doc xml:space="preserve"
             filename="src/adw-inline-view-switcher.c"
             line="19">Toggles only display labels.</doc>
      </member>
      <member name="icons"
              value="1"
              c:identifier="ADW_INLINE_VIEW_SWITCHER_ICONS"
              glib:nick="icons"
              glib:name="ADW_INLINE_VIEW_SWITCHER_ICONS">
        <doc xml:space="preserve"
             filename="src/adw-inline-view-switcher.c"
             line="20">Toggles only display icons.</doc>
      </member>
      <member name="both"
              value="2"
              c:identifier="ADW_INLINE_VIEW_SWITCHER_BOTH"
              glib:nick="both"
              glib:name="ADW_INLINE_VIEW_SWITCHER_BOTH">
        <doc xml:space="preserve"
             filename="src/adw-inline-view-switcher.c"
             line="21">Toggles display both icons and labels.</doc>
      </member>
    </enumeration>
    <enumeration name="JustifyMode"
                 version="1.7"
                 glib:type-name="AdwJustifyMode"
                 glib:get-type="adw_justify_mode_get_type"
                 c:type="AdwJustifyMode">
      <doc xml:space="preserve"
           filename="src/adw-wrap-layout.c"
           line="74">Describes line justify behaviors in a [class@WrapLayout] or [class@WrapBox].

See [property@WrapLayout:justify] and [property@WrapBox:justify].</doc>
      <member name="none"
              value="0"
              c:identifier="ADW_JUSTIFY_NONE"
              glib:nick="none"
              glib:name="ADW_JUSTIFY_NONE">
        <doc xml:space="preserve"
             filename="src/adw-wrap-layout.c"
             line="76">Don't justify children within a line.</doc>
      </member>
      <member name="fill"
              value="1"
              c:identifier="ADW_JUSTIFY_FILL"
              glib:nick="fill"
              glib:name="ADW_JUSTIFY_FILL">
        <doc xml:space="preserve"
             filename="src/adw-wrap-layout.c"
             line="77">Stretch each child within the line, keeping consistent
    spacing, so that the line fills the entire length.</doc>
      </member>
      <member name="spread"
              value="2"
              c:identifier="ADW_JUSTIFY_SPREAD"
              glib:nick="spread"
              glib:name="ADW_JUSTIFY_SPREAD">
        <doc xml:space="preserve"
             filename="src/adw-wrap-layout.c"
             line="79">Increase spacing between children, moving the children
    so that the first and last child are aligned with the beginning and end
    of the line. If the line only contains a single widget, it will be
    stretched regardless.</doc>
      </member>
    </enumeration>
    <class name="Layout"
           c:symbol-prefix="layout"
           c:type="AdwLayout"
           version="1.6"
           parent="GObject.Object"
           final="1"
           glib:type-name="AdwLayout"
           glib:get-type="adw_layout_get_type"
           glib:type-struct="LayoutClass">
      <doc xml:space="preserve"
           filename="src/adw-layout.c"
           line="15">An individual layout in [class@MultiLayoutView].</doc>
      <source-position filename="src/adw-layout.h" line="25"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="adw_layout_new" version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-layout.c"
             line="185">Creates a new `AdwLayout` that contains @content.</doc>
        <source-position filename="src/adw-layout.h" line="28"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/adw-layout.c"
               line="191">a new `AdwLayout`</doc>
          <type name="Layout" c:type="AdwLayout*"/>
        </return-value>
        <parameters>
          <parameter name="content" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-layout.c"
                 line="187">the content widget to use</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_content"
              c:identifier="adw_layout_get_content"
              glib:get-property="content"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-layout.c"
             line="203">Gets the content widget.</doc>
        <source-position filename="src/adw-layout.h" line="31"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-layout.c"
               line="209">The content</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-layout.c"
                 line="205">a layout</doc>
            <type name="Layout" c:type="AdwLayout*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name"
              c:identifier="adw_layout_get_name"
              glib:get-property="name"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-layout.c"
             line="221">Gets the name of the layout.</doc>
        <source-position filename="src/adw-layout.h" line="34"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-layout.c"
               line="227">the name of the layout</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-layout.c"
                 line="223">a layout</doc>
            <type name="Layout" c:type="AdwLayout*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_name"
              c:identifier="adw_layout_set_name"
              glib:set-property="name"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-layout.c"
             line="239">Sets the name of the layout.</doc>
        <source-position filename="src/adw-layout.h" line="36"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-layout.c"
                 line="241">a layout</doc>
            <type name="Layout" c:type="AdwLayout*"/>
          </instance-parameter>
          <parameter name="name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-layout.c"
                 line="242">the layout name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <property name="content"
                version="1.6"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_content">
        <doc xml:space="preserve"
             filename="src/adw-layout.c"
             line="133">The content widget.</doc>
        <type name="Gtk.Widget"/>
      </property>
      <property name="name"
                version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_name"
                getter="get_name"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/adw-layout.c"
             line="145">The name of the layout.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
    </class>
    <record name="LayoutClass"
            c:type="AdwLayoutClass"
            glib:is-gtype-struct-for="Layout">
      <source-position filename="src/adw-layout.h" line="25"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="LayoutSlot"
           c:symbol-prefix="layout_slot"
           c:type="AdwLayoutSlot"
           version="1.6"
           parent="Gtk.Widget"
           final="1"
           glib:type-name="AdwLayoutSlot"
           glib:get-type="adw_layout_slot_get_type"
           glib:type-struct="LayoutSlotClass">
      <doc xml:space="preserve"
           filename="src/adw-layout-slot.c"
           line="17">A child slot within [class@Layout].

While it contains a layout child, the [property@Gtk.Widget:visible] property
of the slot is updated to match that of the layout child.

See [class@MultiLayoutView].</doc>
      <source-position filename="src/adw-layout-slot.h" line="25"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <constructor name="new" c:identifier="adw_layout_slot_new" version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-layout-slot.c"
             line="143">Creates a new `AdwLayoutSlot` with its ID set to @id.</doc>
        <source-position filename="src/adw-layout-slot.h" line="28"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-layout-slot.c"
               line="149">a new `AdwLayoutSlot`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-layout-slot.c"
                 line="145">the slot ID</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_slot_id"
              c:identifier="adw_layout_slot_get_slot_id"
              glib:get-property="id"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-layout-slot.c"
             line="161">Gets the slot id of @self.</doc>
        <source-position filename="src/adw-layout-slot.h" line="31"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-layout-slot.c"
               line="167">the slot ID</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-layout-slot.c"
                 line="163">a layout slot</doc>
            <type name="LayoutSlot" c:type="AdwLayoutSlot*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="id"
                version="1.6"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_slot_id"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/adw-layout-slot.c"
             line="121">The slot ID.

See [method@MultiLayoutView.set_child].</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
    </class>
    <record name="LayoutSlotClass"
            c:type="AdwLayoutSlotClass"
            glib:is-gtype-struct-for="LayoutSlot">
      <source-position filename="src/adw-layout-slot.h" line="25"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
    </record>
    <class name="Leaflet"
           c:symbol-prefix="leaflet"
           c:type="AdwLeaflet"
           deprecated="1"
           deprecated-version="1.4"
           parent="Gtk.Widget"
           final="1"
           glib:type-name="AdwLeaflet"
           glib:get-type="adw_leaflet_get_type"
           glib:type-struct="LeafletClass">
      <doc xml:space="preserve"
           filename="src/adw-leaflet.c"
           line="21">An adaptive container acting like a box or a stack.

&lt;picture&gt;
  &lt;source srcset="leaflet-wide-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="leaflet-wide.png" alt="leaflet-wide"&gt;
&lt;/picture&gt;
&lt;picture&gt;
  &lt;source srcset="leaflet-narrow-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="leaflet-narrow.png" alt="leaflet-narrow"&gt;
&lt;/picture&gt;

The `AdwLeaflet` widget can display its children like a [class@Gtk.Box] does
or like a [class@Gtk.Stack] does, adapting to size changes by switching
between the two modes.

When there is enough space the children are displayed side by side, otherwise
only one is displayed and the leaflet is said to be “folded”.
The threshold is dictated by the preferred minimum sizes of the children.
When a leaflet is folded, the children can be navigated using swipe gestures.

The “over” and “under” transition types stack the children one on top of the
other, while the “slide” transition puts the children side by side. While
navigating to a child on the side or below can be performed by swiping the
current child away, navigating to an upper child requires dragging it from
the edge where it resides. This doesn't affect non-dragging swipes.

## CSS nodes

`AdwLeaflet` has a single CSS node with name `leaflet`. The node will get the
style classes `.folded` when it is folded, `.unfolded` when it's not, or none
if it hasn't computed its fold yet.</doc>
      <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
      <source-position filename="src/adw-leaflet.h" line="46"/>
      <implements name="Swipeable"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new"
                   c:identifier="adw_leaflet_new"
                   deprecated="1"
                   deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="2803">Creates a new `AdwLeaflet`.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <source-position filename="src/adw-leaflet.h" line="55"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-leaflet.c"
               line="2808">the new created `AdwLeaflet`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="append"
              c:identifier="adw_leaflet_append"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="2818">Adds a child to @self.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <source-position filename="src/adw-leaflet.h" line="58"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-leaflet.c"
               line="2825">the [class@LeafletPage] for @child</doc>
          <type name="LeafletPage" c:type="AdwLeafletPage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="2820">a leaflet</doc>
            <type name="Leaflet" c:type="AdwLeaflet*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="2821">the widget to add</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_adjacent_child"
              c:identifier="adw_leaflet_get_adjacent_child"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="3593">Finds the previous or next navigatable child.

This will be the same child [method@Leaflet.navigate] or swipe gestures will
navigate to.

If there's no child to navigate to, `NULL` will be returned instead.

See [property@LeafletPage:navigatable].</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <source-position filename="src/adw-leaflet.h" line="148"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-leaflet.c"
               line="3607">the previous or next child</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="3595">a leaflet</doc>
            <type name="Leaflet" c:type="AdwLeaflet*"/>
          </instance-parameter>
          <parameter name="direction" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="3596">the direction</doc>
            <type name="NavigationDirection" c:type="AdwNavigationDirection"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_can_navigate_back"
              c:identifier="adw_leaflet_get_can_navigate_back"
              glib:get-property="can-navigate-back"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="3473">Gets whether gestures and shortcuts for navigating backward are enabled.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <source-position filename="src/adw-leaflet.h" line="136"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-leaflet.c"
               line="3479">Whether gestures and shortcuts are enabled.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="3475">a leaflet</doc>
            <type name="Leaflet" c:type="AdwLeaflet*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_can_navigate_forward"
              c:identifier="adw_leaflet_get_can_navigate_forward"
              glib:get-property="can-navigate-forward"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="3533">Gets whether gestures and shortcuts for navigating forward are enabled.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <source-position filename="src/adw-leaflet.h" line="142"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-leaflet.c"
               line="3539">Whether gestures and shortcuts are enabled.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="3535">a leaflet</doc>
            <type name="Leaflet" c:type="AdwLeaflet*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_can_unfold"
              c:identifier="adw_leaflet_get_can_unfold"
              glib:get-property="can-unfold"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="3059">Gets whether @self can unfold.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <source-position filename="src/adw-leaflet.h" line="82"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-leaflet.c"
               line="3065">whether @self can unfold</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="3061">a leaflet</doc>
            <type name="Leaflet" c:type="AdwLeaflet*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_child_by_name"
              c:identifier="adw_leaflet_get_child_by_name"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="3661">Finds the child of @self with @name.

Returns `NULL` if there is no child with this name.

See [property@LeafletPage:name].</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <source-position filename="src/adw-leaflet.h" line="155"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-leaflet.c"
               line="3672">the requested child of @self</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="3663">a leaflet</doc>
            <type name="Leaflet" c:type="AdwLeaflet*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="3664">the name of the child to find</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_child_transition_params"
              c:identifier="adw_leaflet_get_child_transition_params"
              glib:get-property="child-transition-params"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="3406">Gets the child transition spring parameters for @self.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <source-position filename="src/adw-leaflet.h" line="127"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/adw-leaflet.c"
               line="3412">the child transition parameters</doc>
          <type name="SpringParams" c:type="AdwSpringParams*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="3408">a leaflet</doc>
            <type name="Leaflet" c:type="AdwLeaflet*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_child_transition_running"
              c:identifier="adw_leaflet_get_child_transition_running"
              glib:get-property="child-transition-running"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="3455">Gets whether a child transition is currently running for @self.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <source-position filename="src/adw-leaflet.h" line="133"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-leaflet.c"
               line="3461">whether a transition is currently running</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="3457">a leaflet</doc>
            <type name="Leaflet" c:type="AdwLeaflet*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_fold_threshold_policy"
              c:identifier="adw_leaflet_get_fold_threshold_policy"
              glib:get-property="fold-threshold-policy"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="3099">Gets the fold threshold policy for @self.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <source-position filename="src/adw-leaflet.h" line="91"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-leaflet.c"
               line="3105">the fold threshold policy</doc>
          <type name="FoldThresholdPolicy" c:type="AdwFoldThresholdPolicy"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="3101">a leaflet</doc>
            <type name="Leaflet" c:type="AdwLeaflet*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_folded"
              c:identifier="adw_leaflet_get_folded"
              glib:get-property="folded"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="3077">Gets whether @self is folded.

The leaflet will be folded if the size allocated to it is smaller than the
sum of the minimum or natural sizes of the children (see
[property@Leaflet:fold-threshold-policy]), it will be unfolded otherwise.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <source-position filename="src/adw-leaflet.h" line="88"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-leaflet.c"
               line="3087">whether @self is folded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="3079">a leaflet</doc>
            <type name="Leaflet" c:type="AdwLeaflet*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_homogeneous"
              c:identifier="adw_leaflet_get_homogeneous"
              glib:get-property="homogeneous"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="3151">Gets whether @self is homogeneous.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <source-position filename="src/adw-leaflet.h" line="97"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-leaflet.c"
               line="3157">whether @self is homogeneous</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="3153">a leaflet</doc>
            <type name="Leaflet" c:type="AdwLeaflet*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_mode_transition_duration"
              c:identifier="adw_leaflet_get_mode_transition_duration"
              glib:get-property="mode-transition-duration"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="3361">Gets the mode transition animation duration for @self.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <source-position filename="src/adw-leaflet.h" line="121"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-leaflet.c"
               line="3367">the mode transition duration, in milliseconds.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="3363">a leaflet</doc>
            <type name="Leaflet" c:type="AdwLeaflet*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_page"
              c:identifier="adw_leaflet_get_page"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="3011">Returns the [class@LeafletPage] object for @child.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <source-position filename="src/adw-leaflet.h" line="78"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-leaflet.c"
               line="3018">the page object for @child</doc>
          <type name="LeafletPage" c:type="AdwLeafletPage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="3013">a leaflet</doc>
            <type name="Leaflet" c:type="AdwLeaflet*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="3014">a child of @self</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_pages"
              c:identifier="adw_leaflet_get_pages"
              glib:get-property="pages"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="3690">Returns a [iface@Gio.ListModel] that contains the pages of the leaflet.

This can be used to keep an up-to-date view. The model also implements
[iface@Gtk.SelectionModel] and can be used to track and change the visible
page.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <source-position filename="src/adw-leaflet.h" line="159"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/adw-leaflet.c"
               line="3700">a `GtkSelectionModel` for the leaflet's children</doc>
          <type name="Gtk.SelectionModel" c:type="GtkSelectionModel*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="3692">a leaflet</doc>
            <type name="Leaflet" c:type="AdwLeaflet*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_transition_type"
              c:identifier="adw_leaflet_get_transition_type"
              glib:get-property="transition-type"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="3303">Gets the type of animation used for transitions between modes and children.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <source-position filename="src/adw-leaflet.h" line="115"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-leaflet.c"
               line="3309">the current transition type of @self</doc>
          <type name="LeafletTransitionType"
                c:type="AdwLeafletTransitionType"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="3305">a leaflet</doc>
            <type name="Leaflet" c:type="AdwLeaflet*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_visible_child"
              c:identifier="adw_leaflet_get_visible_child"
              glib:get-property="visible-child"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="3199">Gets the widget currently visible when the leaflet is folded.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <source-position filename="src/adw-leaflet.h" line="103"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-leaflet.c"
               line="3205">the visible child</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="3201">a leaflet</doc>
            <type name="Leaflet" c:type="AdwLeaflet*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_visible_child_name"
              c:identifier="adw_leaflet_get_visible_child_name"
              glib:get-property="visible-child-name"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="3253">Gets the name of the currently visible child widget.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <source-position filename="src/adw-leaflet.h" line="109"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-leaflet.c"
               line="3259">the name of the visible child</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="3255">a leaflet</doc>
            <type name="Leaflet" c:type="AdwLeaflet*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="insert_child_after"
              c:identifier="adw_leaflet_insert_child_after"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="2869">Inserts @child in the position after @sibling in the list of children.

If @sibling is `NULL`, inserts @child at the first position.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <source-position filename="src/adw-leaflet.h" line="65"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-leaflet.c"
               line="2879">the [class@LeafletPage] for @child</doc>
          <type name="LeafletPage" c:type="AdwLeafletPage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="2871">a leaflet</doc>
            <type name="Leaflet" c:type="AdwLeaflet*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="2872">the widget to insert</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="sibling"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="2873">the sibling after which to insert @child</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="navigate"
              c:identifier="adw_leaflet_navigate"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="3624">Navigates to the previous or next child.

The child must have the [property@LeafletPage:navigatable] property set to
`TRUE`, otherwise it will be skipped.

This will be the same child as returned by
[method@Leaflet.get_adjacent_child] or navigated to via swipe gestures.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <source-position filename="src/adw-leaflet.h" line="151"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-leaflet.c"
               line="3637">whether the visible child was changed</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="3626">a leaflet</doc>
            <type name="Leaflet" c:type="AdwLeaflet*"/>
          </instance-parameter>
          <parameter name="direction" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="3627">the direction</doc>
            <type name="NavigationDirection" c:type="AdwNavigationDirection"/>
          </parameter>
        </parameters>
      </method>
      <method name="prepend"
              c:identifier="adw_leaflet_prepend"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="2847">Inserts @child at the first position in @self.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <source-position filename="src/adw-leaflet.h" line="61"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-leaflet.c"
               line="2854">the [class@LeafletPage] for @child</doc>
          <type name="LeafletPage" c:type="AdwLeafletPage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="2849">a leaflet</doc>
            <type name="Leaflet" c:type="AdwLeaflet*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="2850">the widget to prepend</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove"
              c:identifier="adw_leaflet_remove"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="2978">Removes a child widget from @self.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <source-position filename="src/adw-leaflet.h" line="74"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="2980">a leaflet</doc>
            <type name="Leaflet" c:type="AdwLeaflet*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="2981">the child to remove</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="reorder_child_after"
              c:identifier="adw_leaflet_reorder_child_after"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="2908">Moves @child to the position after @sibling in the list of children.

If @sibling is `NULL`, moves @child to the first position.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <source-position filename="src/adw-leaflet.h" line="69"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="2910">a leaflet</doc>
            <type name="Leaflet" c:type="AdwLeaflet*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="2911">the widget to move, must be a child of @self</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="sibling"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="2912">the sibling to move @child after</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_can_navigate_back"
              c:identifier="adw_leaflet_set_can_navigate_back"
              glib:set-property="can-navigate-back"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="3491">Sets whether gestures and shortcuts for navigating backward are enabled.

The supported gestures are:

- One-finger swipe on touchscreens
- Horizontal scrolling on touchpads (usually two-finger swipe)
- Back/forward mouse buttons

The keyboard back/forward keys are also supported, as well as the
&lt;kbd&gt;Alt&lt;/kbd&gt;+&lt;kbd&gt;←&lt;/kbd&gt; shortcut for horizontal orientation, or
&lt;kbd&gt;Alt&lt;/kbd&gt;+&lt;kbd&gt;↑&lt;/kbd&gt; for vertical orientation.

If the orientation is horizontal, for right-to-left locales, gestures and
shortcuts are reversed.

Only children that have [property@LeafletPage:navigatable] set to `TRUE` can
be navigated to.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <source-position filename="src/adw-leaflet.h" line="138"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="3493">a leaflet</doc>
            <type name="Leaflet" c:type="AdwLeaflet*"/>
          </instance-parameter>
          <parameter name="can_navigate_back" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="3494">the new value</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_can_navigate_forward"
              c:identifier="adw_leaflet_set_can_navigate_forward"
              glib:set-property="can-navigate-forward"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="3551">Sets whether gestures and shortcuts for navigating forward are enabled.

The supported gestures are:

- One-finger swipe on touchscreens
- Horizontal scrolling on touchpads (usually two-finger swipe)
- Back/forward mouse buttons

The keyboard back/forward keys are also supported, as well as the
&lt;kbd&gt;Alt&lt;/kbd&gt;+&lt;kbd&gt;→&lt;/kbd&gt; shortcut for horizontal orientation, or
&lt;kbd&gt;Alt&lt;/kbd&gt;+&lt;kbd&gt;↓&lt;/kbd&gt; for vertical orientation.

If the orientation is horizontal, for right-to-left locales, gestures and
shortcuts are reversed.

Only children that have [property@LeafletPage:navigatable] set to `TRUE` can
be navigated to.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <source-position filename="src/adw-leaflet.h" line="144"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="3553">a leaflet</doc>
            <type name="Leaflet" c:type="AdwLeaflet*"/>
          </instance-parameter>
          <parameter name="can_navigate_forward" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="3554">the new value</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_can_unfold"
              c:identifier="adw_leaflet_set_can_unfold"
              glib:set-property="can-unfold"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="3032">Sets whether @self can unfold.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <source-position filename="src/adw-leaflet.h" line="84"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="3034">a leaflet</doc>
            <type name="Leaflet" c:type="AdwLeaflet*"/>
          </instance-parameter>
          <parameter name="can_unfold" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="3035">whether @self can unfold</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_child_transition_params"
              c:identifier="adw_leaflet_set_child_transition_params"
              glib:set-property="child-transition-params"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="3424">Sets the child transition spring parameters for @self.

The default value is equivalent to:

```c
adw_spring_params_new (1, 0.5, 500)
```</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <source-position filename="src/adw-leaflet.h" line="129"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="3426">a leaflet</doc>
            <type name="Leaflet" c:type="AdwLeaflet*"/>
          </instance-parameter>
          <parameter name="params" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="3427">the new parameters</doc>
            <type name="SpringParams" c:type="AdwSpringParams*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_fold_threshold_policy"
              c:identifier="adw_leaflet_set_fold_threshold_policy"
              glib:set-property="fold-threshold-policy"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="3118">Sets the fold threshold policy for @self.

If set to `ADW_FOLD_THRESHOLD_POLICY_MINIMUM`, it will only fold when the
children cannot fit anymore. With `ADW_FOLD_THRESHOLD_POLICY_NATURAL`, it
will fold as soon as children don't get their natural size.

This can be useful if you have a long ellipsizing label and want to let it
ellipsize instead of immediately folding.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <source-position filename="src/adw-leaflet.h" line="93"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="3120">a leaflet</doc>
            <type name="Leaflet" c:type="AdwLeaflet*"/>
          </instance-parameter>
          <parameter name="policy" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="3121">the policy to use</doc>
            <type name="FoldThresholdPolicy" c:type="AdwFoldThresholdPolicy"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_homogeneous"
              c:identifier="adw_leaflet_set_homogeneous"
              glib:set-property="homogeneous"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="3169">Sets @self to be homogeneous or not.

If set to `FALSE`, different children can have different size along the
opposite orientation.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <source-position filename="src/adw-leaflet.h" line="99"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="3171">a leaflet</doc>
            <type name="Leaflet" c:type="AdwLeaflet*"/>
          </instance-parameter>
          <parameter name="homogeneous" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="3172">whether to make @self homogeneous</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_mode_transition_duration"
              c:identifier="adw_leaflet_set_mode_transition_duration"
              glib:set-property="mode-transition-duration"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="3379">Sets the mode transition animation duration for @self.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <source-position filename="src/adw-leaflet.h" line="123"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="3381">a leaflet</doc>
            <type name="Leaflet" c:type="AdwLeaflet*"/>
          </instance-parameter>
          <parameter name="duration" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="3382">the new duration, in milliseconds</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_transition_type"
              c:identifier="adw_leaflet_set_transition_type"
              glib:set-property="transition-type"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="3321">Sets the type of animation used for transitions between modes and children.

The transition type can be changed without problems at runtime, so it is
possible to change the animation based on the mode or child that is about to
become current.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <source-position filename="src/adw-leaflet.h" line="117"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="3323">a leaflet</doc>
            <type name="Leaflet" c:type="AdwLeaflet*"/>
          </instance-parameter>
          <parameter name="transition" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="3324">the new transition type</doc>
            <type name="LeafletTransitionType"
                  c:type="AdwLeafletTransitionType"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_visible_child"
              c:identifier="adw_leaflet_set_visible_child"
              glib:set-property="visible-child"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="3220">Sets the widget currently visible when the leaflet is folded.

The transition is determined by [property@Leaflet:transition-type] and
[property@Leaflet:child-transition-params]. The transition can be cancelled
by the user, in which case visible child will change back to the previously
visible child.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <source-position filename="src/adw-leaflet.h" line="105"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="3222">a leaflet</doc>
            <type name="Leaflet" c:type="AdwLeaflet*"/>
          </instance-parameter>
          <parameter name="visible_child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="3223">the new child</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_visible_child_name"
              c:identifier="adw_leaflet_set_visible_child_name"
              glib:set-property="visible-child-name"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="3274">Makes the child with the name @name visible.

See [property@Leaflet:visible-child].</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <source-position filename="src/adw-leaflet.h" line="111"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="3276">a leaflet</doc>
            <type name="Leaflet" c:type="AdwLeaflet*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="3277">the name of a child</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <property name="can-navigate-back"
                deprecated="1"
                deprecated-version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_can_navigate_back"
                getter="get_can_navigate_back"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="2331">Whether gestures and shortcuts for navigating backward are enabled.

The supported gestures are:

- One-finger swipe on touchscreens
- Horizontal scrolling on touchpads (usually two-finger swipe)
- Back/forward mouse buttons

The keyboard back/forward keys are also supported, as well as the
&lt;kbd&gt;Alt&lt;/kbd&gt;+&lt;kbd&gt;←&lt;/kbd&gt; shortcut for horizontal orientation, or
&lt;kbd&gt;Alt&lt;/kbd&gt;+&lt;kbd&gt;↑&lt;/kbd&gt; for vertical orientation.

If the orientation is horizontal, for right-to-left locales, gestures and
shortcuts are reversed.

Only children that have [property@LeafletPage:navigatable] set to `TRUE`
can be navigated to.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="can-navigate-forward"
                deprecated="1"
                deprecated-version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_can_navigate_forward"
                getter="get_can_navigate_forward"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="2359">Whether gestures and shortcuts for navigating forward are enabled.

The supported gestures are:

- One-finger swipe on touchscreens
- Horizontal scrolling on touchpads (usually two-finger swipe)
- Back/forward mouse buttons

The keyboard back/forward keys are also supported, as well as the
&lt;kbd&gt;Alt&lt;/kbd&gt;+&lt;kbd&gt;→&lt;/kbd&gt; shortcut for horizontal orientation, or
&lt;kbd&gt;Alt&lt;/kbd&gt;+&lt;kbd&gt;↓&lt;/kbd&gt; for vertical orientation.

If the orientation is horizontal, for right-to-left locales, gestures and
shortcuts are reversed.

Only children that have [property@LeafletPage:navigatable] set to `TRUE`
can be navigated to.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="can-unfold"
                deprecated="1"
                deprecated-version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_can_unfold"
                getter="get_can_unfold"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="2179">Whether or not the leaflet can unfold.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="child-transition-params"
                deprecated="1"
                deprecated-version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_child_transition_params"
                getter="get_child_transition_params">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="2301">The child transition spring parameters.

The default value is equivalent to:

```c
adw_spring_params_new (1, 0.5, 500)
```</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <type name="SpringParams"/>
      </property>
      <property name="child-transition-running"
                deprecated="1"
                deprecated-version="1.4"
                transfer-ownership="none"
                getter="get_child_transition_running"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="2319">Whether a child transition is currently running.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="fold-threshold-policy"
                deprecated="1"
                deprecated-version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_fold_threshold_policy"
                getter="get_fold_threshold_policy"
                default-value="ADW_FOLD_THRESHOLD_POLICY_MINIMUM">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="2207">Determines when the leaflet will fold.

If set to `ADW_FOLD_THRESHOLD_POLICY_MINIMUM`, it will only fold when the
children cannot fit anymore. With `ADW_FOLD_THRESHOLD_POLICY_NATURAL`, it
will fold as soon as children don't get their natural size.

This can be useful if you have a long ellipsizing label and want to let it
ellipsize instead of immediately folding.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <type name="FoldThresholdPolicy"/>
      </property>
      <property name="folded"
                deprecated="1"
                deprecated-version="1.4"
                transfer-ownership="none"
                getter="get_folded"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="2191">Whether the leaflet is folded.

The leaflet will be folded if the size allocated to it is smaller than the
sum of the minimum or natural sizes of the children (see
[property@Leaflet:fold-threshold-policy]), it will be unfolded otherwise.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="homogeneous"
                deprecated="1"
                deprecated-version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_homogeneous"
                getter="get_homogeneous"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="2227">Whether the leaflet allocates the same size for all children when folded.

If set to `FALSE`, different children can have different size along the
opposite orientation.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="mode-transition-duration"
                deprecated="1"
                deprecated-version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_mode_transition_duration"
                getter="get_mode_transition_duration"
                default-value="250">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="2289">The mode transition animation duration, in milliseconds.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="pages"
                deprecated="1"
                deprecated-version="1.4"
                transfer-ownership="none"
                getter="get_pages">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="2387">A selection model with the leaflet's pages.

This can be used to keep an up-to-date view. The model also implements
[iface@Gtk.SelectionModel] and can be used to track and change the visible
page.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <type name="Gtk.SelectionModel"/>
      </property>
      <property name="transition-type"
                deprecated="1"
                deprecated-version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_transition_type"
                getter="get_transition_type"
                default-value="ADW_LEAFLET_TRANSITION_TYPE_OVER">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="2273">The type of animation used for transitions between modes and children.

The transition type can be changed without problems at runtime, so it is
possible to change the animation based on the mode or child that is about
to become current.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <type name="LeafletTransitionType"/>
      </property>
      <property name="visible-child"
                deprecated="1"
                deprecated-version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_visible_child"
                getter="get_visible_child">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="2242">The widget currently visible when the leaflet is folded.

The transition is determined by [property@Leaflet:transition-type] and
[property@Leaflet:child-transition-params]. The transition can be cancelled
by the user, in which case visible child will change back to the previously
visible child.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <type name="Gtk.Widget"/>
      </property>
      <property name="visible-child-name"
                deprecated="1"
                deprecated-version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_visible_child_name"
                getter="get_visible_child_name"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="2259">The name of the widget currently visible when the leaflet is folded.

See [property@Leaflet:visible-child].</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <type name="utf8" c:type="gchar*"/>
      </property>
    </class>
    <record name="LeafletClass"
            c:type="AdwLeafletClass"
            glib:is-gtype-struct-for="Leaflet">
      <source-position filename="src/adw-leaflet.h" line="46"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
    </record>
    <class name="LeafletPage"
           c:symbol-prefix="leaflet_page"
           c:type="AdwLeafletPage"
           deprecated="1"
           deprecated-version="1.4"
           parent="GObject.Object"
           final="1"
           glib:type-name="AdwLeafletPage"
           glib:get-type="adw_leaflet_page_get_type"
           glib:type-struct="LeafletPageClass">
      <doc xml:space="preserve"
           filename="src/adw-leaflet.c"
           line="59">An auxiliary class used by [class@Leaflet].</doc>
      <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
      <source-position filename="src/adw-leaflet.h" line="26"/>
      <method name="get_child"
              c:identifier="adw_leaflet_page_get_child"
              glib:get-property="child"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="2665">Gets the leaflet child to which @self belongs.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <source-position filename="src/adw-leaflet.h" line="29"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-leaflet.c"
               line="2671">the child to which @self belongs</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="2667">a leaflet page</doc>
            <type name="LeafletPage" c:type="AdwLeafletPage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name"
              c:identifier="adw_leaflet_page_get_name"
              glib:get-property="name"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="2683">Gets the name of @self.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <source-position filename="src/adw-leaflet.h" line="32"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-leaflet.c"
               line="2689">the name of @self.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="2685">a leaflet page</doc>
            <type name="LeafletPage" c:type="AdwLeafletPage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_navigatable"
              c:identifier="adw_leaflet_page_get_navigatable"
              glib:get-property="navigatable"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="2748">Gets whether the child can be navigated to when folded.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <source-position filename="src/adw-leaflet.h" line="38"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-leaflet.c"
               line="2754">whether @self can be navigated to when folded</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="2750">a leaflet page</doc>
            <type name="LeafletPage" c:type="AdwLeafletPage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_name"
              c:identifier="adw_leaflet_page_set_name"
              glib:set-property="name"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="2701">Sets the name of the @self.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <source-position filename="src/adw-leaflet.h" line="34"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="2703">a leaflet page</doc>
            <type name="LeafletPage" c:type="AdwLeafletPage*"/>
          </instance-parameter>
          <parameter name="name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="2704">the new value to set</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_navigatable"
              c:identifier="adw_leaflet_page_set_navigatable"
              glib:set-property="navigatable"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="2766">Sets whether @self can be navigated to when folded.

If `FALSE`, the child will be ignored by [method@Leaflet.get_adjacent_child],
[method@Leaflet.navigate], and swipe gestures.

This can be used used to prevent switching to widgets like separators.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <source-position filename="src/adw-leaflet.h" line="40"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="2768">a leaflet page</doc>
            <type name="LeafletPage" c:type="AdwLeafletPage*"/>
          </instance-parameter>
          <parameter name="navigatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-leaflet.c"
                 line="2769">whether @self can be navigated to when folded</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="child"
                deprecated="1"
                deprecated-version="1.4"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_child">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="275">The leaflet child to which the page belongs.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <type name="Gtk.Widget"/>
      </property>
      <property name="name"
                deprecated="1"
                deprecated-version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_name"
                getter="get_name"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="287">The name of the child page.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="navigatable"
                deprecated="1"
                deprecated-version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_navigatable"
                getter="get_navigatable"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="299">Whether the child can be navigated to when folded.

If `FALSE`, the child will be ignored by
[method@Leaflet.get_adjacent_child], [method@Leaflet.navigate], and swipe
gestures.

This can be used used to prevent switching to widgets like separators.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
        <type name="gboolean" c:type="gboolean"/>
      </property>
    </class>
    <record name="LeafletPageClass"
            c:type="AdwLeafletPageClass"
            glib:is-gtype-struct-for="LeafletPage">
      <source-position filename="src/adw-leaflet.h" line="26"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <enumeration name="LeafletTransitionType"
                 deprecated="1"
                 deprecated-version="1.4"
                 glib:type-name="AdwLeafletTransitionType"
                 glib:get-type="adw_leaflet_transition_type_get_type"
                 c:type="AdwLeafletTransitionType">
      <doc xml:space="preserve"
           filename="src/adw-leaflet.c"
           line="67">Describes the possible transitions in a [class@Leaflet] widget.

New values may be added to this enumeration over time.</doc>
      <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwleaflet)</doc-deprecated>
      <member name="over"
              value="0"
              c:identifier="ADW_LEAFLET_TRANSITION_TYPE_OVER"
              glib:nick="over"
              glib:name="ADW_LEAFLET_TRANSITION_TYPE_OVER">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="69">Cover the old page or uncover the new page, sliding from or towards the end according to orientation, text direction and children order</doc>
      </member>
      <member name="under"
              value="1"
              c:identifier="ADW_LEAFLET_TRANSITION_TYPE_UNDER"
              glib:nick="under"
              glib:name="ADW_LEAFLET_TRANSITION_TYPE_UNDER">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="70">Uncover the new page or cover the old page, sliding from or towards the start according to orientation, text direction and children order</doc>
      </member>
      <member name="slide"
              value="2"
              c:identifier="ADW_LEAFLET_TRANSITION_TYPE_SLIDE"
              glib:nick="slide"
              glib:name="ADW_LEAFLET_TRANSITION_TYPE_SLIDE">
        <doc xml:space="preserve"
             filename="src/adw-leaflet.c"
             line="71">Slide from left, right, up or down according to the orientation, text direction and the children order</doc>
      </member>
    </enumeration>
    <enumeration name="LengthUnit"
                 version="1.4"
                 glib:type-name="AdwLengthUnit"
                 glib:get-type="adw_length_unit_get_type"
                 c:type="AdwLengthUnit">
      <doc xml:space="preserve"
           filename="src/adw-length-unit.c"
           line="13">Describes length units.

| Unit | Regular Text | Large Text |
| ---- | ------------ | ---------- |
| 1px  | 1px          | 1px        |
| 1pt  | 1.333333px   | 1.666667px |
| 1sp  | 1px          | 1.25px     |

New values may be added to this enumeration over time.</doc>
      <member name="px"
              value="0"
              c:identifier="ADW_LENGTH_UNIT_PX"
              glib:nick="px"
              glib:name="ADW_LENGTH_UNIT_PX">
        <doc xml:space="preserve"
             filename="src/adw-length-unit.c"
             line="15">pixels</doc>
      </member>
      <member name="pt"
              value="1"
              c:identifier="ADW_LENGTH_UNIT_PT"
              glib:nick="pt"
              glib:name="ADW_LENGTH_UNIT_PT">
        <doc xml:space="preserve"
             filename="src/adw-length-unit.c"
             line="16">points, changes with text scale factor</doc>
      </member>
      <member name="sp"
              value="2"
              c:identifier="ADW_LENGTH_UNIT_SP"
              glib:nick="sp"
              glib:name="ADW_LENGTH_UNIT_SP">
        <doc xml:space="preserve"
             filename="src/adw-length-unit.c"
             line="17">scale independent pixels, changes with text scale factor</doc>
      </member>
      <function name="from_px"
                c:identifier="adw_length_unit_from_px"
                version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-length-unit.c"
             line="84">Converts @value from pixels to @unit.</doc>
        <source-position filename="src/adw-length-unit.h" line="33"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-length-unit.c"
               line="92">the length in @unit</doc>
          <type name="gdouble" c:type="double"/>
        </return-value>
        <parameters>
          <parameter name="unit" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-length-unit.c"
                 line="86">a length unit</doc>
            <type name="LengthUnit" c:type="AdwLengthUnit"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-length-unit.c"
                 line="87">a value in pixels</doc>
            <type name="gdouble" c:type="double"/>
          </parameter>
          <parameter name="settings"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-length-unit.c"
                 line="88">settings to use, or `NULL` for default settings</doc>
            <type name="Gtk.Settings" c:type="GtkSettings*"/>
          </parameter>
        </parameters>
      </function>
      <function name="to_px"
                c:identifier="adw_length_unit_to_px"
                version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-length-unit.c"
             line="45">Converts @value from @unit to pixels.</doc>
        <source-position filename="src/adw-length-unit.h" line="28"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-length-unit.c"
               line="53">the length in pixels</doc>
          <type name="gdouble" c:type="double"/>
        </return-value>
        <parameters>
          <parameter name="unit" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-length-unit.c"
                 line="47">a length unit</doc>
            <type name="LengthUnit" c:type="AdwLengthUnit"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-length-unit.c"
                 line="48">a value in @unit</doc>
            <type name="gdouble" c:type="double"/>
          </parameter>
          <parameter name="settings"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-length-unit.c"
                 line="49">settings to use, or `NULL` for default settings</doc>
            <type name="Gtk.Settings" c:type="GtkSettings*"/>
          </parameter>
        </parameters>
      </function>
    </enumeration>
    <constant name="MAJOR_VERSION" value="1" c:type="ADW_MAJOR_VERSION">
      <doc xml:space="preserve"
           filename="src/adw-version.h"
           line="17">Adwaita major version component (e.g. 1 if the version is 1.2.3).</doc>
      <source-position filename="src/adw-version.h" line="22"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="MICRO_VERSION" value="4" c:type="ADW_MICRO_VERSION">
      <doc xml:space="preserve"
           filename="src/adw-version.h"
           line="31">Adwaita micro version component (e.g. 3 if the version is 1.2.3).</doc>
      <source-position filename="src/adw-version.h" line="36"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="MINOR_VERSION" value="7" c:type="ADW_MINOR_VERSION">
      <doc xml:space="preserve"
           filename="src/adw-version.h"
           line="24">Adwaita minor version component (e.g. 2 if the version is 1.2.3).</doc>
      <source-position filename="src/adw-version.h" line="29"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <class name="MessageDialog"
           c:symbol-prefix="message_dialog"
           c:type="AdwMessageDialog"
           version="1.2"
           deprecated="1"
           deprecated-version="1.6"
           parent="Gtk.Window"
           glib:type-name="AdwMessageDialog"
           glib:get-type="adw_message_dialog_get_type"
           glib:type-struct="MessageDialogClass">
      <doc xml:space="preserve"
           filename="src/adw-message-dialog.c"
           line="18">A dialog presenting a message or a question.

&lt;picture&gt;
  &lt;source srcset="message-dialog-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="message-dialog.png" alt="message-dialog"&gt;
&lt;/picture&gt;

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

## Async API

`AdwMessageDialog` can also be used via the [method@MessageDialog.choose]
method. This API follows the GIO async pattern, for example:

```c
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
`&lt;responses&gt;` element that may contain multiple `&lt;response&gt;` elements, each
representing a response.

Each of the `&lt;response&gt;` 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 `&lt;response&gt;` elements can also have `enabled` and/or `appearance`
attributes. See [method@MessageDialog.set_response_enabled] and
[method@MessageDialog.set_response_appearance] for details.

Example of an `AdwMessageDialog` UI definition:

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

## Accessibility

`AdwMessageDialog` uses the `GTK_ACCESSIBLE_ROLE_DIALOG` role.</doc>
      <doc-deprecated xml:space="preserve">Use [class@AlertDialog].</doc-deprecated>
      <source-position filename="src/adw-message-dialog.h" line="37"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <implements name="Gtk.Native"/>
      <implements name="Gtk.Root"/>
      <implements name="Gtk.ShortcutManager"/>
      <constructor name="new"
                   c:identifier="adw_message_dialog_new"
                   version="1.2"
                   deprecated="1"
                   deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-message-dialog.c"
             line="1432">Creates a new `AdwMessageDialog`.

@heading and @body can be set to `NULL`. This can be useful if they need to
be formatted or use markup. In that case, set them to `NULL` and call
[method@MessageDialog.format_body] or similar methods afterwards:

```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);
```</doc>
        <doc-deprecated xml:space="preserve">Use [class@AlertDialog].</doc-deprecated>
        <source-position filename="src/adw-message-dialog.h" line="40"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-message-dialog.c"
               line="1453">the newly created `AdwMessageDialog`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="parent"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="1434">transient parent</doc>
            <type name="Gtk.Window" c:type="GtkWindow*"/>
          </parameter>
          <parameter name="heading"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="1435">the heading</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="body"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="1436">the body text</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="response"
                      invoker="response"
                      version="1.2"
                      deprecated="1"
                      deprecated-version="1.6">
        <attribute name="org.gtk.Method.signal" value="response"/>
        <doc xml:space="preserve"
             filename="src/adw-message-dialog.c"
             line="2475">Emits the [signal@MessageDialog::response] signal with the given response ID.

Used to indicate that the user has responded to the dialog in some way.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AlertDialog].</doc-deprecated>
        <source-position filename="src/adw-message-dialog.h" line="32"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="2477">a message dialog</doc>
            <type name="MessageDialog" c:type="AdwMessageDialog*"/>
          </instance-parameter>
          <parameter name="response" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="2478">response ID</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="add_response"
              c:identifier="adw_message_dialog_add_response"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-message-dialog.c"
             line="1965">Adds a response with @id and @label to @self.

Responses are represented as buttons in the dialog.

Response ID must be unique. It will be used in
[signal@MessageDialog::response] to tell which response had been activated,
as well as to inspect and modify the response later.

An embedded underline in @label indicates a mnemonic.

[method@MessageDialog.set_response_label] can be used to change the response
label after it had been added.

[method@MessageDialog.set_response_enabled] and
[method@MessageDialog.set_response_appearance] can be used to customize the
responses further.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AlertDialog].</doc-deprecated>
        <source-position filename="src/adw-message-dialog.h" line="95"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="1967">a message dialog</doc>
            <type name="MessageDialog" c:type="AdwMessageDialog*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="1968">the response ID</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="label" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="1969">the response label</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_responses"
              c:identifier="adw_message_dialog_add_responses"
              version="1.2"
              introspectable="0"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-message-dialog.c"
             line="2029">Adds multiple responses to @self.

This is the same as calling [method@MessageDialog.add_response] repeatedly.
The variable argument list should be `NULL`-terminated list of response IDs
and labels.

Example:

```c
adw_message_dialog_add_responses (dialog,
                                  "cancel",  _("_Cancel"),
                                  "discard", _("_Discard"),
                                  "save",    _("_Save"),
                                  NULL);
```</doc>
        <doc-deprecated xml:space="preserve">Use [class@AlertDialog].</doc-deprecated>
        <source-position filename="src/adw-message-dialog.h" line="104"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="2031">a message dialog</doc>
            <type name="MessageDialog" c:type="AdwMessageDialog*"/>
          </instance-parameter>
          <parameter name="first_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="2032">response id</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="2033">label for first response, then more id-label pairs</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="choose"
              c:identifier="adw_message_dialog_choose"
              version="1.3"
              deprecated="1"
              deprecated-version="1.6"
              glib:finish-func="choose_finish">
        <doc xml:space="preserve"
             filename="src/adw-message-dialog.c"
             line="2549">This function shows @self to the user.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AlertDialog].</doc-deprecated>
        <source-position filename="src/adw-message-dialog.h" line="153"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="2551">a message dialog</doc>
            <type name="MessageDialog" c:type="AdwMessageDialog*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="2552">a `GCancellable` to cancel the operation</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="2">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="2553">a callback to call when the operation is complete</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="2554">data to pass to @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="choose_finish"
              c:identifier="adw_message_dialog_choose_finish"
              version="1.3"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-message-dialog.c"
             line="2582">Finishes the [method@MessageDialog.choose] call and returns the response ID.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AlertDialog].</doc-deprecated>
        <source-position filename="src/adw-message-dialog.h" line="159"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-message-dialog.c"
               line="2589">the ID of the response that was selected, or
  [property@MessageDialog:close-response] if the call was cancelled.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="2584">a message dialog</doc>
            <type name="MessageDialog" c:type="AdwMessageDialog*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="2585">a `GAsyncResult`</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="format_body"
              c:identifier="adw_message_dialog_format_body"
              version="1.2"
              introspectable="0"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-message-dialog.c"
             line="1812">Sets the formatted body text of @self.

See [property@MessageDialog:body].</doc>
        <doc-deprecated xml:space="preserve">Use [class@AlertDialog].</doc-deprecated>
        <source-position filename="src/adw-message-dialog.h" line="79"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="1814">a message dialog</doc>
            <type name="MessageDialog" c:type="AdwMessageDialog*"/>
          </instance-parameter>
          <parameter name="format" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="1815">the formatted string for the body text</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="1816">the parameters to insert into @format</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="format_body_markup"
              c:identifier="adw_message_dialog_format_body_markup"
              version="1.2"
              introspectable="0"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-message-dialog.c"
             line="1856">Sets the formatted body text of @self with Pango markup.

The @format is assumed to contain Pango markup.

Special XML characters in the `printf()` arguments passed to this function
will  automatically be escaped as necessary, see
[func@GLib.markup_printf_escaped].

See [property@MessageDialog:body].</doc>
        <doc-deprecated xml:space="preserve">Use [class@AlertDialog].</doc-deprecated>
        <source-position filename="src/adw-message-dialog.h" line="84"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="1858">a message dialog</doc>
            <type name="MessageDialog" c:type="AdwMessageDialog*"/>
          </instance-parameter>
          <parameter name="format" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="1859">the formatted string for the body text with Pango markup</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="1860">the parameters to insert into @format</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="format_heading"
              c:identifier="adw_message_dialog_format_heading"
              version="1.2"
              introspectable="0"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-message-dialog.c"
             line="1603">Sets the formatted heading of @self.

See [property@MessageDialog:heading].</doc>
        <doc-deprecated xml:space="preserve">Use [class@AlertDialog].</doc-deprecated>
        <source-position filename="src/adw-message-dialog.h" line="57"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="1605">a message dialog</doc>
            <type name="MessageDialog" c:type="AdwMessageDialog*"/>
          </instance-parameter>
          <parameter name="format" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="1606">the formatted string for the heading</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="1607">the parameters to insert into @format</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="format_heading_markup"
              c:identifier="adw_message_dialog_format_heading_markup"
              version="1.2"
              introspectable="0"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-message-dialog.c"
             line="1647">Sets the formatted heading of @self with Pango markup.

The @format is assumed to contain Pango markup.

Special XML characters in the `printf()` arguments passed to this function
will automatically be escaped as necessary, see
[func@GLib.markup_printf_escaped].

See [property@MessageDialog:heading].</doc>
        <doc-deprecated xml:space="preserve">Use [class@AlertDialog].</doc-deprecated>
        <source-position filename="src/adw-message-dialog.h" line="62"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="1649">a message dialog</doc>
            <type name="MessageDialog" c:type="AdwMessageDialog*"/>
          </instance-parameter>
          <parameter name="format" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="1650">the formatted string for the heading with Pango markup</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="1651">the parameters to insert into @format</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="get_body"
              c:identifier="adw_message_dialog_get_body"
              glib:get-property="body"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-message-dialog.c"
             line="1697">Gets the body text of @self.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AlertDialog].</doc-deprecated>
        <source-position filename="src/adw-message-dialog.h" line="67"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-message-dialog.c"
               line="1703">the body of @self.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="1699">a message dialog</doc>
            <type name="MessageDialog" c:type="AdwMessageDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_body_use_markup"
              c:identifier="adw_message_dialog_get_body_use_markup"
              glib:get-property="body-use-markup"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-message-dialog.c"
             line="1755">Gets whether the body text of @self includes Pango markup.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AlertDialog].</doc-deprecated>
        <source-position filename="src/adw-message-dialog.h" line="73"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-message-dialog.c"
               line="1761">whether @self uses markup for body text</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="1757">a message dialog</doc>
            <type name="MessageDialog" c:type="AdwMessageDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_close_response"
              c:identifier="adw_message_dialog_get_close_response"
              glib:get-property="close-response"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-message-dialog.c"
             line="2414">Gets the ID of the close response of @self.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AlertDialog].</doc-deprecated>
        <source-position filename="src/adw-message-dialog.h" line="139"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-message-dialog.c"
               line="2420">the close response ID</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="2416">a message dialog</doc>
            <type name="MessageDialog" c:type="AdwMessageDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_default_response"
              c:identifier="adw_message_dialog_get_default_response"
              glib:get-property="default-response"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-message-dialog.c"
             line="2347">Gets the ID of the default response of @self.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AlertDialog].</doc-deprecated>
        <source-position filename="src/adw-message-dialog.h" line="133"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-message-dialog.c"
               line="2353">the default response ID</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="2349">a message dialog</doc>
            <type name="MessageDialog" c:type="AdwMessageDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_extra_child"
              c:identifier="adw_message_dialog_get_extra_child"
              glib:get-property="extra-child"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-message-dialog.c"
             line="1906">Gets the child widget of @self.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AlertDialog].</doc-deprecated>
        <source-position filename="src/adw-message-dialog.h" line="89"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-message-dialog.c"
               line="1912">the child widget of @self.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="1908">a message dialog</doc>
            <type name="MessageDialog" c:type="AdwMessageDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_heading"
              c:identifier="adw_message_dialog_get_heading"
              glib:get-property="heading"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-message-dialog.c"
             line="1480">Gets the heading of @self.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AlertDialog].</doc-deprecated>
        <source-position filename="src/adw-message-dialog.h" line="45"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-message-dialog.c"
               line="1486">the heading of @self.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="1482">a message dialog</doc>
            <type name="MessageDialog" c:type="AdwMessageDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_heading_use_markup"
              c:identifier="adw_message_dialog_get_heading_use_markup"
              glib:get-property="heading-use-markup"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-message-dialog.c"
             line="1542">Gets whether the heading of @self includes Pango markup.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AlertDialog].</doc-deprecated>
        <source-position filename="src/adw-message-dialog.h" line="51"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-message-dialog.c"
               line="1548">whether @self uses markup for heading</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="1544">a message dialog</doc>
            <type name="MessageDialog" c:type="AdwMessageDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_response_appearance"
              c:identifier="adw_message_dialog_get_response_appearance"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-message-dialog.c"
             line="2188">Gets the appearance of @response.

See [method@MessageDialog.set_response_appearance].</doc>
        <doc-deprecated xml:space="preserve">Use [class@AlertDialog].</doc-deprecated>
        <source-position filename="src/adw-message-dialog.h" line="117"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-message-dialog.c"
               line="2197">the appearance of @response</doc>
          <type name="ResponseAppearance" c:type="AdwResponseAppearance"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="2190">a message dialog</doc>
            <type name="MessageDialog" c:type="AdwMessageDialog*"/>
          </instance-parameter>
          <parameter name="response" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="2191">a response ID</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_response_enabled"
              c:identifier="adw_message_dialog_get_response_enabled"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-message-dialog.c"
             line="2275">Gets whether @response is enabled.

See [method@MessageDialog.set_response_enabled].</doc>
        <doc-deprecated xml:space="preserve">Use [class@AlertDialog].</doc-deprecated>
        <source-position filename="src/adw-message-dialog.h" line="125"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-message-dialog.c"
               line="2284">whether @response is enabled</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="2277">a message dialog</doc>
            <type name="MessageDialog" c:type="AdwMessageDialog*"/>
          </instance-parameter>
          <parameter name="response" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="2278">a response ID</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_response_label"
              c:identifier="adw_message_dialog_get_response_label"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-message-dialog.c"
             line="2126">Gets the label of @response.

See [method@MessageDialog.set_response_label].</doc>
        <doc-deprecated xml:space="preserve">Use [class@AlertDialog].</doc-deprecated>
        <source-position filename="src/adw-message-dialog.h" line="109"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-message-dialog.c"
               line="2135">the label of @response</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="2128">a message dialog</doc>
            <type name="MessageDialog" c:type="AdwMessageDialog*"/>
          </instance-parameter>
          <parameter name="response" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="2129">a response ID</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="has_response"
              c:identifier="adw_message_dialog_has_response"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-message-dialog.c"
             line="2498">Gets whether @self has a response with the ID @response.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AlertDialog].</doc-deprecated>
        <source-position filename="src/adw-message-dialog.h" line="149"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-message-dialog.c"
               line="2505">whether @self has a response with the ID @response.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="2500">a message dialog</doc>
            <type name="MessageDialog" c:type="AdwMessageDialog*"/>
          </instance-parameter>
          <parameter name="response" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="2501">response ID</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_response"
              c:identifier="adw_message_dialog_remove_response"
              version="1.5"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-message-dialog.c"
             line="2085">Removes a response from @self.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AlertDialog].</doc-deprecated>
        <source-position filename="src/adw-message-dialog.h" line="100"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="2087">a message dialog</doc>
            <type name="MessageDialog" c:type="AdwMessageDialog*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="2088">the response ID</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="response"
              c:identifier="adw_message_dialog_response"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <attribute name="org.gtk.Method.signal" value="response"/>
        <doc xml:space="preserve"
             filename="src/adw-message-dialog.c"
             line="2475">Emits the [signal@MessageDialog::response] signal with the given response ID.

Used to indicate that the user has responded to the dialog in some way.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AlertDialog].</doc-deprecated>
        <source-position filename="src/adw-message-dialog.h" line="145"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="2477">a message dialog</doc>
            <type name="MessageDialog" c:type="AdwMessageDialog*"/>
          </instance-parameter>
          <parameter name="response" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="2478">response ID</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_body"
              c:identifier="adw_message_dialog_set_body"
              glib:set-property="body"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-message-dialog.c"
             line="1720">Sets the body text of @self.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AlertDialog].</doc-deprecated>
        <source-position filename="src/adw-message-dialog.h" line="69"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="1722">a message dialog</doc>
            <type name="MessageDialog" c:type="AdwMessageDialog*"/>
          </instance-parameter>
          <parameter name="body" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="1723">the body of @self</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_body_use_markup"
              c:identifier="adw_message_dialog_set_body_use_markup"
              glib:set-property="body-use-markup"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-message-dialog.c"
             line="1778">Sets whether the body text of @self includes Pango markup.

See [func@Pango.parse_markup].</doc>
        <doc-deprecated xml:space="preserve">Use [class@AlertDialog].</doc-deprecated>
        <source-position filename="src/adw-message-dialog.h" line="75"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="1780">a message dialog</doc>
            <type name="MessageDialog" c:type="AdwMessageDialog*"/>
          </instance-parameter>
          <parameter name="use_markup" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="1781">whether to use markup for body text</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_close_response"
              c:identifier="adw_message_dialog_set_close_response"
              glib:set-property="close-response"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-message-dialog.c"
             line="2437">Sets the ID of the close response of @self.

It will be passed to [signal@MessageDialog::response] if the window is
closed by pressing &lt;kbd&gt;Escape&lt;/kbd&gt; or with a system action.

It doesn't have to correspond to any of the responses in the dialog.

The default close response is `close`.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AlertDialog].</doc-deprecated>
        <source-position filename="src/adw-message-dialog.h" line="141"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="2439">a message dialog</doc>
            <type name="MessageDialog" c:type="AdwMessageDialog*"/>
          </instance-parameter>
          <parameter name="response" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="2440">the close response ID</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_default_response"
              c:identifier="adw_message_dialog_set_default_response"
              glib:set-property="default-response"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-message-dialog.c"
             line="2373">Sets the ID of the default response of @self.

If set, pressing &lt;kbd&gt;Enter&lt;/kbd&gt; will activate the corresponding button.

If set to `NULL` or to a non-existent response ID, pressing &lt;kbd&gt;Enter&lt;/kbd&gt;
will do nothing.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AlertDialog].</doc-deprecated>
        <source-position filename="src/adw-message-dialog.h" line="135"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="2375">a message dialog</doc>
            <type name="MessageDialog" c:type="AdwMessageDialog*"/>
          </instance-parameter>
          <parameter name="response"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="2376">the default response ID</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_extra_child"
              c:identifier="adw_message_dialog_set_extra_child"
              glib:set-property="extra-child"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-message-dialog.c"
             line="1929">Sets the child widget of @self.

The child widget is displayed below the heading and body.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AlertDialog].</doc-deprecated>
        <source-position filename="src/adw-message-dialog.h" line="91"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="1931">a message dialog</doc>
            <type name="MessageDialog" c:type="AdwMessageDialog*"/>
          </instance-parameter>
          <parameter name="child"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="1932">the child widget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_heading"
              c:identifier="adw_message_dialog_set_heading"
              glib:set-property="heading"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-message-dialog.c"
             line="1503">Sets the heading of @self.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AlertDialog].</doc-deprecated>
        <source-position filename="src/adw-message-dialog.h" line="47"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="1505">a message dialog</doc>
            <type name="MessageDialog" c:type="AdwMessageDialog*"/>
          </instance-parameter>
          <parameter name="heading"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="1506">the heading of @self</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_heading_use_markup"
              c:identifier="adw_message_dialog_set_heading_use_markup"
              glib:set-property="heading-use-markup"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-message-dialog.c"
             line="1565">Sets whether the heading of @self includes Pango markup.

See [func@Pango.parse_markup].</doc>
        <doc-deprecated xml:space="preserve">Use [class@AlertDialog].</doc-deprecated>
        <source-position filename="src/adw-message-dialog.h" line="53"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="1567">a message dialog</doc>
            <type name="MessageDialog" c:type="AdwMessageDialog*"/>
          </instance-parameter>
          <parameter name="use_markup" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="1568">whether to use markup for heading</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_response_appearance"
              c:identifier="adw_message_dialog_set_response_appearance"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-message-dialog.c"
             line="2217">Sets the appearance for @response.

&lt;picture&gt;
  &lt;source srcset="message-dialog-appearance-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="message-dialog-appearance.png" alt="message-dialog-appearance"&gt;
&lt;/picture&gt;

Use `ADW_RESPONSE_SUGGESTED` to mark important responses such as the
affirmative action, like the Save button in the example.

Use `ADW_RESPONSE_DESTRUCTIVE` to draw attention to the potentially damaging
consequences of using @response. This appearance acts as a warning to the
user. The Discard button in the example is using this appearance.

The default appearance is `ADW_RESPONSE_DEFAULT`.

Negative responses like Cancel or Close should use the default appearance.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AlertDialog].</doc-deprecated>
        <source-position filename="src/adw-message-dialog.h" line="120"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="2219">a message dialog</doc>
            <type name="MessageDialog" c:type="AdwMessageDialog*"/>
          </instance-parameter>
          <parameter name="response" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="2220">a response ID</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="appearance" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="2221">appearance for @response</doc>
            <type name="ResponseAppearance" c:type="AdwResponseAppearance"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_response_enabled"
              c:identifier="adw_message_dialog_set_response_enabled"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-message-dialog.c"
             line="2304">Sets whether @response is enabled.

If @response is not enabled, the corresponding button will have
[property@Gtk.Widget:sensitive] set to `FALSE` and it can't be activated as
a default response.

@response can still be used as [property@MessageDialog:close-response] while
it's not enabled.

Responses are enabled by default.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AlertDialog].</doc-deprecated>
        <source-position filename="src/adw-message-dialog.h" line="128"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="2306">a message dialog</doc>
            <type name="MessageDialog" c:type="AdwMessageDialog*"/>
          </instance-parameter>
          <parameter name="response" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="2307">a response ID</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="enabled" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="2308">whether to enable @response</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_response_label"
              c:identifier="adw_message_dialog_set_response_label"
              version="1.2"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-message-dialog.c"
             line="2155">Sets the label of @response to @label.

Labels are displayed on the dialog buttons. An embedded underline in @label
indicates a mnemonic.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AlertDialog].</doc-deprecated>
        <source-position filename="src/adw-message-dialog.h" line="112"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="2157">a message dialog</doc>
            <type name="MessageDialog" c:type="AdwMessageDialog*"/>
          </instance-parameter>
          <parameter name="response" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="2158">a response ID</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="label" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="2159">the label of @response</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <property name="body"
                version="1.2"
                deprecated="1"
                deprecated-version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_body"
                getter="get_body">
        <doc xml:space="preserve"
             filename="src/adw-message-dialog.c"
             line="1027">The body text of the dialog.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AlertDialog].</doc-deprecated>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="body-use-markup"
                version="1.2"
                deprecated="1"
                deprecated-version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_body_use_markup"
                getter="get_body_use_markup"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-message-dialog.c"
             line="1040">Whether the body text includes Pango markup.

See [func@Pango.parse_markup].</doc>
        <doc-deprecated xml:space="preserve">Use [class@AlertDialog].</doc-deprecated>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="close-response"
                version="1.2"
                deprecated="1"
                deprecated-version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_close_response"
                getter="get_close_response"
                default-value="close">
        <doc xml:space="preserve"
             filename="src/adw-message-dialog.c"
             line="1088">The ID of the close response.

It will be passed to [signal@MessageDialog::response] if the window is
closed by pressing &lt;kbd&gt;Escape&lt;/kbd&gt; or with a system action.

It doesn't have to correspond to any of the responses in the dialog.

The default close response is `close`.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AlertDialog].</doc-deprecated>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="default-response"
                version="1.2"
                deprecated="1"
                deprecated-version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_default_response"
                getter="get_default_response"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/adw-message-dialog.c"
             line="1070">The response ID of the default response.

If set, pressing &lt;kbd&gt;Enter&lt;/kbd&gt; will activate the corresponding button.

If set to `NULL` or a non-existent response ID, pressing &lt;kbd&gt;Enter&lt;/kbd&gt;
will do nothing.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AlertDialog].</doc-deprecated>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="extra-child"
                version="1.2"
                deprecated="1"
                deprecated-version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_extra_child"
                getter="get_extra_child">
        <doc xml:space="preserve"
             filename="src/adw-message-dialog.c"
             line="1055">The child widget.

Displayed below the heading and body.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AlertDialog].</doc-deprecated>
        <type name="Gtk.Widget"/>
      </property>
      <property name="heading"
                version="1.2"
                deprecated="1"
                deprecated-version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_heading"
                getter="get_heading">
        <doc xml:space="preserve"
             filename="src/adw-message-dialog.c"
             line="999">The heading of the dialog.</doc>
        <doc-deprecated xml:space="preserve">Use [class@AlertDialog].</doc-deprecated>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="heading-use-markup"
                version="1.2"
                deprecated="1"
                deprecated-version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_heading_use_markup"
                getter="get_heading_use_markup"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-message-dialog.c"
             line="1012">Whether the heading includes Pango markup.

See [func@Pango.parse_markup].</doc>
        <doc-deprecated xml:space="preserve">Use [class@AlertDialog].</doc-deprecated>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <field name="parent_instance">
        <type name="Gtk.Window" c:type="GtkWindow"/>
      </field>
      <glib:signal name="response"
                   when="last"
                   detailed="1"
                   version="1.2"
                   deprecated="1"
                   deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-message-dialog.c"
             line="1110">This signal is emitted when the dialog is closed.

@response will be set to the response ID of the button that had been
activated.

if the dialog was closed by pressing &lt;kbd&gt;Escape&lt;/kbd&gt; or with a system
action, @response will be set to the value of
[property@MessageDialog:close-response].</doc>
        <doc-deprecated xml:space="preserve">Use [class@AlertDialog].</doc-deprecated>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="response" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-message-dialog.c"
                 line="1113">the response ID</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="MessageDialogClass"
            c:type="AdwMessageDialogClass"
            glib:is-gtype-struct-for="MessageDialog">
      <source-position filename="src/adw-message-dialog.h" line="37"/>
      <field name="parent_class">
        <type name="Gtk.WindowClass" c:type="GtkWindowClass"/>
      </field>
      <field name="response">
        <callback name="response">
          <source-position filename="src/adw-message-dialog.h" line="32"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/adw-message-dialog.c"
                   line="2477">a message dialog</doc>
              <type name="MessageDialog" c:type="AdwMessageDialog*"/>
            </parameter>
            <parameter name="response" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/adw-message-dialog.c"
                   line="2478">response ID</doc>
              <type name="utf8" c:type="const char*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="padding" readable="0" private="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <class name="MultiLayoutView"
           c:symbol-prefix="multi_layout_view"
           c:type="AdwMultiLayoutView"
           version="1.6"
           parent="Gtk.Widget"
           final="1"
           glib:type-name="AdwMultiLayoutView"
           glib:get-type="adw_multi_layout_view_get_type"
           glib:type-struct="MultiLayoutViewClass">
      <doc xml:space="preserve"
           filename="src/adw-multi-layout-view.c"
           line="17">A widget for switching between different layouts.

`AdwMultiLayoutView` contains layouts and children. Each child has
an ID, each layout has slots inside it, each slot also has an ID. When
switching layouts, children are inserted into slots with matching IDs. The
[property@Gtk.Widget:visible] property of each slot is updated to match
that of the inserted child.

This can be useful for rearranging children when it's difficult to do so
otherwise, for example to move a child from a sidebar to a bottom bar.

The currently used layout can be switched using the
[property@MultiLayoutView:layout] or [property@MultiLayoutView:layout-name]
properties. For example, it can be done via a [class@Adw.Breakpoint] setter
to change layouts depending on the window size.

## AdwMultiLayoutView as GtkBuildable

The `AdwMultiLayoutView` implementation of the [iface@Gtk.Buildable]
interface supports adding layouts via `&lt;child&gt;` element with the `type`
attribute omitted.

It also supports setting children via `&lt;child type="ID"&gt;`.

Example of an `AdwMultiLayoutView` UI definition that can display a secondary
child as either a sidebar or a bottom sheet.

```xml
&lt;object class="AdwMultiLayoutView"&gt;
  &lt;child&gt;
    &lt;object class="AdwLayout"&gt;
      &lt;property name="name"&gt;sidebar&lt;/property&gt;
      &lt;property name="content"&gt;
        &lt;object class="AdwOverlaySplitView"&gt;
          &lt;property name="sidebar"&gt;
            &lt;object class="AdwLayoutSlot"&gt;
              &lt;property name="id"&gt;secondary&lt;/property&gt;
            &lt;/object&gt;
          &lt;/property&gt;
          &lt;property name="content"&gt;
            &lt;object class="AdwLayoutSlot"&gt;
              &lt;property name="id"&gt;primary&lt;/property&gt;
            &lt;/object&gt;
          &lt;/property&gt;
        &lt;/object&gt;
      &lt;/property&gt;
    &lt;/object&gt;
  &lt;/child&gt;
  &lt;child&gt;
    &lt;object class="AdwLayout"&gt;
      &lt;property name="name"&gt;bottom-sheet&lt;/property&gt;
      &lt;property name="content"&gt;
        &lt;object class="AdwBottomSheet"&gt;
          &lt;property name="open"&gt;True&lt;/property&gt;
          &lt;property name="content"&gt;
            &lt;object class="AdwLayoutSlot"&gt;
              &lt;property name="id"&gt;primary&lt;/property&gt;
            &lt;/object&gt;
          &lt;/property&gt;
          &lt;property name="sheet"&gt;
            &lt;object class="AdwLayoutSlot"&gt;
              &lt;property name="id"&gt;secondary&lt;/property&gt;
            &lt;/object&gt;
          &lt;/property&gt;
        &lt;/object&gt;
      &lt;/property&gt;
    &lt;/object&gt;
  &lt;/child&gt;
  &lt;child type="primary"&gt;
    &lt;!-- ... --&gt;
  &lt;/child&gt;
  &lt;child type="secondary"&gt;
    &lt;!-- ... --&gt;
  &lt;/child&gt;
&lt;/object&gt;
```

## CSS nodes

`AdwMultiLayoutView` has a single CSS node with name `multi-layout-view`.</doc>
      <source-position filename="src/adw-multi-layout-view.h" line="27"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <constructor name="new"
                   c:identifier="adw_multi_layout_view_new"
                   version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-multi-layout-view.c"
             line="426">Creates a new `AdwMultiLayoutView`.</doc>
        <source-position filename="src/adw-multi-layout-view.h" line="30"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-multi-layout-view.c"
               line="431">the newly created `AdwMultiLayoutView`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="add_layout"
              c:identifier="adw_multi_layout_view_add_layout"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-multi-layout-view.c"
             line="532">Adds @layout to @self.</doc>
        <source-position filename="src/adw-multi-layout-view.h" line="45"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-multi-layout-view.c"
                 line="534">a multi-layout view</doc>
            <type name="MultiLayoutView" c:type="AdwMultiLayoutView*"/>
          </instance-parameter>
          <parameter name="layout" transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/adw-multi-layout-view.c"
                 line="535">the layout to add</doc>
            <type name="Layout" c:type="AdwLayout*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_child"
              c:identifier="adw_multi_layout_view_get_child"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-multi-layout-view.c"
             line="625">Gets the child for @id to @self.</doc>
        <source-position filename="src/adw-multi-layout-view.h" line="56"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-multi-layout-view.c"
               line="632">the child for @id</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-multi-layout-view.c"
                 line="627">a multi-layout view</doc>
            <type name="MultiLayoutView" c:type="AdwMultiLayoutView*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-multi-layout-view.c"
                 line="628">the id of the child</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_layout"
              c:identifier="adw_multi_layout_view_get_layout"
              glib:get-property="layout"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-multi-layout-view.c"
             line="441">Gets the currently used layout of @self.</doc>
        <source-position filename="src/adw-multi-layout-view.h" line="33"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-multi-layout-view.c"
               line="447">the current layout</doc>
          <type name="Layout" c:type="AdwLayout*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-multi-layout-view.c"
                 line="443">a multi-layout view</doc>
            <type name="MultiLayoutView" c:type="AdwMultiLayoutView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_layout_by_name"
              c:identifier="adw_multi_layout_view_get_layout_by_name"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-multi-layout-view.c"
             line="593">Gets layout with the name @name from @self, or `NULL` if it doesn't exist.

See [property@Layout:name].</doc>
        <source-position filename="src/adw-multi-layout-view.h" line="52"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-multi-layout-view.c"
               line="602">the layout with @name</doc>
          <type name="Layout" c:type="AdwLayout*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-multi-layout-view.c"
                 line="595">a multi-layout view</doc>
            <type name="MultiLayoutView" c:type="AdwMultiLayoutView*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-multi-layout-view.c"
                 line="596">the name of the layout</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_layout_name"
              c:identifier="adw_multi_layout_view_get_layout_name"
              glib:get-property="layout-name"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-multi-layout-view.c"
             line="478">Returns the name of the currently used layout of @self.</doc>
        <source-position filename="src/adw-multi-layout-view.h" line="39"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-multi-layout-view.c"
               line="484">the name of the current layout</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-multi-layout-view.c"
                 line="480">a multi-layout view</doc>
            <type name="MultiLayoutView" c:type="AdwMultiLayoutView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove_layout"
              c:identifier="adw_multi_layout_view_remove_layout"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-multi-layout-view.c"
             line="565">Removes @layout from @self.</doc>
        <source-position filename="src/adw-multi-layout-view.h" line="49"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-multi-layout-view.c"
                 line="567">a multi-layout view</doc>
            <type name="MultiLayoutView" c:type="AdwMultiLayoutView*"/>
          </instance-parameter>
          <parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-multi-layout-view.c"
                 line="568">the layout to add</doc>
            <type name="Layout" c:type="AdwLayout*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_child"
              c:identifier="adw_multi_layout_view_set_child"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-multi-layout-view.c"
             line="646">Sets @child as the child for @id in @self.

When changing layouts, it will be inserted into the slot with @id.</doc>
        <source-position filename="src/adw-multi-layout-view.h" line="59"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-multi-layout-view.c"
                 line="648">a multi-layout view</doc>
            <type name="MultiLayoutView" c:type="AdwMultiLayoutView*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-multi-layout-view.c"
                 line="649">the id of the child</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-multi-layout-view.c"
                 line="650">the child to set</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_layout"
              c:identifier="adw_multi_layout_view_set_layout"
              glib:set-property="layout"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-multi-layout-view.c"
             line="459">Makes @layout the current layout of @self.</doc>
        <source-position filename="src/adw-multi-layout-view.h" line="35"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-multi-layout-view.c"
                 line="461">a multi-layout view</doc>
            <type name="MultiLayoutView" c:type="AdwMultiLayoutView*"/>
          </instance-parameter>
          <parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-multi-layout-view.c"
                 line="462">a layout in @self</doc>
            <type name="Layout" c:type="AdwLayout*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_layout_name"
              c:identifier="adw_multi_layout_view_set_layout_name"
              glib:set-property="layout-name"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-multi-layout-view.c"
             line="499">Makes the layout with @name the current layout of @self.

See [property@Layout:name].</doc>
        <source-position filename="src/adw-multi-layout-view.h" line="41"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-multi-layout-view.c"
                 line="501">a multi-layout view</doc>
            <type name="MultiLayoutView" c:type="AdwMultiLayoutView*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-multi-layout-view.c"
                 line="502">the name of the layout</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <property name="layout"
                version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_layout"
                getter="get_layout">
        <doc xml:space="preserve"
             filename="src/adw-multi-layout-view.c"
             line="361">The currently used layout.</doc>
        <type name="Layout"/>
      </property>
      <property name="layout-name"
                version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_layout_name"
                getter="get_layout_name"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/adw-multi-layout-view.c"
             line="373">The name of the currently used layout.

See [property@Layout:name].</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
    </class>
    <record name="MultiLayoutViewClass"
            c:type="AdwMultiLayoutViewClass"
            glib:is-gtype-struct-for="MultiLayoutView">
      <source-position filename="src/adw-multi-layout-view.h" line="27"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
    </record>
    <enumeration name="NavigationDirection"
                 glib:type-name="AdwNavigationDirection"
                 glib:get-type="adw_navigation_direction_get_type"
                 c:type="AdwNavigationDirection">
      <doc xml:space="preserve"
           filename="src/adw-navigation-direction.c"
           line="10">Describes the direction of a swipe navigation gesture.</doc>
      <member name="back"
              value="0"
              c:identifier="ADW_NAVIGATION_DIRECTION_BACK"
              glib:nick="back"
              glib:name="ADW_NAVIGATION_DIRECTION_BACK">
        <doc xml:space="preserve"
             filename="src/adw-navigation-direction.c"
             line="12">Corresponds to start or top, depending on orientation and text direction</doc>
      </member>
      <member name="forward"
              value="1"
              c:identifier="ADW_NAVIGATION_DIRECTION_FORWARD"
              glib:nick="forward"
              glib:name="ADW_NAVIGATION_DIRECTION_FORWARD">
        <doc xml:space="preserve"
             filename="src/adw-navigation-direction.c"
             line="13">Corresponds to end or bottom, depending on orientation and text direction</doc>
      </member>
    </enumeration>
    <class name="NavigationPage"
           c:symbol-prefix="navigation_page"
           c:type="AdwNavigationPage"
           version="1.4"
           parent="Gtk.Widget"
           glib:type-name="AdwNavigationPage"
           glib:get-type="adw_navigation_page_get_type"
           glib:type-struct="NavigationPageClass">
      <doc xml:space="preserve"
           filename="src/adw-navigation-view.c"
           line="184">A page within [class@NavigationView] or [class@NavigationSplitView].

Each page has a child widget, a title and optionally a tag.

The [signal@NavigationPage::showing], [signal@NavigationPage::shown],
[signal@NavigationPage::hiding] and [signal@NavigationPage::hidden] signals
can be used to track the page's visibility within its `AdwNavigationView`.

## Header Bar Integration

When placed inside `AdwNavigationPage`, [class@HeaderBar] will display the
page title instead of window title.

When used together with [class@NavigationView], it will also display a back
button that can be used to go back to the previous page. Set
[property@HeaderBar:show-back-button] to `FALSE` to disable that behavior if
it's unwanted.

## CSS Nodes

`AdwNavigationPage` has a single CSS node with name
`navigation-view-page`.

## Accessibility

`AdwNavigationPage` uses the `GTK_ACCESSIBLE_ROLE_GROUP` role.</doc>
      <source-position filename="src/adw-navigation-view.h" line="76"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <constructor name="new"
                   c:identifier="adw_navigation_page_new"
                   version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="2138">Creates a new `AdwNavigationPage`.</doc>
        <source-position filename="src/adw-navigation-view.h" line="79"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-navigation-view.c"
               line="2145">the new created `AdwNavigationPage`</doc>
          <type name="NavigationPage" c:type="AdwNavigationPage*"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="2140">the child widget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="title" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="2141">the page title</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_with_tag"
                   c:identifier="adw_navigation_page_new_with_tag"
                   version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="2162">Creates a new `AdwNavigationPage` with provided tag.</doc>
        <source-position filename="src/adw-navigation-view.h" line="83"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-navigation-view.c"
               line="2170">the new created `AdwNavigationPage`</doc>
          <type name="NavigationPage" c:type="AdwNavigationPage*"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="2164">the child widget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="title" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="2165">the page title</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="2166">the page tag</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="hidden" version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.h"
             line="63">Called when the navigation view transition has been completed and the page
is fully hidden.</doc>
        <source-position filename="src/adw-navigation-view.h" line="72"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.h"
                 line="65">a navigation page</doc>
            <type name="NavigationPage" c:type="AdwNavigationPage*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="hiding" version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.h"
             line="52">Called when the page starts hiding at the beginning of the navigation view
transition.</doc>
        <source-position filename="src/adw-navigation-view.h" line="61"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.h"
                 line="54">a navigation page</doc>
            <type name="NavigationPage" c:type="AdwNavigationPage*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="showing" version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.h"
             line="30">Called when the page shows at the beginning of the navigation view
transition.</doc>
        <source-position filename="src/adw-navigation-view.h" line="39"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.h"
                 line="32">a navigation page</doc>
            <type name="NavigationPage" c:type="AdwNavigationPage*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="shown" version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.h"
             line="41">Called when the navigation view transition has been completed and the page
is fully shown.</doc>
        <source-position filename="src/adw-navigation-view.h" line="50"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.h"
                 line="43">a navigation page</doc>
            <type name="NavigationPage" c:type="AdwNavigationPage*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="get_can_pop"
              c:identifier="adw_navigation_page_get_can_pop"
              glib:get-property="can-pop"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="2386">Gets whether @self can be popped from navigation stack.</doc>
        <source-position filename="src/adw-navigation-view.h" line="106"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-navigation-view.c"
               line="2392">whether the page can be popped from navigation stack</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="2388">a navigation page</doc>
            <type name="NavigationPage" c:type="AdwNavigationPage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_child"
              c:identifier="adw_navigation_page_get_child"
              glib:get-property="child"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="2190">Gets the child widget of @self.</doc>
        <source-position filename="src/adw-navigation-view.h" line="88"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-navigation-view.c"
               line="2196">the child widget of @self</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="2192">a navigation page</doc>
            <type name="NavigationPage" c:type="AdwNavigationPage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_tag"
              c:identifier="adw_navigation_page_get_tag"
              glib:get-property="tag"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="2253">Gets the tag of @self.</doc>
        <source-position filename="src/adw-navigation-view.h" line="94"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-navigation-view.c"
               line="2259">the page tag</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="2255">a navigation page</doc>
            <type name="NavigationPage" c:type="AdwNavigationPage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_title"
              c:identifier="adw_navigation_page_get_title"
              glib:get-property="title"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="2331">Gets the title of @self.</doc>
        <source-position filename="src/adw-navigation-view.h" line="100"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-navigation-view.c"
               line="2337">the title of @self</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="2333">a navigation page</doc>
            <type name="NavigationPage" c:type="AdwNavigationPage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_can_pop"
              c:identifier="adw_navigation_page_set_can_pop"
              glib:set-property="can-pop"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="2408">Sets whether @self can be popped from navigation stack.

Set it to `FALSE` to disable shortcuts and gestures, as well as remove the
back button from [class@HeaderBar].

Manually calling [method@NavigationView.pop] or using the `navigation.pop`
action will still work.

See [property@HeaderBar:show-back-button] for removing only the back button,
but not shortcuts.</doc>
        <source-position filename="src/adw-navigation-view.h" line="108"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="2410">a navigation page</doc>
            <type name="NavigationPage" c:type="AdwNavigationPage*"/>
          </instance-parameter>
          <parameter name="can_pop" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="2411">whether the page can be popped from navigation stack</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_child"
              c:identifier="adw_navigation_page_set_child"
              glib:set-property="child"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="2212">Sets the child widget of @self.</doc>
        <source-position filename="src/adw-navigation-view.h" line="90"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="2214">a navigation page</doc>
            <type name="NavigationPage" c:type="AdwNavigationPage*"/>
          </instance-parameter>
          <parameter name="child"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="2215">the child widget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_tag"
              c:identifier="adw_navigation_page_set_tag"
              glib:set-property="tag"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="2275">Sets the tag for @self.

The tag can be used to retrieve the page with
[method@NavigationView.find_page], as well as with
[method@NavigationView.push_by_tag], [method@NavigationView.pop_to_tag] or
[method@NavigationView.replace_with_tags].

Tags must be unique within each [class@NavigationView].

The tag also must be set to use the `navigation.push` action.</doc>
        <source-position filename="src/adw-navigation-view.h" line="96"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="2277">a navigation page</doc>
            <type name="NavigationPage" c:type="AdwNavigationPage*"/>
          </instance-parameter>
          <parameter name="tag"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="2278">the page tag</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_title"
              c:identifier="adw_navigation_page_set_title"
              glib:set-property="title"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="2353">Sets the title of @self.

It's displayed in [class@HeaderBar] instead of the window title, and used as
the tooltip on the next page's back button, as well as by screen reader.</doc>
        <source-position filename="src/adw-navigation-view.h" line="102"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="2355">a navigation page</doc>
            <type name="NavigationPage" c:type="AdwNavigationPage*"/>
          </instance-parameter>
          <parameter name="title" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="2356">the title</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <property name="can-pop"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_can_pop"
                getter="get_can_pop"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="583">Whether the page can be popped from navigation stack.

Set it to `FALSE` to disable shortcuts and gestures, as well as remove the
back button from [class@HeaderBar].

Manually calling [method@NavigationView.pop] or using the `navigation.pop`
action will still work.

See [property@HeaderBar:show-back-button] for removing only the back
button, but not shortcuts.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="child"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_child"
                getter="get_child">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="535">The child widget.</doc>
        <type name="Gtk.Widget"/>
      </property>
      <property name="tag"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_tag"
                getter="get_tag"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="547">The page tag.

The tag can be used to retrieve the page with
[method@NavigationView.find_page], as well as with
[method@NavigationView.push_by_tag], [method@NavigationView.pop_to_tag] or
[method@NavigationView.replace_with_tags].

Tags must be unique within each [class@NavigationView].

The tag also must be set to use the `navigation.push` action.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="title"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_title"
                getter="get_title">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="568">The page title.

It's displayed in [class@HeaderBar] instead of the window title, and used
as the tooltip on the next page's back button, as well as by screen reader.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent_instance">
        <type name="Gtk.Widget" c:type="GtkWidget"/>
      </field>
      <glib:signal name="hidden" when="last" version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="678">Emitted when the navigation view transition has been completed and the page
is fully hidden.

It will always be preceded by [signal@NavigationPage::hiding] or
[signal@NavigationPage::showing].</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="hiding" when="last" version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="654">Emitted when the page starts hiding at the beginning of the navigation view
transition.

It will always be followed by [signal@NavigationPage::hidden] or
[signal@NavigationPage::shown].</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="showing" when="last" version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="606">Emitted when the page shows at the beginning of the navigation view
transition.

It will always be followed by [signal@NavigationPage::shown] or
[signal@NavigationPage::hidden].</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="shown" when="last" version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="630">Emitted when the navigation view transition has been completed and the page
is fully shown.

It will always be preceded by [signal@NavigationPage::showing] or
[signal@NavigationPage::hiding].</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="NavigationPageClass"
            c:type="AdwNavigationPageClass"
            glib:is-gtype-struct-for="NavigationPage">
      <source-position filename="src/adw-navigation-view.h" line="76"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
      <field name="showing">
        <callback name="showing">
          <source-position filename="src/adw-navigation-view.h" line="39"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/adw-navigation-view.h"
                   line="32">a navigation page</doc>
              <type name="NavigationPage" c:type="AdwNavigationPage*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="shown">
        <callback name="shown">
          <source-position filename="src/adw-navigation-view.h" line="50"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/adw-navigation-view.h"
                   line="43">a navigation page</doc>
              <type name="NavigationPage" c:type="AdwNavigationPage*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="hiding">
        <callback name="hiding">
          <source-position filename="src/adw-navigation-view.h" line="61"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/adw-navigation-view.h"
                   line="54">a navigation page</doc>
              <type name="NavigationPage" c:type="AdwNavigationPage*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="hidden">
        <callback name="hidden">
          <source-position filename="src/adw-navigation-view.h" line="72"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/adw-navigation-view.h"
                   line="65">a navigation page</doc>
              <type name="NavigationPage" c:type="AdwNavigationPage*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="padding" readable="0" private="1">
        <array zero-terminated="0" fixed-size="8">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <class name="NavigationSplitView"
           c:symbol-prefix="navigation_split_view"
           c:type="AdwNavigationSplitView"
           version="1.4"
           parent="Gtk.Widget"
           final="1"
           glib:type-name="AdwNavigationSplitView"
           glib:get-type="adw_navigation_split_view_get_type"
           glib:type-struct="NavigationSplitViewClass">
      <doc xml:space="preserve"
           filename="src/adw-navigation-split-view.c"
           line="20">A widget presenting sidebar and content side by side or as a navigation view.

&lt;picture&gt;
  &lt;source srcset="navigation-split-view-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="navigation-split-view.png" alt="navigation-split-view"&gt;
&lt;/picture&gt;
&lt;picture&gt;
  &lt;source srcset="navigation-split-view-collapsed-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="navigation-split-view-collapsed.png" alt="navigation-split-view-collapsed"&gt;
&lt;/picture&gt;

`AdwNavigationSplitView` has two [class@NavigationPage] children: sidebar and
content, and displays them side by side.

When [property@NavigationSplitView:collapsed] is set to `TRUE`, it instead
puts both children inside an [class@NavigationView]. The
[property@NavigationSplitView:show-content] controls which child is visible
while collapsed.

See also [class@OverlaySplitView].

`AdwNavigationSplitView` is typically used together with an [class@Breakpoint]
setting the `collapsed` property to `TRUE` on small widths, as follows:

```xml
&lt;object class="AdwWindow"&gt;
  &lt;property name="width-request"&gt;280&lt;/property&gt;
  &lt;property name="height-request"&gt;200&lt;/property&gt;
  &lt;property name="default-width"&gt;800&lt;/property&gt;
  &lt;property name="default-height"&gt;800&lt;/property&gt;
  &lt;child&gt;
    &lt;object class="AdwBreakpoint"&gt;
      &lt;condition&gt;max-width: 400sp&lt;/condition&gt;
      &lt;setter object="split_view" property="collapsed"&gt;True&lt;/setter&gt;
    &lt;/object&gt;
  &lt;/child&gt;
  &lt;property name="content"&gt;
    &lt;object class="AdwNavigationSplitView" id="split_view"&gt;
      &lt;property name="sidebar"&gt;
        &lt;object class="AdwNavigationPage"&gt;
          &lt;property name="title" translatable="yes"&gt;Sidebar&lt;/property&gt;
          &lt;property name="child"&gt;
            &lt;!-- ... --&gt;
          &lt;/property&gt;
        &lt;/object&gt;
      &lt;/property&gt;
      &lt;property name="content"&gt;
        &lt;object class="AdwNavigationPage"&gt;
          &lt;property name="title" translatable="yes"&gt;Content&lt;/property&gt;
          &lt;property name="child"&gt;
            &lt;!-- ... --&gt;
          &lt;/property&gt;
        &lt;/object&gt;
      &lt;/property&gt;
    &lt;/object&gt;
  &lt;/property&gt;
&lt;/object&gt;
```

## Sizing

When not collapsed, `AdwNavigationSplitView` changes the sidebar width
depending on its own width.

If possible, it tries to allocate a fraction of the total width, controlled
with the [property@NavigationSplitView:sidebar-width-fraction] property.

The sidebar also has minimum and maximum sizes, controlled with the
[property@NavigationSplitView:min-sidebar-width] and
[property@NavigationSplitView:max-sidebar-width] properties.

The minimum and maximum sizes are using the length unit specified with the
[property@NavigationSplitView:sidebar-width-unit].

By default, sidebar is using 25% of the total width, with 180sp as the
minimum size and 280sp as the maximum size.

## Header Bar Integration

When used inside `AdwNavigationSplitView`, [class@HeaderBar] will
automatically hide the window buttons in the middle.

When collapsed, it also displays a back button for the content widget, as
well as the page titles. See [class@NavigationView] documentation for details.

## Actions

`AdwNavigationSplitView` defines the same actions as `AdwNavigationView`, but
they can be used even when the split view is not collapsed:

- `navigation.push` takes a string parameter specifying the tag of the page
to push. If it matches the tag of the content widget, it sets
[property@NavigationSplitView:show-content] to `TRUE`.

- `navigation.pop` doesn't take any parameters and sets
[property@NavigationSplitView:show-content] to `FALSE`.

## `AdwNavigationSplitView` as `GtkBuildable`

The `AdwNavigationSplitView` implementation of the [iface@Gtk.Buildable]
interface supports setting the sidebar widget by specifying “sidebar” as the
“type” attribute of a `&lt;child&gt;` element, Specifying “content” child type or
omitting it results in setting the content widget.

## CSS nodes

`AdwNavigationSplitView` has a single CSS node with the name
`navigation-split-view`.

When collapsed, it contains a child node with the name `navigation-view`
containing both children.

```
navigation-split-view
╰── navigation-view
    ├── [sidebar child]
    ╰── [content child]
```

When not collapsed, it contains two nodes with the name `widget`, one with
the `.sidebar-pane` style class, the other one with `.content-view` style
class, containing the sidebar and content children respectively.

```
navigation-split-view
├── widget.sidebar-pane
│   ╰── [sidebar child]
╰── widget.content-pane
    ╰── [content child]
```

## Accessibility

`AdwNavigationSplitView` uses the `GTK_ACCESSIBLE_ROLE_GROUP` role.</doc>
      <source-position filename="src/adw-navigation-split-view.h" line="27"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <constructor name="new"
                   c:identifier="adw_navigation_split_view_new"
                   version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-split-view.c"
             line="1029">Creates a new `AdwNavigationSplitView`.</doc>
        <source-position filename="src/adw-navigation-split-view.h" line="30"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-navigation-split-view.c"
               line="1034">the newly created `AdwNavigationSplitView`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="get_collapsed"
              c:identifier="adw_navigation_split_view_get_collapsed"
              glib:get-property="collapsed"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-split-view.c"
             line="1289">Gets whether @self is collapsed.</doc>
        <source-position filename="src/adw-navigation-split-view.h" line="51"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-navigation-split-view.c"
               line="1295">whether @self is collapsed</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-split-view.c"
                 line="1291">a navigation split view</doc>
            <type name="NavigationSplitView" c:type="AdwNavigationSplitView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_content"
              c:identifier="adw_navigation_split_view_get_content"
              glib:get-property="content"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-split-view.c"
             line="1137">Sets the content widget for @self.</doc>
        <source-position filename="src/adw-navigation-split-view.h" line="39"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-navigation-split-view.c"
               line="1143">the content widget</doc>
          <type name="NavigationPage" c:type="AdwNavigationPage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-split-view.c"
                 line="1139">a navigation split view</doc>
            <type name="NavigationSplitView" c:type="AdwNavigationSplitView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_max_sidebar_width"
              c:identifier="adw_navigation_split_view_get_max_sidebar_width"
              glib:get-property="max-sidebar-width"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-split-view.c"
             line="1463">Gets the maximum sidebar width for @self.</doc>
        <source-position filename="src/adw-navigation-split-view.h" line="69"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-navigation-split-view.c"
               line="1469">the maximum width</doc>
          <type name="gdouble" c:type="double"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-split-view.c"
                 line="1465">a navigation split view</doc>
            <type name="NavigationSplitView" c:type="AdwNavigationSplitView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_min_sidebar_width"
              c:identifier="adw_navigation_split_view_get_min_sidebar_width"
              glib:get-property="min-sidebar-width"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-split-view.c"
             line="1413">Gets the minimum sidebar width for @self.</doc>
        <source-position filename="src/adw-navigation-split-view.h" line="63"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-navigation-split-view.c"
               line="1419">the minimum width</doc>
          <type name="gdouble" c:type="double"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-split-view.c"
                 line="1415">a navigation split view</doc>
            <type name="NavigationSplitView" c:type="AdwNavigationSplitView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_show_content"
              c:identifier="adw_navigation_split_view_get_show_content"
              glib:get-property="show-content"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-split-view.c"
             line="1341">Gets which page is visible when @self is collapsed.</doc>
        <source-position filename="src/adw-navigation-split-view.h" line="57"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-navigation-split-view.c"
               line="1347">whether to show content when collapsed</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-split-view.c"
                 line="1343">a navigation split view</doc>
            <type name="NavigationSplitView" c:type="AdwNavigationSplitView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_sidebar"
              c:identifier="adw_navigation_split_view_get_sidebar"
              glib:get-property="sidebar"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-split-view.c"
             line="1044">Gets the sidebar widget for @self.</doc>
        <source-position filename="src/adw-navigation-split-view.h" line="33"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-navigation-split-view.c"
               line="1050">the sidebar widget</doc>
          <type name="NavigationPage" c:type="AdwNavigationPage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-split-view.c"
                 line="1046">a navigation split view</doc>
            <type name="NavigationSplitView" c:type="AdwNavigationSplitView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_sidebar_position"
              c:identifier="adw_navigation_split_view_get_sidebar_position"
              glib:get-property="sidebar-position"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-navigation-split-view.c"
             line="1230">Gets the sidebar position for @self.</doc>
        <source-position filename="src/adw-navigation-split-view.h" line="45"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-navigation-split-view.c"
               line="1236">the sidebar position for @self</doc>
          <type name="Gtk.PackType" c:type="GtkPackType"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-split-view.c"
                 line="1232">a navigation split view</doc>
            <type name="NavigationSplitView" c:type="AdwNavigationSplitView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_sidebar_width_fraction"
              c:identifier="adw_navigation_split_view_get_sidebar_width_fraction"
              glib:get-property="sidebar-width-fraction"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-split-view.c"
             line="1513">Gets the preferred sidebar width fraction for @self.</doc>
        <source-position filename="src/adw-navigation-split-view.h" line="75"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-navigation-split-view.c"
               line="1519">the preferred width fraction</doc>
          <type name="gdouble" c:type="double"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-split-view.c"
                 line="1515">a navigation split view</doc>
            <type name="NavigationSplitView" c:type="AdwNavigationSplitView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_sidebar_width_unit"
              c:identifier="adw_navigation_split_view_get_sidebar_width_unit"
              glib:get-property="sidebar-width-unit"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-split-view.c"
             line="1564">Gets the length unit for minimum and maximum sidebar widths.</doc>
        <source-position filename="src/adw-navigation-split-view.h" line="81"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-navigation-split-view.c"
               line="1570">the length unit</doc>
          <type name="LengthUnit" c:type="AdwLengthUnit"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-split-view.c"
                 line="1566">a navigation split view</doc>
            <type name="NavigationSplitView" c:type="AdwNavigationSplitView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_collapsed"
              c:identifier="adw_navigation_split_view_set_collapsed"
              glib:set-property="collapsed"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-split-view.c"
             line="1307">Sets whether @self is collapsed.

When collapsed, the children are put inside an [class@NavigationView],
otherwise they are displayed side by side.

The [property@NavigationSplitView:show-content] controls which child is
visible while collapsed.</doc>
        <source-position filename="src/adw-navigation-split-view.h" line="53"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-split-view.c"
                 line="1309">a navigation split view</doc>
            <type name="NavigationSplitView" c:type="AdwNavigationSplitView*"/>
          </instance-parameter>
          <parameter name="collapsed" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-split-view.c"
                 line="1310">whether @self is collapsed</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_content"
              c:identifier="adw_navigation_split_view_set_content"
              glib:set-property="content"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-split-view.c"
             line="1155">Sets the content widget for @self.</doc>
        <source-position filename="src/adw-navigation-split-view.h" line="41"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-split-view.c"
                 line="1157">a navigation split view</doc>
            <type name="NavigationSplitView" c:type="AdwNavigationSplitView*"/>
          </instance-parameter>
          <parameter name="content"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-split-view.c"
                 line="1158">the content widget</doc>
            <type name="NavigationPage" c:type="AdwNavigationPage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_max_sidebar_width"
              c:identifier="adw_navigation_split_view_set_max_sidebar_width"
              glib:set-property="max-sidebar-width"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-split-view.c"
             line="1481">Sets the maximum sidebar width for @self.

Maximum width is affected by
[property@NavigationSplitView:sidebar-width-unit].

The sidebar widget can still be allocated with larger width if its own
minimum width exceeds it.</doc>
        <source-position filename="src/adw-navigation-split-view.h" line="71"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-split-view.c"
                 line="1483">a navigation split view</doc>
            <type name="NavigationSplitView" c:type="AdwNavigationSplitView*"/>
          </instance-parameter>
          <parameter name="width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-split-view.c"
                 line="1484">the maximum width</doc>
            <type name="gdouble" c:type="double"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_min_sidebar_width"
              c:identifier="adw_navigation_split_view_set_min_sidebar_width"
              glib:set-property="min-sidebar-width"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-split-view.c"
             line="1431">Sets the minimum sidebar width for @self.

Minimum width is affected by
[property@NavigationSplitView:sidebar-width-unit].

The sidebar widget can still be allocated with larger width if its own
minimum width exceeds it.</doc>
        <source-position filename="src/adw-navigation-split-view.h" line="65"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-split-view.c"
                 line="1433">a navigation split view</doc>
            <type name="NavigationSplitView" c:type="AdwNavigationSplitView*"/>
          </instance-parameter>
          <parameter name="width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-split-view.c"
                 line="1434">the minimum width</doc>
            <type name="gdouble" c:type="double"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_show_content"
              c:identifier="adw_navigation_split_view_set_show_content"
              glib:set-property="show-content"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-split-view.c"
             line="1359">Sets which page is visible when @self is collapsed.

If set to `TRUE`, the content widget will be the visible page when
[property@NavigationSplitView:collapsed] is `TRUE`; otherwise the sidebar
widget will be visible.

If the split view is already collapsed, the visible page changes immediately.</doc>
        <source-position filename="src/adw-navigation-split-view.h" line="59"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-split-view.c"
                 line="1361">a navigation split view</doc>
            <type name="NavigationSplitView" c:type="AdwNavigationSplitView*"/>
          </instance-parameter>
          <parameter name="show_content" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-split-view.c"
                 line="1362">whether to show content when collapsed</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_sidebar"
              c:identifier="adw_navigation_split_view_set_sidebar"
              glib:set-property="sidebar"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-split-view.c"
             line="1062">Sets the sidebar widget for @self.</doc>
        <source-position filename="src/adw-navigation-split-view.h" line="35"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-split-view.c"
                 line="1064">a navigation split view</doc>
            <type name="NavigationSplitView" c:type="AdwNavigationSplitView*"/>
          </instance-parameter>
          <parameter name="sidebar"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-split-view.c"
                 line="1065">the sidebar widget</doc>
            <type name="NavigationPage" c:type="AdwNavigationPage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_sidebar_position"
              c:identifier="adw_navigation_split_view_set_sidebar_position"
              glib:set-property="sidebar-position"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-navigation-split-view.c"
             line="1248">Sets the sidebar position for @self.

If set to `GTK_PACK_START`, the sidebar is displayed before the content,
and the sidebar will be the root page when collapsed.

If set to `GTK_PACK_END`, the sidebar is displayed after the content,
and the content will be the root page.</doc>
        <source-position filename="src/adw-navigation-split-view.h" line="47"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-split-view.c"
                 line="1250">a navigation split view</doc>
            <type name="NavigationSplitView" c:type="AdwNavigationSplitView*"/>
          </instance-parameter>
          <parameter name="position" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-split-view.c"
                 line="1251">the new position</doc>
            <type name="Gtk.PackType" c:type="GtkPackType"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_sidebar_width_fraction"
              c:identifier="adw_navigation_split_view_set_sidebar_width_fraction"
              glib:set-property="sidebar-width-fraction"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-split-view.c"
             line="1531">Sets the preferred sidebar width as a fraction of the total width of @self.

The preferred width is additionally limited by
[property@NavigationSplitView:min-sidebar-width] and
[property@NavigationSplitView:max-sidebar-width].

The sidebar widget can be allocated with larger width if its own minimum
width exceeds the preferred width.</doc>
        <source-position filename="src/adw-navigation-split-view.h" line="77"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-split-view.c"
                 line="1533">a navigation split view</doc>
            <type name="NavigationSplitView" c:type="AdwNavigationSplitView*"/>
          </instance-parameter>
          <parameter name="fraction" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-split-view.c"
                 line="1534">the preferred width fraction</doc>
            <type name="gdouble" c:type="double"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_sidebar_width_unit"
              c:identifier="adw_navigation_split_view_set_sidebar_width_unit"
              glib:set-property="sidebar-width-unit"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-split-view.c"
             line="1582">Sets the length unit for minimum and maximum sidebar widths.

See [property@NavigationSplitView:min-sidebar-width] and
[property@NavigationSplitView:max-sidebar-width].</doc>
        <source-position filename="src/adw-navigation-split-view.h" line="83"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-split-view.c"
                 line="1584">a navigation split view</doc>
            <type name="NavigationSplitView" c:type="AdwNavigationSplitView*"/>
          </instance-parameter>
          <parameter name="unit" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-split-view.c"
                 line="1585">the length unit</doc>
            <type name="LengthUnit" c:type="AdwLengthUnit"/>
          </parameter>
        </parameters>
      </method>
      <property name="collapsed"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_collapsed"
                getter="get_collapsed"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-navigation-split-view.c"
             line="868">Whether the split view is collapsed.

When collapsed, the children are put inside an [class@NavigationView],
otherwise they are displayed side by side.

The [property@NavigationSplitView:show-content] controls which child is
visible while collapsed.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="content"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_content"
                getter="get_content">
        <doc xml:space="preserve"
             filename="src/adw-navigation-split-view.c"
             line="837">The content widget.</doc>
        <type name="NavigationPage"/>
      </property>
      <property name="max-sidebar-width"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_max_sidebar_width"
                getter="get_max_sidebar_width"
                default-value="280.000000">
        <doc xml:space="preserve"
             filename="src/adw-navigation-split-view.c"
             line="923">The maximum sidebar width.

Maximum width is affected by
[property@NavigationSplitView:sidebar-width-unit].

The sidebar widget can still be allocated with larger width if its own
minimum width exceeds it.</doc>
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="min-sidebar-width"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_min_sidebar_width"
                getter="get_min_sidebar_width"
                default-value="180.000000">
        <doc xml:space="preserve"
             filename="src/adw-navigation-split-view.c"
             line="905">The minimum sidebar width.

Minimum width is affected by
[property@NavigationSplitView:sidebar-width-unit].

The sidebar widget can still be allocated with larger width if its own
minimum width exceeds it.</doc>
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="show-content"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_show_content"
                getter="get_show_content"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-navigation-split-view.c"
             line="886">Determines the visible page when collapsed.

If set to `TRUE`, the content widget will be the visible page when
[property@NavigationSplitView:collapsed] is `TRUE`; otherwise the sidebar
widget will be visible.

If the split view is already collapsed, the visible page changes
immediately.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="sidebar"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_sidebar"
                getter="get_sidebar">
        <doc xml:space="preserve"
             filename="src/adw-navigation-split-view.c"
             line="825">The sidebar widget.</doc>
        <type name="NavigationPage"/>
      </property>
      <property name="sidebar-position"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_sidebar_position"
                getter="get_sidebar_position"
                default-value="GTK_PACK_START">
        <doc xml:space="preserve"
             filename="src/adw-navigation-split-view.c"
             line="849">The sidebar position.

If set to `GTK_PACK_START`, the sidebar is displayed before the content,
and the sidebar will be the root page when collapsed.

If set to `GTK_PACK_END`, the sidebar is displayed after the content,
and the content will be the root page.</doc>
        <type name="Gtk.PackType"/>
      </property>
      <property name="sidebar-width-fraction"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_sidebar_width_fraction"
                getter="get_sidebar_width_fraction"
                default-value="0.250000">
        <doc xml:space="preserve"
             filename="src/adw-navigation-split-view.c"
             line="941">The preferred sidebar width as a fraction of the total width.

The preferred width is additionally limited by
[property@NavigationSplitView:min-sidebar-width] and
[property@NavigationSplitView:max-sidebar-width].

The sidebar widget can be allocated with larger width if its own minimum
width exceeds the preferred width.</doc>
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="sidebar-width-unit"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_sidebar_width_unit"
                getter="get_sidebar_width_unit"
                default-value="ADW_LENGTH_UNIT_SP">
        <doc xml:space="preserve"
             filename="src/adw-navigation-split-view.c"
             line="960">The length unit for minimum and maximum sidebar widths.

See [property@NavigationSplitView:min-sidebar-width] and
[property@NavigationSplitView:max-sidebar-width].</doc>
        <type name="LengthUnit"/>
      </property>
    </class>
    <record name="NavigationSplitViewClass"
            c:type="AdwNavigationSplitViewClass"
            glib:is-gtype-struct-for="NavigationSplitView">
      <source-position filename="src/adw-navigation-split-view.h" line="27"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
    </record>
    <class name="NavigationView"
           c:symbol-prefix="navigation_view"
           c:type="AdwNavigationView"
           version="1.4"
           parent="Gtk.Widget"
           final="1"
           glib:type-name="AdwNavigationView"
           glib:get-type="adw_navigation_view_get_type"
           glib:type-struct="NavigationViewClass">
      <doc xml:space="preserve"
           filename="src/adw-navigation-view.c"
           line="20">A page-based navigation container.

&lt;picture&gt;
  &lt;source srcset="navigation-view-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="navigation-view.png" alt="navigation-view"&gt;
&lt;/picture&gt;

`AdwNavigationView` presents one child at a time, similar to
[class@Gtk.Stack].

`AdwNavigationView` can only contain [class@NavigationPage] children.

It maintains a navigation stack that can be controlled with
[method@NavigationView.push] and [method@NavigationView.pop]. The whole
navigation stack can also be replaced using [method@NavigationView.replace].

`AdwNavigationView` allows to manage pages statically or dynamically.

Static pages can be added using the [method@NavigationView.add] method. The
`AdwNavigationView` will keep a reference to these pages, but they aren't
accessible to the user until [method@NavigationView.push] is called (except
for the first page, which is pushed automatically). Use the
[method@NavigationView.remove] method to remove them. This is useful for
applications that have a small number of unique pages and just need
navigation between them.

Dynamic pages are automatically destroyed once they are popped off the
navigation stack. To add a page like this, push it using the
[method@NavigationView.push] method without calling
[method@NavigationView.add] first.

## Tags

Static pages, as well as any pages in the navigation stack, can be accessed
by their [property@NavigationPage:tag]. For example,
[method@NavigationView.push_by_tag] can be used to push a static page that's
not in the navigation stack without having to keep a reference to it manually.

## Header Bar Integration

When used inside `AdwNavigationView`, [class@HeaderBar] will automatically
display a back button that can be used to go back to the previous page when
possible. The button also has a context menu, allowing to pop multiple pages
at once, potentially across multiple navigation views.

Set [property@HeaderBar:show-back-button] to `FALSE` to disable this behavior
in rare scenarios where it's unwanted.

`AdwHeaderBar` will also display the title of the `AdwNavigationPage` it's
placed into, so most applications shouldn't need to customize it at all.

## Shortcuts and Gestures

`AdwNavigationView` supports the following shortcuts for going to the
previous page:

- &lt;kbd&gt;Escape&lt;/kbd&gt; (unless [property@NavigationView:pop-on-escape] is set to
  `FALSE`)
- &lt;kbd&gt;Alt&lt;/kbd&gt;+&lt;kbd&gt;←&lt;/kbd&gt;
- Back mouse button

Additionally, it supports interactive gestures:

- One-finger swipe towards the right on touchscreens
- Scrolling towards the right on touchpads (usually two-finger swipe)

These gestures have transitions enabled regardless of the
[property@NavigationView:animate-transitions] value.

Applications can also enable shortcuts for pushing another page onto the
navigation stack via connecting to the [signal@NavigationView::get-next-page]
signal, in that case the following shortcuts are supported:

- &lt;kbd&gt;Alt&lt;/kbd&gt;+&lt;kbd&gt;→&lt;/kbd&gt;
- Forward mouse button
- Swipe/scrolling towards the left

For right-to-left locales, the gestures and shortcuts are reversed.

[property@NavigationPage:can-pop] can be used to disable them, along with the
header bar back buttons.

## Actions

`AdwNavigationView` defines actions for controlling the navigation stack.
actions for controlling the navigation stack:

- `navigation.push` takes a string parameter specifying the tag of the page to
push, and is equivalent to calling [method@NavigationView.push_by_tag].

- `navigation.pop` doesn't take any parameters and pops the current page from
the navigation stack, equivalent to calling [method@NavigationView.pop].

## `AdwNavigationView` as `GtkBuildable`

`AdwNavigationView` allows to add pages as children, equivalent to using the
[method@NavigationView.add] method.

Example of an `AdwNavigationView` UI definition:

```xml
&lt;object class="AdwNavigationView"&gt;
  &lt;child&gt;
    &lt;object class="AdwNavigationPage"&gt;
      &lt;property name="title" translatable="yes"&gt;Page 1&lt;/property&gt;
      &lt;property name="child"&gt;
        &lt;object class="AdwToolbarView"&gt;
          &lt;child type="top"&gt;
            &lt;object class="AdwHeaderBar"/&gt;
          &lt;/child&gt;
          &lt;property name="content"&gt;
            &lt;object class="GtkButton"&gt;
              &lt;property name="label" translatable="yes"&gt;Open Page 2&lt;/property&gt;
              &lt;property name="halign"&gt;center&lt;/property&gt;
              &lt;property name="valign"&gt;center&lt;/property&gt;
              &lt;property name="action-name"&gt;navigation.push&lt;/property&gt;
              &lt;property name="action-target"&gt;'page-2'&lt;/property&gt;
              &lt;style&gt;
                &lt;class name="pill"/&gt;
               &lt;/style&gt;
            &lt;/object&gt;
          &lt;/property&gt;
        &lt;/object&gt;
      &lt;/property&gt;
    &lt;/object&gt;
  &lt;/child&gt;
  &lt;child&gt;
    &lt;object class="AdwNavigationPage"&gt;
      &lt;property name="title" translatable="yes"&gt;Page 2&lt;/property&gt;
      &lt;property name="tag"&gt;page-2&lt;/property&gt;
      &lt;property name="child"&gt;
        &lt;object class="AdwToolbarView"&gt;
          &lt;child type="top"&gt;
            &lt;object class="AdwHeaderBar"/&gt;
          &lt;/child&gt;
          &lt;property name="content"&gt;
            &lt;!-- ... --&gt;
          &lt;/property&gt;
        &lt;/object&gt;
      &lt;/property&gt;
    &lt;/object&gt;
  &lt;/child&gt;
&lt;/object&gt;
```

&lt;picture&gt;
  &lt;source srcset="navigation-view-example-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="navigation-view-example.png" alt="navigation-view-example"&gt;
&lt;/picture&gt;

## CSS nodes

`AdwNavigationView` has a single CSS node with the name `navigation-view`.

## Accessibility

`AdwNavigationView` uses the `GTK_ACCESSIBLE_ROLE_GROUP` role.</doc>
      <source-position filename="src/adw-navigation-view.h" line="114"/>
      <implements name="Swipeable"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <constructor name="new"
                   c:identifier="adw_navigation_view_new"
                   version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="2544">Creates a new `AdwNavigationView`.</doc>
        <source-position filename="src/adw-navigation-view.h" line="117"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-navigation-view.c"
               line="2549">the new created `AdwNavigationView`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="add" c:identifier="adw_navigation_view_add" version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="2559">Permanently adds @page to @self.

Any page that has been added will stay in @self even after being popped from
the navigation stack.

Adding a page while no page is visible will automatically push it to the
navigation stack.

See [method@NavigationView.remove].</doc>
        <source-position filename="src/adw-navigation-view.h" line="120"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="2561">a navigation view</doc>
            <type name="NavigationView" c:type="AdwNavigationView*"/>
          </instance-parameter>
          <parameter name="page" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="2562">the page to add</doc>
            <type name="NavigationPage" c:type="AdwNavigationPage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="find_page"
              c:identifier="adw_navigation_view_find_page"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="2618">Finds a page in @self by its tag.

See [property@NavigationPage:tag].</doc>
        <source-position filename="src/adw-navigation-view.h" line="128"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-navigation-view.c"
               line="2627">the page with the given tag</doc>
          <type name="NavigationPage" c:type="AdwNavigationPage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="2620">a navigation view</doc>
            <type name="NavigationView" c:type="AdwNavigationView*"/>
          </instance-parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="2621">a page tag</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_animate_transitions"
              c:identifier="adw_navigation_view_get_animate_transitions"
              glib:get-property="animate-transitions"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="3210">Gets whether @self animates page transitions.</doc>
        <source-position filename="src/adw-navigation-view.h" line="182"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-navigation-view.c"
               line="3216">whether to animate page transitions</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="3212">a navigation view</doc>
            <type name="NavigationView" c:type="AdwNavigationView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_hhomogeneous"
              c:identifier="adw_navigation_view_get_hhomogeneous"
              glib:get-property="hhomogeneous"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="3107">Gets whether @self is horizontally homogeneous.</doc>
        <source-position filename="src/adw-navigation-view.h" line="170"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-navigation-view.c"
               line="3113">whether @self is horizontally homogeneous</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="3109">a navigation view</doc>
            <type name="NavigationView" c:type="AdwNavigationView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_navigation_stack"
              c:identifier="adw_navigation_view_get_navigation_stack"
              glib:get-property="navigation-stack"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="3301">Returns a [iface@Gio.ListModel] that contains the pages in navigation stack.

The pages are sorted from root page to visible page.

This can be used to keep an up-to-date view.</doc>
        <source-position filename="src/adw-navigation-view.h" line="194"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/adw-navigation-view.c"
               line="3311">a list model for the navigation stack</doc>
          <type name="Gio.ListModel" c:type="GListModel*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="3303">a navigation view</doc>
            <type name="NavigationView" c:type="AdwNavigationView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_pop_on_escape"
              c:identifier="adw_navigation_view_get_pop_on_escape"
              glib:get-property="pop-on-escape"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="3255">Gets whether pressing Escape pops the current page on @self.</doc>
        <source-position filename="src/adw-navigation-view.h" line="188"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-navigation-view.c"
               line="3261">whether to pop the current page</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="3257">a navigation view</doc>
            <type name="NavigationView" c:type="AdwNavigationView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_previous_page"
              c:identifier="adw_navigation_view_get_previous_page"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="3068">Gets the previous page for @page.

If @page is in the navigation stack, returns the page popping @page will
reveal.

If @page is the root page or is not in the navigation stack, returns `NULL`.</doc>
        <source-position filename="src/adw-navigation-view.h" line="166"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-navigation-view.c"
               line="3080">the previous page</doc>
          <type name="NavigationPage" c:type="AdwNavigationPage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="3070">a navigation view</doc>
            <type name="NavigationView" c:type="AdwNavigationView*"/>
          </instance-parameter>
          <parameter name="page" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="3071">a page in @self</doc>
            <type name="NavigationPage" c:type="AdwNavigationPage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_vhomogeneous"
              c:identifier="adw_navigation_view_get_vhomogeneous"
              glib:get-property="vhomogeneous"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="3158">Gets whether @self is vertically homogeneous.</doc>
        <source-position filename="src/adw-navigation-view.h" line="176"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-navigation-view.c"
               line="3164">whether @self is vertically homogeneous</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="3160">a navigation view</doc>
            <type name="NavigationView" c:type="AdwNavigationView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_visible_page"
              c:identifier="adw_navigation_view_get_visible_page"
              glib:get-property="visible-page"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="3011">Gets the currently visible page in @self.</doc>
        <source-position filename="src/adw-navigation-view.h" line="161"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-navigation-view.c"
               line="3017">the currently visible page</doc>
          <type name="NavigationPage" c:type="AdwNavigationPage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="3013">a navigation view</doc>
            <type name="NavigationView" c:type="AdwNavigationView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_visible_page_tag"
              c:identifier="adw_navigation_view_get_visible_page_tag"
              glib:get-property="visible-page-tag"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="3041">Gets the tag of the currently visible page in @self.</doc>
        <source-position filename="src/adw-navigation-view.h" line="163"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-navigation-view.c"
               line="3047">the tag of the currently visible page</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="3043">a navigation view</doc>
            <type name="NavigationView" c:type="AdwNavigationView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="pop" c:identifier="adw_navigation_view_pop" version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="2706">Pops the visible page from the navigation stack.

Does nothing if the navigation stack contains less than two pages.

If [method@NavigationView.add] hasn't been called, the page is automatically
removed.

[signal@NavigationView::popped] will be emitted for the current visible page.

See [method@NavigationView.pop_to_page] and
[method@NavigationView.pop_to_tag].</doc>
        <source-position filename="src/adw-navigation-view.h" line="140"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-navigation-view.c"
               line="2722">`TRUE` if a page has been popped</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="2708">a navigation view</doc>
            <type name="NavigationView" c:type="AdwNavigationView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="pop_to_page"
              c:identifier="adw_navigation_view_pop_to_page"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="2749">Pops pages from the navigation stack until @page is visible.

@page must be in the navigation stack.

If [method@NavigationView.add] hasn't been called for any of the popped pages,
they are automatically removed.

[signal@NavigationView::popped] will be be emitted for each of the popped
pages.

See [method@NavigationView.pop] and [method@NavigationView.pop_to_tag].</doc>
        <source-position filename="src/adw-navigation-view.h" line="143"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-navigation-view.c"
               line="2766">`TRUE` if any pages have been popped</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="2751">a navigation view</doc>
            <type name="NavigationView" c:type="AdwNavigationView*"/>
          </instance-parameter>
          <parameter name="page" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="2752">the page to pop to</doc>
            <type name="NavigationPage" c:type="AdwNavigationPage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="pop_to_tag"
              c:identifier="adw_navigation_view_pop_to_tag"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="2795">Pops pages from the navigation stack until page with the tag @tag is visible.

The page must be in the navigation stack.

If [method@NavigationView.add] hasn't been called for any of the popped pages,
they are automatically removed.

[signal@NavigationView::popped] will be emitted for each of the popped pages.

See [method@NavigationView.pop_to_page] and [property@NavigationPage:tag].</doc>
        <source-position filename="src/adw-navigation-view.h" line="147"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-navigation-view.c"
               line="2811">`TRUE` if any pages have been popped</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="2797">a navigation view</doc>
            <type name="NavigationView" c:type="AdwNavigationView*"/>
          </instance-parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="2798">a page tag</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="push"
              c:identifier="adw_navigation_view_push"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="2641">Pushes @page onto the navigation stack.

If [method@NavigationView.add] hasn't been called, the page is automatically
removed once it's popped.

[signal@NavigationView::pushed] will be emitted for @page.

See [method@NavigationView.push_by_tag].</doc>
        <source-position filename="src/adw-navigation-view.h" line="132"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="2643">a navigation view</doc>
            <type name="NavigationView" c:type="AdwNavigationView*"/>
          </instance-parameter>
          <parameter name="page" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="2644">the page to push</doc>
            <type name="NavigationPage" c:type="AdwNavigationPage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="push_by_tag"
              c:identifier="adw_navigation_view_push_by_tag"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="2670">Pushes the page with the tag @tag onto the navigation stack.

If [method@NavigationView.add] hasn't been called, the page is automatically
removed once it's popped.

[signal@NavigationView::pushed] will be emitted for the page.

See [method@NavigationView.push] and [property@NavigationPage:tag].</doc>
        <source-position filename="src/adw-navigation-view.h" line="136"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="2672">a navigation view</doc>
            <type name="NavigationView" c:type="AdwNavigationView*"/>
          </instance-parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="2673">the page tag</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove"
              c:identifier="adw_navigation_view_remove"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="2593">Removes @page from @self.

If @page is currently in the navigation stack, it will be removed once it's
popped. Otherwise, it's removed immediately.

See [method@NavigationView.add].</doc>
        <source-position filename="src/adw-navigation-view.h" line="124"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="2595">a navigation view</doc>
            <type name="NavigationView" c:type="AdwNavigationView*"/>
          </instance-parameter>
          <parameter name="page" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="2596">the page to remove</doc>
            <type name="NavigationPage" c:type="AdwNavigationPage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="replace"
              c:identifier="adw_navigation_view_replace"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="2835">Replaces the current navigation stack with @pages.

The last page becomes the visible page.

Replacing the navigation stack has no animation.

If [method@NavigationView.add] hasn't been called for any pages that are no
longer in the navigation stack, they are automatically removed.

@n_pages can be 0, in that case no page will be visible after calling this
method. This can be useful for removing all pages from @self.

The [signal@NavigationView::replaced] signal will be emitted.

See [method@NavigationView.replace_with_tags].</doc>
        <source-position filename="src/adw-navigation-view.h" line="151"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="2837">a navigation view</doc>
            <type name="NavigationView" c:type="AdwNavigationView*"/>
          </instance-parameter>
          <parameter name="pages" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="2838">the new navigation stack</doc>
            <array length="1" zero-terminated="0" c:type="AdwNavigationPage**">
              <type name="NavigationPage" c:type="AdwNavigationPage*"/>
            </array>
          </parameter>
          <parameter name="n_pages" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="2839">the number of pages in @pages</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="replace_with_tags"
              c:identifier="adw_navigation_view_replace_with_tags"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="2955">Replaces the current navigation stack with pages with the tags @tags.

The last page becomes the visible page.

Replacing the navigation stack has no animation.

If [method@NavigationView.add] hasn't been called for any pages that are no
longer in the navigation stack, they are automatically removed.

@n_tags can be 0, in that case no page will be visible after calling this
method. This can be useful for removing all pages from @self.

The [signal@NavigationView::replaced] signal will be emitted.

See [method@NavigationView.replace] and [property@NavigationPage:tag].</doc>
        <source-position filename="src/adw-navigation-view.h" line="156"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="2957">a navigation view</doc>
            <type name="NavigationView" c:type="AdwNavigationView*"/>
          </instance-parameter>
          <parameter name="tags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="2958">tags of the pages in the
  navigation stack</doc>
            <array length="1" zero-terminated="0" c:type="const char* const*">
              <type name="utf8"/>
            </array>
          </parameter>
          <parameter name="n_tags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="2960">the number of tags</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_animate_transitions"
              c:identifier="adw_navigation_view_set_animate_transitions"
              glib:set-property="animate-transitions"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="3228">Sets whether @self should animate page transitions.

Gesture-based transitions are always animated.</doc>
        <source-position filename="src/adw-navigation-view.h" line="184"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="3230">a navigation view</doc>
            <type name="NavigationView" c:type="AdwNavigationView*"/>
          </instance-parameter>
          <parameter name="animate_transitions" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="3231">whether to animate page transitions</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_hhomogeneous"
              c:identifier="adw_navigation_view_set_hhomogeneous"
              glib:set-property="hhomogeneous"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="3125">Sets @self to be horizontally homogeneous or not.

If the view is horizontally homogeneous, it allocates the same width for
all pages.

If it's not, the view may change width when a different page becomes visible.</doc>
        <source-position filename="src/adw-navigation-view.h" line="172"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="3127">a navigation view</doc>
            <type name="NavigationView" c:type="AdwNavigationView*"/>
          </instance-parameter>
          <parameter name="hhomogeneous" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="3128">whether to make @self horizontally homogeneous</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_pop_on_escape"
              c:identifier="adw_navigation_view_set_pop_on_escape"
              glib:set-property="pop-on-escape"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="3273">Sets whether pressing Escape pops the current page on @self.

Applications using `AdwNavigationView` to implement a browser may want to
disable it.</doc>
        <source-position filename="src/adw-navigation-view.h" line="190"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="3275">a navigation view</doc>
            <type name="NavigationView" c:type="AdwNavigationView*"/>
          </instance-parameter>
          <parameter name="pop_on_escape" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="3276">whether to pop the current page when pressing Escape</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_vhomogeneous"
              c:identifier="adw_navigation_view_set_vhomogeneous"
              glib:set-property="vhomogeneous"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="3176">Sets @self to be vertically homogeneous or not.

If the view is vertically homogeneous, it allocates the same height for
all pages.

If it's not, the view may change height when a different page becomes
visible.</doc>
        <source-position filename="src/adw-navigation-view.h" line="178"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="3178">a navigation view</doc>
            <type name="NavigationView" c:type="AdwNavigationView*"/>
          </instance-parameter>
          <parameter name="vhomogeneous" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="3179">whether to make @self vertically homogeneous</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="animate-transitions"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_animate_transitions"
                getter="get_animate_transitions"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="1824">Whether to animate page transitions.

Gesture-based transitions are always animated.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="hhomogeneous"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_hhomogeneous"
                getter="get_hhomogeneous"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="1788">Whether the view is horizontally homogeneous.

If the view is horizontally homogeneous, it allocates the same width for
all pages.

If it's not, the page may change width when a different page becomes
visible.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="navigation-stack"
                version="1.4"
                transfer-ownership="none"
                getter="get_navigation_stack">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="1853">A list model that contains the pages in navigation stack.

The pages are sorted from root page to visible page.

This can be used to keep an up-to-date view.</doc>
        <type name="Gio.ListModel"/>
      </property>
      <property name="pop-on-escape"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_pop_on_escape"
                getter="get_pop_on_escape"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="1838">Whether pressing Escape pops the current page.

Applications using `AdwNavigationView` to implement a browser may want to
disable it.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="vhomogeneous"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_vhomogeneous"
                getter="get_vhomogeneous"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="1806">Whether the view is vertically homogeneous.

If the view is vertically homogeneous, it allocates the same height for
all pages.

If it's not, the view may change height when a different page becomes
visible.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="visible-page"
                version="1.4"
                transfer-ownership="none"
                getter="get_visible_page">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="1764">The currently visible page.</doc>
        <type name="NavigationPage"/>
      </property>
      <property name="visible-page-tag"
                version="1.7"
                transfer-ownership="none"
                getter="get_visible_page_tag"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="1776">The tag of the currently visible page.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <glib:signal name="get-next-page" when="last" version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="1944">Emitted when a push shortcut or a gesture is triggered.

To support the push shortcuts and gestures, the application is expected to
return the page to push in the handler.

This signal can be emitted multiple times for the gestures, for example
when the gesture is cancelled by the user. As such, the application must
not make any irreversible changes in the handler, such as removing the page
from a forward stack.

Instead, it should be done in the [signal@NavigationView::pushed] handler.</doc>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-navigation-view.c"
               line="1959">the page to push</doc>
          <type name="NavigationPage"/>
        </return-value>
      </glib:signal>
      <glib:signal name="popped" when="last" version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="1893">Emitted after @page has been popped from the navigation stack.

See [method@NavigationView.pop].

When using [method@NavigationView.pop_to_page] or
[method@NavigationView.pop_to_tag], this signal is emitted for each of the
popped pages.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="page" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-navigation-view.c"
                 line="1896">the popped page</doc>
            <type name="NavigationPage"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="pushed" when="last" version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="1871">Emitted after a page has been pushed to the navigation stack.

See [method@NavigationView.push].</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="replaced" when="last" version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-navigation-view.c"
             line="1922">Emitted after the navigation stack has been replaced.

See [method@NavigationView.replace].</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="NavigationViewClass"
            c:type="AdwNavigationViewClass"
            glib:is-gtype-struct-for="NavigationView">
      <source-position filename="src/adw-navigation-view.h" line="114"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
    </record>
    <class name="OverlaySplitView"
           c:symbol-prefix="overlay_split_view"
           c:type="AdwOverlaySplitView"
           version="1.4"
           parent="Gtk.Widget"
           final="1"
           glib:type-name="AdwOverlaySplitView"
           glib:get-type="adw_overlay_split_view_get_type"
           glib:type-struct="OverlaySplitViewClass">
      <doc xml:space="preserve"
           filename="src/adw-overlay-split-view.c"
           line="23">A widget presenting sidebar and content side by side or as an overlay.

&lt;picture&gt;
  &lt;source srcset="overlay-split-view-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="overlay-split-view.png" alt="overlay-split-view"&gt;
&lt;/picture&gt;
&lt;picture&gt;
  &lt;source srcset="overlay-split-view-collapsed-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="overlay-split-view-collapsed.png" alt="overlay-split-view-collapsed"&gt;
&lt;/picture&gt;

`AdwOverlaySplitView` has two children: sidebar and content, and displays
them side by side.

When [property@OverlaySplitView:collapsed] is set to `TRUE`, the sidebar is
instead shown as an overlay above the content widget.

The sidebar can be hidden or shown using the
[property@OverlaySplitView:show-sidebar] property.

Sidebar can be displayed before or after the content, this can be controlled
with the [property@OverlaySplitView:sidebar-position] property.

Collapsing the split view automatically hides the sidebar widget, and
uncollapsing it shows the sidebar. If this behavior is not desired, the
[property@OverlaySplitView:pin-sidebar] property can be used to override it.

`AdwOverlaySplitView` supports an edge swipe gesture for showing the sidebar,
and a swipe from the sidebar for hiding it. Gestures are only supported on
touchscreen, but not touchpad. Gestures can be controlled with the
[property@OverlaySplitView:enable-show-gesture] and
[property@OverlaySplitView:enable-hide-gesture] properties.

See also [class@NavigationSplitView].

`AdwOverlaySplitView` is typically used together with an [class@Breakpoint]
setting the `collapsed` property to `TRUE` on small widths, as follows:

```xml
&lt;object class="AdwWindow"&gt;
  &lt;property name="default-width"&gt;800&lt;/property&gt;
  &lt;property name="default-height"&gt;800&lt;/property&gt;
  &lt;child&gt;
    &lt;object class="AdwBreakpoint"&gt;
      &lt;condition&gt;max-width: 400sp&lt;/condition&gt;
      &lt;setter object="split_view" property="collapsed"&gt;True&lt;/setter&gt;
    &lt;/object&gt;
  &lt;/child&gt;
  &lt;property name="content"&gt;
    &lt;object class="AdwOverlaySplitView" id="split_view"&gt;
      &lt;property name="sidebar"&gt;
        &lt;!-- ... --&gt;
      &lt;/property&gt;
      &lt;property name="content"&gt;
        &lt;!-- ... --&gt;
      &lt;/property&gt;
    &lt;/object&gt;
  &lt;/property&gt;
&lt;/object&gt;
```

`AdwOverlaySplitView` is often used for implementing the
[utility pane](https://developer.gnome.org/hig/patterns/containers/utility-panes.html)
pattern.

## Sizing

When not collapsed, `AdwOverlaySplitView` changes the sidebar width
depending on its own width.

If possible, it tries to allocate a fraction of the total width, controlled
with the [property@OverlaySplitView:sidebar-width-fraction] property.

The sidebar also has minimum and maximum sizes, controlled with the
[property@OverlaySplitView:min-sidebar-width] and
[property@OverlaySplitView:max-sidebar-width] properties.

The minimum and maximum sizes are using the length unit specified with the
[property@OverlaySplitView:sidebar-width-unit].

By default, sidebar is using 25% of the total width, with 180sp as the
minimum size and 280sp as the maximum size.

When collapsed, the preferred width fraction is ignored and the sidebar uses
[property@OverlaySplitView:max-sidebar-width] when possible.

## Header Bar Integration

When used inside `AdwOverlaySplitView`, [class@HeaderBar] will automatically
hide the window buttons in the middle.

## `AdwOverlaySplitView` as `GtkBuildable`

The `AdwOverlaySplitView` implementation of the [iface@Gtk.Buildable]
interface supports setting the sidebar widget by specifying “sidebar” as the
“type” attribute of a `&lt;child&gt;` element, Specifying “content” child type or
omitting it results in setting the content widget.

## CSS nodes

`AdwOverlaySplitView` has a single CSS node with the name
`overlay-split-view`.

It contains two nodes with the name `widget`, containing the sidebar and
content children.

When not collapsed, they have the `.sidebar-view` and `.content-view` style
classes respectively.

```
overlay-split-view
├── widget.sidebar-pane
│   ╰── [sidebar child]
╰── widget.content-pane
    ╰── [content child]
```

When collapsed, the one containing the sidebar child has the `.background`
style class and the other one has no style classes.

```
overlay-split-view
├── widget.background
│   ╰── [sidebar child]
╰── widget
    ╰── [content child]
```

## Accessibility

`AdwOverlaySplitView` uses the `GTK_ACCESSIBLE_ROLE_GROUP` role.</doc>
      <source-position filename="src/adw-overlay-split-view.h" line="25"/>
      <implements name="Swipeable"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <constructor name="new"
                   c:identifier="adw_overlay_split_view_new"
                   version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-overlay-split-view.c"
             line="1306">Creates a new `AdwOverlaySplitView`.</doc>
        <source-position filename="src/adw-overlay-split-view.h" line="28"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-overlay-split-view.c"
               line="1311">the newly created `AdwOverlaySplitView`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="get_collapsed"
              c:identifier="adw_overlay_split_view_get_collapsed"
              glib:get-property="collapsed"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-overlay-split-view.c"
             line="1413">Gets whether @self is collapsed.</doc>
        <source-position filename="src/adw-overlay-split-view.h" line="43"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-overlay-split-view.c"
               line="1419">whether @self is collapsed</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-overlay-split-view.c"
                 line="1415">an overlay split view</doc>
            <type name="OverlaySplitView" c:type="AdwOverlaySplitView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_content"
              c:identifier="adw_overlay_split_view_get_content"
              glib:get-property="content"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-overlay-split-view.c"
             line="1368">Gets the content widget for @self.</doc>
        <source-position filename="src/adw-overlay-split-view.h" line="37"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-overlay-split-view.c"
               line="1374">the content widget for @self</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-overlay-split-view.c"
                 line="1370">an overlay split view</doc>
            <type name="OverlaySplitView" c:type="AdwOverlaySplitView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_enable_hide_gesture"
              c:identifier="adw_overlay_split_view_get_enable_hide_gesture"
              glib:get-property="enable-hide-gesture"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-overlay-split-view.c"
             line="1675">Gets whether @self can be closed with a swipe gesture.</doc>
        <source-position filename="src/adw-overlay-split-view.h" line="73"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-overlay-split-view.c"
               line="1681">`TRUE` if @self can be closed with a swipe gesture</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-overlay-split-view.c"
                 line="1677">an overlay split view</doc>
            <type name="OverlaySplitView" c:type="AdwOverlaySplitView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_enable_show_gesture"
              c:identifier="adw_overlay_split_view_get_enable_show_gesture"
              glib:get-property="enable-show-gesture"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-overlay-split-view.c"
             line="1628">Gets whether @self can be opened with an edge swipe gesture.</doc>
        <source-position filename="src/adw-overlay-split-view.h" line="67"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-overlay-split-view.c"
               line="1634">`TRUE` if @self can be opened with a swipe gesture</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-overlay-split-view.c"
                 line="1630">an overlay split view</doc>
            <type name="OverlaySplitView" c:type="AdwOverlaySplitView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_max_sidebar_width"
              c:identifier="adw_overlay_split_view_get_max_sidebar_width"
              glib:get-property="max-sidebar-width"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-overlay-split-view.c"
             line="1770">Gets the maximum sidebar width for @self.</doc>
        <source-position filename="src/adw-overlay-split-view.h" line="85"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-overlay-split-view.c"
               line="1776">the maximum width</doc>
          <type name="gdouble" c:type="double"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-overlay-split-view.c"
                 line="1772">an overlay split view</doc>
            <type name="OverlaySplitView" c:type="AdwOverlaySplitView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_min_sidebar_width"
              c:identifier="adw_overlay_split_view_get_min_sidebar_width"
              glib:get-property="min-sidebar-width"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-overlay-split-view.c"
             line="1722">Gets the minimum sidebar width for @self.</doc>
        <source-position filename="src/adw-overlay-split-view.h" line="79"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-overlay-split-view.c"
               line="1728">the minimum width</doc>
          <type name="gdouble" c:type="double"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-overlay-split-view.c"
                 line="1724">an overlay split view</doc>
            <type name="OverlaySplitView" c:type="AdwOverlaySplitView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_pin_sidebar"
              c:identifier="adw_overlay_split_view_get_pin_sidebar"
              glib:get-property="pin-sidebar"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-overlay-split-view.c"
             line="1581">Gets whether the sidebar widget is pinned for @self.</doc>
        <source-position filename="src/adw-overlay-split-view.h" line="61"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-overlay-split-view.c"
               line="1587">whether if the sidebar widget is pinned</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-overlay-split-view.c"
                 line="1583">an overlay split view</doc>
            <type name="OverlaySplitView" c:type="AdwOverlaySplitView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_show_sidebar"
              c:identifier="adw_overlay_split_view_get_show_sidebar"
              glib:get-property="show-sidebar"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-overlay-split-view.c"
             line="1545">Gets whether the sidebar widget is shown for @self.</doc>
        <source-position filename="src/adw-overlay-split-view.h" line="55"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-overlay-split-view.c"
               line="1551">`TRUE` if the sidebar widget is shown</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-overlay-split-view.c"
                 line="1547">an overlay split view</doc>
            <type name="OverlaySplitView" c:type="AdwOverlaySplitView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_sidebar"
              c:identifier="adw_overlay_split_view_get_sidebar"
              glib:get-property="sidebar"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-overlay-split-view.c"
             line="1321">Gets the sidebar widget for @self.</doc>
        <source-position filename="src/adw-overlay-split-view.h" line="31"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-overlay-split-view.c"
               line="1327">the sidebar widget for @self</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-overlay-split-view.c"
                 line="1323">an overlay split view</doc>
            <type name="OverlaySplitView" c:type="AdwOverlaySplitView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_sidebar_position"
              c:identifier="adw_overlay_split_view_get_sidebar_position"
              glib:get-property="sidebar-position"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-overlay-split-view.c"
             line="1490">Gets the sidebar position for @self.</doc>
        <source-position filename="src/adw-overlay-split-view.h" line="49"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-overlay-split-view.c"
               line="1496">the sidebar position for @self</doc>
          <type name="Gtk.PackType" c:type="GtkPackType"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-overlay-split-view.c"
                 line="1492">an overlay split view</doc>
            <type name="OverlaySplitView" c:type="AdwOverlaySplitView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_sidebar_width_fraction"
              c:identifier="adw_overlay_split_view_get_sidebar_width_fraction"
              glib:get-property="sidebar-width-fraction"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-overlay-split-view.c"
             line="1818">Gets the preferred sidebar width fraction for @self.</doc>
        <source-position filename="src/adw-overlay-split-view.h" line="91"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-overlay-split-view.c"
               line="1824">the preferred width fraction</doc>
          <type name="gdouble" c:type="double"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-overlay-split-view.c"
                 line="1820">an overlay split view</doc>
            <type name="OverlaySplitView" c:type="AdwOverlaySplitView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_sidebar_width_unit"
              c:identifier="adw_overlay_split_view_get_sidebar_width_unit"
              glib:get-property="sidebar-width-unit"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-overlay-split-view.c"
             line="1869">Gets the length unit for minimum and maximum sidebar widths.</doc>
        <source-position filename="src/adw-overlay-split-view.h" line="97"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-overlay-split-view.c"
               line="1875">the length unit</doc>
          <type name="LengthUnit" c:type="AdwLengthUnit"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-overlay-split-view.c"
                 line="1871">an overlay split view</doc>
            <type name="OverlaySplitView" c:type="AdwOverlaySplitView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_collapsed"
              c:identifier="adw_overlay_split_view_set_collapsed"
              glib:set-property="collapsed"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-overlay-split-view.c"
             line="1431">Sets whether @self view is collapsed.

When collapsed, the sidebar widget is presented as an overlay above the
content widget, otherwise they are displayed side by side.</doc>
        <source-position filename="src/adw-overlay-split-view.h" line="45"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-overlay-split-view.c"
                 line="1433">an overlay split view</doc>
            <type name="OverlaySplitView" c:type="AdwOverlaySplitView*"/>
          </instance-parameter>
          <parameter name="collapsed" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-overlay-split-view.c"
                 line="1434">whether @self is collapsed</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_content"
              c:identifier="adw_overlay_split_view_set_content"
              glib:set-property="content"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-overlay-split-view.c"
             line="1386">Sets the content widget for @self.</doc>
        <source-position filename="src/adw-overlay-split-view.h" line="39"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-overlay-split-view.c"
                 line="1388">an overlay split view</doc>
            <type name="OverlaySplitView" c:type="AdwOverlaySplitView*"/>
          </instance-parameter>
          <parameter name="content"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-overlay-split-view.c"
                 line="1389">the content widget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_enable_hide_gesture"
              c:identifier="adw_overlay_split_view_set_enable_hide_gesture"
              glib:set-property="enable-hide-gesture"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-overlay-split-view.c"
             line="1693">Sets whether @self can be closed with a swipe gesture.

Only touchscreen swipes are supported.</doc>
        <source-position filename="src/adw-overlay-split-view.h" line="75"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-overlay-split-view.c"
                 line="1695">an overlay split view</doc>
            <type name="OverlaySplitView" c:type="AdwOverlaySplitView*"/>
          </instance-parameter>
          <parameter name="enable_hide_gesture" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-overlay-split-view.c"
                 line="1696">whether @self can be closed with a swipe gesture</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_enable_show_gesture"
              c:identifier="adw_overlay_split_view_set_enable_show_gesture"
              glib:set-property="enable-show-gesture"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-overlay-split-view.c"
             line="1646">Sets whether @self can be opened with an edge swipe gesture.

Only touchscreen swipes are supported.</doc>
        <source-position filename="src/adw-overlay-split-view.h" line="69"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-overlay-split-view.c"
                 line="1648">an overlay split view</doc>
            <type name="OverlaySplitView" c:type="AdwOverlaySplitView*"/>
          </instance-parameter>
          <parameter name="enable_show_gesture" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-overlay-split-view.c"
                 line="1649">whether @self can be opened with a swipe gesture</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_max_sidebar_width"
              c:identifier="adw_overlay_split_view_set_max_sidebar_width"
              glib:set-property="max-sidebar-width"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-overlay-split-view.c"
             line="1788">Sets the maximum sidebar width for @self.

Maximum width is affected by [property@OverlaySplitView:sidebar-width-unit].

The sidebar widget can still be allocated with larger width if its own
minimum width exceeds it.</doc>
        <source-position filename="src/adw-overlay-split-view.h" line="87"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-overlay-split-view.c"
                 line="1790">an overlay split view</doc>
            <type name="OverlaySplitView" c:type="AdwOverlaySplitView*"/>
          </instance-parameter>
          <parameter name="width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-overlay-split-view.c"
                 line="1791">the maximum width</doc>
            <type name="gdouble" c:type="double"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_min_sidebar_width"
              c:identifier="adw_overlay_split_view_set_min_sidebar_width"
              glib:set-property="min-sidebar-width"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-overlay-split-view.c"
             line="1740">Sets the minimum sidebar width for @self.

Minimum width is affected by [property@OverlaySplitView:sidebar-width-unit].

The sidebar widget can still be allocated with larger width if its own
minimum width exceeds it.</doc>
        <source-position filename="src/adw-overlay-split-view.h" line="81"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-overlay-split-view.c"
                 line="1742">an overlay split view</doc>
            <type name="OverlaySplitView" c:type="AdwOverlaySplitView*"/>
          </instance-parameter>
          <parameter name="width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-overlay-split-view.c"
                 line="1743">the minimum width</doc>
            <type name="gdouble" c:type="double"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_pin_sidebar"
              c:identifier="adw_overlay_split_view_set_pin_sidebar"
              glib:set-property="pin-sidebar"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-overlay-split-view.c"
             line="1599">Sets whether the sidebar widget is pinned for @self.

By default, collapsing @self automatically hides the sidebar widget, and
uncollapsing it shows the sidebar. If set to `TRUE`, sidebar visibility never
changes on its own.</doc>
        <source-position filename="src/adw-overlay-split-view.h" line="63"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-overlay-split-view.c"
                 line="1601">an overlay split view</doc>
            <type name="OverlaySplitView" c:type="AdwOverlaySplitView*"/>
          </instance-parameter>
          <parameter name="pin_sidebar" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-overlay-split-view.c"
                 line="1602">whether to pin the sidebar widget</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_show_sidebar"
              c:identifier="adw_overlay_split_view_set_show_sidebar"
              glib:set-property="show-sidebar"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-overlay-split-view.c"
             line="1563">Sets whether the sidebar widget is shown for @self.</doc>
        <source-position filename="src/adw-overlay-split-view.h" line="57"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-overlay-split-view.c"
                 line="1565">an overlay split view</doc>
            <type name="OverlaySplitView" c:type="AdwOverlaySplitView*"/>
          </instance-parameter>
          <parameter name="show_sidebar" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-overlay-split-view.c"
                 line="1566">whether to show the sidebar widget</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_sidebar"
              c:identifier="adw_overlay_split_view_set_sidebar"
              glib:set-property="sidebar"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-overlay-split-view.c"
             line="1339">Sets the sidebar widget for @self.</doc>
        <source-position filename="src/adw-overlay-split-view.h" line="33"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-overlay-split-view.c"
                 line="1341">an overlay split view</doc>
            <type name="OverlaySplitView" c:type="AdwOverlaySplitView*"/>
          </instance-parameter>
          <parameter name="sidebar"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-overlay-split-view.c"
                 line="1342">the sidebar widget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_sidebar_position"
              c:identifier="adw_overlay_split_view_set_sidebar_position"
              glib:set-property="sidebar-position"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-overlay-split-view.c"
             line="1508">Sets the sidebar position for @self.

If it's set to `GTK_PACK_START`, the sidebar is displayed before the content,
if `GTK_PACK_END`, it's displayed after the content.</doc>
        <source-position filename="src/adw-overlay-split-view.h" line="51"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-overlay-split-view.c"
                 line="1510">an overlay split view</doc>
            <type name="OverlaySplitView" c:type="AdwOverlaySplitView*"/>
          </instance-parameter>
          <parameter name="position" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-overlay-split-view.c"
                 line="1511">the new position</doc>
            <type name="Gtk.PackType" c:type="GtkPackType"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_sidebar_width_fraction"
              c:identifier="adw_overlay_split_view_set_sidebar_width_fraction"
              glib:set-property="sidebar-width-fraction"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-overlay-split-view.c"
             line="1836">Sets the preferred sidebar width as a fraction of the total width of @self.

The preferred width is additionally limited by
[property@OverlaySplitView:min-sidebar-width] and
[property@OverlaySplitView:max-sidebar-width].

The sidebar widget can be allocated with larger width if its own minimum
width exceeds the preferred width.</doc>
        <source-position filename="src/adw-overlay-split-view.h" line="93"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-overlay-split-view.c"
                 line="1838">an overlay split view</doc>
            <type name="OverlaySplitView" c:type="AdwOverlaySplitView*"/>
          </instance-parameter>
          <parameter name="fraction" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-overlay-split-view.c"
                 line="1839">the preferred width fraction</doc>
            <type name="gdouble" c:type="double"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_sidebar_width_unit"
              c:identifier="adw_overlay_split_view_set_sidebar_width_unit"
              glib:set-property="sidebar-width-unit"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-overlay-split-view.c"
             line="1887">Sets the length unit for minimum and maximum sidebar widths.

See [property@OverlaySplitView:min-sidebar-width] and
[property@OverlaySplitView:max-sidebar-width].</doc>
        <source-position filename="src/adw-overlay-split-view.h" line="99"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-overlay-split-view.c"
                 line="1889">an overlay split view</doc>
            <type name="OverlaySplitView" c:type="AdwOverlaySplitView*"/>
          </instance-parameter>
          <parameter name="unit" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-overlay-split-view.c"
                 line="1890">the length unit</doc>
            <type name="LengthUnit" c:type="AdwLengthUnit"/>
          </parameter>
        </parameters>
      </method>
      <property name="collapsed"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_collapsed"
                getter="get_collapsed"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-overlay-split-view.c"
             line="943">Whether the split view is collapsed.

When collapsed, the sidebar widget is presented as an overlay above the
content widget, otherwise they are displayed side by side.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="content"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_content"
                getter="get_content">
        <doc xml:space="preserve"
             filename="src/adw-overlay-split-view.c"
             line="919">The content widget.</doc>
        <type name="Gtk.Widget"/>
      </property>
      <property name="enable-hide-gesture"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_enable_hide_gesture"
                getter="get_enable_hide_gesture"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-overlay-split-view.c"
             line="1016">Whether the sidebar can be closed with a swipe gesture.

Only touchscreen swipes are supported.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="enable-show-gesture"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_enable_show_gesture"
                getter="get_enable_show_gesture"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-overlay-split-view.c"
             line="1002">Whether the sidebar can be opened with an edge swipe gesture.

Only touchscreen swipes are supported.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="max-sidebar-width"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_max_sidebar_width"
                getter="get_max_sidebar_width"
                default-value="280.000000">
        <doc xml:space="preserve"
             filename="src/adw-overlay-split-view.c"
             line="1048">The maximum sidebar width.

Maximum width is affected by
[property@OverlaySplitView:sidebar-width-unit].

The sidebar widget can still be allocated with larger width if its own
minimum width exceeds it.</doc>
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="min-sidebar-width"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_min_sidebar_width"
                getter="get_min_sidebar_width"
                default-value="180.000000">
        <doc xml:space="preserve"
             filename="src/adw-overlay-split-view.c"
             line="1030">The minimum sidebar width.

Minimum width is affected by
[property@OverlaySplitView:sidebar-width-unit].

The sidebar widget can still be allocated with larger width if its own
minimum width exceeds it.</doc>
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="pin-sidebar"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_pin_sidebar"
                getter="get_pin_sidebar"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-overlay-split-view.c"
             line="986">Whether the sidebar widget is pinned.

By default, collapsing @self automatically hides the sidebar widget, and
uncollapsing it shows the sidebar. If set to `TRUE`, sidebar visibility
never changes on its own.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="show-sidebar"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_show_sidebar"
                getter="get_show_sidebar"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-overlay-split-view.c"
             line="974">Whether the sidebar widget is shown.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="sidebar"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_sidebar"
                getter="get_sidebar">
        <doc xml:space="preserve"
             filename="src/adw-overlay-split-view.c"
             line="931">The sidebar widget.</doc>
        <type name="Gtk.Widget"/>
      </property>
      <property name="sidebar-position"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_sidebar_position"
                getter="get_sidebar_position"
                default-value="GTK_PACK_START">
        <doc xml:space="preserve"
             filename="src/adw-overlay-split-view.c"
             line="958">The sidebar position.

If it's set to `GTK_PACK_START`, the sidebar is displayed before the content,
if `GTK_PACK_END`, it's displayed after the content.</doc>
        <type name="Gtk.PackType"/>
      </property>
      <property name="sidebar-width-fraction"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_sidebar_width_fraction"
                getter="get_sidebar_width_fraction"
                default-value="0.250000">
        <doc xml:space="preserve"
             filename="src/adw-overlay-split-view.c"
             line="1066">The preferred sidebar width as a fraction of the total width.

The preferred width is additionally limited by
[property@OverlaySplitView:min-sidebar-width] and
[property@OverlaySplitView:max-sidebar-width].

The sidebar widget can be allocated with larger width if its own minimum
width exceeds the preferred width.</doc>
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="sidebar-width-unit"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_sidebar_width_unit"
                getter="get_sidebar_width_unit"
                default-value="ADW_LENGTH_UNIT_SP">
        <doc xml:space="preserve"
             filename="src/adw-overlay-split-view.c"
             line="1085">The length unit for minimum and maximum sidebar widths.

See [property@OverlaySplitView:min-sidebar-width] and
[property@OverlaySplitView:max-sidebar-width].</doc>
        <type name="LengthUnit"/>
      </property>
    </class>
    <record name="OverlaySplitViewClass"
            c:type="AdwOverlaySplitViewClass"
            glib:is-gtype-struct-for="OverlaySplitView">
      <source-position filename="src/adw-overlay-split-view.h" line="25"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
    </record>
    <enumeration name="PackDirection"
                 version="1.7"
                 glib:type-name="AdwPackDirection"
                 glib:get-type="adw_pack_direction_get_type"
                 c:type="AdwPackDirection">
      <doc xml:space="preserve"
           filename="src/adw-wrap-layout.c"
           line="91">Describes child packing behavior in a [class@WrapLayout] or [class@WrapBox].

See [property@WrapLayout:pack-direction] and
[property@WrapBox:pack-direction].</doc>
      <member name="start_to_end"
              value="0"
              c:identifier="ADW_PACK_START_TO_END"
              glib:nick="start-to-end"
              glib:name="ADW_PACK_START_TO_END">
        <doc xml:space="preserve"
             filename="src/adw-wrap-layout.c"
             line="93">Pack children from left to right for LTR languages,
    or top to bottom vertically.</doc>
      </member>
      <member name="end_to_start"
              value="1"
              c:identifier="ADW_PACK_END_TO_START"
              glib:nick="end-to-start"
              glib:name="ADW_PACK_END_TO_START">
        <doc xml:space="preserve"
             filename="src/adw-wrap-layout.c"
             line="95">Pack children from right to left for LTR languages,
    or bottom to top vertically.</doc>
      </member>
    </enumeration>
    <class name="PasswordEntryRow"
           c:symbol-prefix="password_entry_row"
           c:type="AdwPasswordEntryRow"
           version="1.2"
           parent="EntryRow"
           final="1"
           glib:type-name="AdwPasswordEntryRow"
           glib:get-type="adw_password_entry_row_get_type"
           glib:type-struct="PasswordEntryRowClass">
      <doc xml:space="preserve"
           filename="src/adw-password-entry-row.c"
           line="15">A [class@EntryRow] tailored for entering secrets.

&lt;picture&gt;
  &lt;source srcset="password-entry-row-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="password-entry-row.png" alt="password-entry-row"&gt;
&lt;/picture&gt;

It does not show its contents in clear text, does not allow to copy it to the
clipboard, and shows a warning when Caps Lock is engaged. If the underlying
platform allows it, `AdwPasswordEntryRow` will also place the text in a
non-pageable memory area, to avoid it being written out to disk by the
operating system.

It offer a way to reveal the contents in clear text.

## CSS Nodes

`AdwPasswordEntryRow` has a single CSS node with name `row` that carries
`.entry` and `.password` style classes.</doc>
      <source-position filename="src/adw-password-entry-row.h" line="24"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Actionable"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <implements name="Gtk.Editable"/>
      <constructor name="new"
                   c:identifier="adw_password_entry_row_new"
                   version="1.2">
        <doc xml:space="preserve"
             filename="src/adw-password-entry-row.c"
             line="189">Creates a new `AdwPasswordEntryRow`.</doc>
        <source-position filename="src/adw-password-entry-row.h" line="27"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-password-entry-row.c"
               line="194">the newly created `AdwPasswordEntryRow`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
    </class>
    <record name="PasswordEntryRowClass"
            c:type="AdwPasswordEntryRowClass"
            glib:is-gtype-struct-for="PasswordEntryRow">
      <source-position filename="src/adw-password-entry-row.h" line="24"/>
      <field name="parent_class">
        <type name="EntryRowClass" c:type="AdwEntryRowClass"/>
      </field>
    </record>
    <class name="PreferencesDialog"
           c:symbol-prefix="preferences_dialog"
           c:type="AdwPreferencesDialog"
           version="1.5"
           parent="Dialog"
           glib:type-name="AdwPreferencesDialog"
           glib:get-type="adw_preferences_dialog_get_type"
           glib:type-struct="PreferencesDialogClass">
      <doc xml:space="preserve"
           filename="src/adw-preferences-dialog.c"
           line="26">A dialog showing application's preferences.

&lt;picture&gt;
  &lt;source srcset="preferences-dialog-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="preferences-dialog.png" alt="preferences-dialog"&gt;
&lt;/picture&gt;

The `AdwPreferencesDialog` widget presents an application's preferences
gathered into pages and groups. The preferences are searchable by the user.

## Actions

`AdwPrefencesDialog` defines the `navigation.pop` action, it doesn't take any
parameters and pops the current subpage from the navigation stack, equivalent
to calling [method@PreferencesDialog.pop_subpage].

## CSS nodes

`AdwPreferencesDialog` has a main CSS node with the name `dialog` and the
style class `.preferences`.</doc>
      <source-position filename="src/adw-preferences-dialog.h" line="39"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <implements name="Gtk.ShortcutManager"/>
      <constructor name="new"
                   c:identifier="adw_preferences_dialog_new"
                   version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-preferences-dialog.c"
             line="644">Creates a new `AdwPreferencesDialog`.</doc>
        <source-position filename="src/adw-preferences-dialog.h" line="42"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-preferences-dialog.c"
               line="649">the newly created `AdwPreferencesDialog`</doc>
          <type name="Dialog" c:type="AdwDialog*"/>
        </return-value>
      </constructor>
      <method name="add"
              c:identifier="adw_preferences_dialog_add"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-preferences-dialog.c"
             line="659">Adds a preferences page to @self.</doc>
        <source-position filename="src/adw-preferences-dialog.h" line="45"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-dialog.c"
                 line="661">a preferences dialog</doc>
            <type name="PreferencesDialog" c:type="AdwPreferencesDialog*"/>
          </instance-parameter>
          <parameter name="page" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-dialog.c"
                 line="662">the page to add</doc>
            <type name="PreferencesPage" c:type="AdwPreferencesPage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_toast"
              c:identifier="adw_preferences_dialog_add_toast"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-preferences-dialog.c"
             line="917">Displays @toast.

See [method@ToastOverlay.add_toast].</doc>
        <source-position filename="src/adw-preferences-dialog.h" line="76"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-dialog.c"
                 line="919">a preferences dialog</doc>
            <type name="PreferencesDialog" c:type="AdwPreferencesDialog*"/>
          </instance-parameter>
          <parameter name="toast" transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-dialog.c"
                 line="920">a toast</doc>
            <type name="Toast" c:type="AdwToast*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_search_enabled"
              c:identifier="adw_preferences_dialog_get_search_enabled"
              glib:get-property="search-enabled"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-preferences-dialog.c"
             line="812">Gets whether search is enabled for @self.</doc>
        <source-position filename="src/adw-preferences-dialog.h" line="64"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-preferences-dialog.c"
               line="818">whether search is enabled for @self.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-dialog.c"
                 line="814">a preferences dialog</doc>
            <type name="PreferencesDialog" c:type="AdwPreferencesDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_visible_page"
              c:identifier="adw_preferences_dialog_get_visible_page"
              glib:get-property="visible-page"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-preferences-dialog.c"
             line="721">Gets the currently visible page of @self.</doc>
        <source-position filename="src/adw-preferences-dialog.h" line="52"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-preferences-dialog.c"
               line="727">the visible page</doc>
          <type name="PreferencesPage" c:type="AdwPreferencesPage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-dialog.c"
                 line="723">a preferences dialog</doc>
            <type name="PreferencesDialog" c:type="AdwPreferencesDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_visible_page_name"
              c:identifier="adw_preferences_dialog_get_visible_page_name"
              glib:get-property="visible-page-name"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-preferences-dialog.c"
             line="766">Gets the name of currently visible page of @self.</doc>
        <source-position filename="src/adw-preferences-dialog.h" line="58"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-preferences-dialog.c"
               line="772">the name of the visible page</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-dialog.c"
                 line="768">a preferences dialog</doc>
            <type name="PreferencesDialog" c:type="AdwPreferencesDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="pop_subpage"
              c:identifier="adw_preferences_dialog_pop_subpage"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-preferences-dialog.c"
             line="895">Pop the visible page from the subpage stack of @self.</doc>
        <source-position filename="src/adw-preferences-dialog.h" line="73"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-preferences-dialog.c"
               line="901">`TRUE` if a page has been popped</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-dialog.c"
                 line="897">a preferences dialog</doc>
            <type name="PreferencesDialog" c:type="AdwPreferencesDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="push_subpage"
              c:identifier="adw_preferences_dialog_push_subpage"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-preferences-dialog.c"
             line="870">Pushes @page onto the subpage stack of @self.

The page will be automatically removed when popped.</doc>
        <source-position filename="src/adw-preferences-dialog.h" line="70"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-dialog.c"
                 line="872">a preferences dialog</doc>
            <type name="PreferencesDialog" c:type="AdwPreferencesDialog*"/>
          </instance-parameter>
          <parameter name="page" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-dialog.c"
                 line="873">the subpage</doc>
            <type name="NavigationPage" c:type="AdwNavigationPage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove"
              c:identifier="adw_preferences_dialog_remove"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-preferences-dialog.c"
             line="693">Removes a page from @self.</doc>
        <source-position filename="src/adw-preferences-dialog.h" line="48"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-dialog.c"
                 line="695">a preferences dialog</doc>
            <type name="PreferencesDialog" c:type="AdwPreferencesDialog*"/>
          </instance-parameter>
          <parameter name="page" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-dialog.c"
                 line="696">the page to remove</doc>
            <type name="PreferencesPage" c:type="AdwPreferencesPage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_search_enabled"
              c:identifier="adw_preferences_dialog_set_search_enabled"
              glib:set-property="search-enabled"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-preferences-dialog.c"
             line="834">Sets whether search is enabled for @self.</doc>
        <source-position filename="src/adw-preferences-dialog.h" line="66"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-dialog.c"
                 line="836">a preferences dialog</doc>
            <type name="PreferencesDialog" c:type="AdwPreferencesDialog*"/>
          </instance-parameter>
          <parameter name="search_enabled" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-dialog.c"
                 line="837">whether search is enabled</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_visible_page"
              c:identifier="adw_preferences_dialog_set_visible_page"
              glib:set-property="visible-page"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-preferences-dialog.c"
             line="743">Makes @page the visible page of @self.</doc>
        <source-position filename="src/adw-preferences-dialog.h" line="54"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-dialog.c"
                 line="745">a preferences dialog</doc>
            <type name="PreferencesDialog" c:type="AdwPreferencesDialog*"/>
          </instance-parameter>
          <parameter name="page" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-dialog.c"
                 line="746">a page of @self</doc>
            <type name="PreferencesPage" c:type="AdwPreferencesPage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_visible_page_name"
              c:identifier="adw_preferences_dialog_set_visible_page_name"
              glib:set-property="visible-page-name"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-preferences-dialog.c"
             line="788">Makes the page with the given name visible.

See [property@PreferencesDialog:visible-page].</doc>
        <source-position filename="src/adw-preferences-dialog.h" line="60"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-dialog.c"
                 line="790">a preferences dialog</doc>
            <type name="PreferencesDialog" c:type="AdwPreferencesDialog*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-dialog.c"
                 line="791">the name of the page to make visible</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <property name="search-enabled"
                version="1.5"
                writable="1"
                transfer-ownership="none"
                setter="set_search_enabled"
                getter="get_search_enabled"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-preferences-dialog.c"
             line="532">Whether search is enabled.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="visible-page"
                version="1.5"
                writable="1"
                transfer-ownership="none"
                setter="set_visible_page"
                getter="get_visible_page">
        <doc xml:space="preserve"
             filename="src/adw-preferences-dialog.c"
             line="506">The currently visible page.</doc>
        <type name="Gtk.Widget"/>
      </property>
      <property name="visible-page-name"
                version="1.5"
                writable="1"
                transfer-ownership="none"
                setter="set_visible_page_name"
                getter="get_visible_page_name"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/adw-preferences-dialog.c"
             line="518">The name of the currently visible page.

See [property@AdwPreferencesDialog:visible-page].</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent_instance">
        <type name="Dialog" c:type="AdwDialog"/>
      </field>
    </class>
    <record name="PreferencesDialogClass"
            c:type="AdwPreferencesDialogClass"
            glib:is-gtype-struct-for="PreferencesDialog">
      <source-position filename="src/adw-preferences-dialog.h" line="39"/>
      <field name="parent_class">
        <doc xml:space="preserve"
             filename="src/adw-preferences-dialog.h"
             line="31">The parent class</doc>
        <type name="DialogClass" c:type="AdwDialogClass"/>
      </field>
      <field name="padding" readable="0" private="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <class name="PreferencesGroup"
           c:symbol-prefix="preferences_group"
           c:type="AdwPreferencesGroup"
           parent="Gtk.Widget"
           glib:type-name="AdwPreferencesGroup"
           glib:get-type="adw_preferences_group_get_type"
           glib:type-struct="PreferencesGroupClass">
      <doc xml:space="preserve"
           filename="src/adw-preferences-group.c"
           line="14">A group of preference rows.

&lt;picture&gt;
  &lt;source srcset="preferences-group-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="preferences-group.png" alt="preferences-group"&gt;
&lt;/picture&gt;

An `AdwPreferencesGroup` represents a group or tightly related preferences,
which in turn are represented by [class@PreferencesRow].

To summarize the role of the preferences it gathers, a group can have both a
title and a description. The title will be used by [class@PreferencesDialog]
to let the user look for a preference.

The [property@PreferencesGroup:separate-rows] property can be used to
separate the rows within the group, same as when using the
[`.boxed-list-separate`](style-classes.html#boxed-lists-cards) style class
instead of `.boxed-list`.

## AdwPreferencesGroup as GtkBuildable

The `AdwPreferencesGroup` implementation of the [iface@Gtk.Buildable] interface
supports adding [class@PreferencesRow]s to the list by omitting "type". If "type"
is omitted and the widget isn't a [class@PreferencesRow] the child is added to
a box below the list.

When the "type" attribute of a child is `header-suffix`, the child
is set as the suffix on the end of the title and description.

## CSS nodes

`AdwPreferencesGroup` has a single CSS node with name `preferencesgroup`.

## Accessibility

`AdwPreferencesGroup` uses the `GTK_ACCESSIBLE_ROLE_GROUP` role.</doc>
      <source-position filename="src/adw-preferences-group.h" line="34"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <constructor name="new" c:identifier="adw_preferences_group_new">
        <doc xml:space="preserve"
             filename="src/adw-preferences-group.c"
             line="378">Creates a new `AdwPreferencesGroup`.</doc>
        <source-position filename="src/adw-preferences-group.h" line="37"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-preferences-group.c"
               line="383">the newly created `AdwPreferencesGroup`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="add" c:identifier="adw_preferences_group_add">
        <doc xml:space="preserve"
             filename="src/adw-preferences-group.c"
             line="391">Adds a child to @self.</doc>
        <source-position filename="src/adw-preferences-group.h" line="40"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-group.c"
                 line="393">a preferences group</doc>
            <type name="PreferencesGroup" c:type="AdwPreferencesGroup*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-group.c"
                 line="394">the widget to add</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_description"
              c:identifier="adw_preferences_group_get_description"
              glib:get-property="description">
        <doc xml:space="preserve"
             filename="src/adw-preferences-group.c"
             line="492">Gets the description of @self.</doc>
        <source-position filename="src/adw-preferences-group.h" line="53"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-preferences-group.c"
               line="498">the description of @self</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-group.c"
                 line="494">a preferences group</doc>
            <type name="PreferencesGroup" c:type="AdwPreferencesGroup*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_header_suffix"
              c:identifier="adw_preferences_group_get_header_suffix"
              glib:get-property="header-suffix"
              version="1.1">
        <doc xml:space="preserve"
             filename="src/adw-preferences-group.c"
             line="539">Gets the suffix for @self's header.</doc>
        <source-position filename="src/adw-preferences-group.h" line="59"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-preferences-group.c"
               line="545">the suffix for @self's header.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-group.c"
                 line="541">a preferences group</doc>
            <type name="PreferencesGroup" c:type="AdwPreferencesGroup*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_separate_rows"
              c:identifier="adw_preferences_group_get_separate_rows"
              glib:get-property="separate-rows"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-preferences-group.c"
             line="604">Gets whether @self's rows are separated.</doc>
        <source-position filename="src/adw-preferences-group.h" line="65"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-preferences-group.c"
               line="610">whether rows are separated</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-group.c"
                 line="606">a preferences group</doc>
            <type name="PreferencesGroup" c:type="AdwPreferencesGroup*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_title"
              c:identifier="adw_preferences_group_get_title"
              glib:get-property="title">
        <doc xml:space="preserve"
             filename="src/adw-preferences-group.c"
             line="445">Gets the title of @self.</doc>
        <source-position filename="src/adw-preferences-group.h" line="47"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-preferences-group.c"
               line="451">the title of @self</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-group.c"
                 line="447">a preferences group</doc>
            <type name="PreferencesGroup" c:type="AdwPreferencesGroup*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove" c:identifier="adw_preferences_group_remove">
        <doc xml:space="preserve"
             filename="src/adw-preferences-group.c"
             line="416">Removes a child from @self.</doc>
        <source-position filename="src/adw-preferences-group.h" line="43"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-group.c"
                 line="418">a preferences group</doc>
            <type name="PreferencesGroup" c:type="AdwPreferencesGroup*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-group.c"
                 line="419">the child to remove</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_description"
              c:identifier="adw_preferences_group_set_description"
              glib:set-property="description">
        <doc xml:space="preserve"
             filename="src/adw-preferences-group.c"
             line="512">Sets the description for @self.</doc>
        <source-position filename="src/adw-preferences-group.h" line="55"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-group.c"
                 line="514">a preferences group</doc>
            <type name="PreferencesGroup" c:type="AdwPreferencesGroup*"/>
          </instance-parameter>
          <parameter name="description"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-group.c"
                 line="515">the description</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_header_suffix"
              c:identifier="adw_preferences_group_set_header_suffix"
              glib:set-property="header-suffix"
              version="1.1">
        <doc xml:space="preserve"
             filename="src/adw-preferences-group.c"
             line="561">Sets the suffix for @self's header.

Displayed above the list, next to the title and description.

Suffixes are commonly used to show a button or a spinner for the whole group.</doc>
        <source-position filename="src/adw-preferences-group.h" line="61"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-group.c"
                 line="563">a preferences group</doc>
            <type name="PreferencesGroup" c:type="AdwPreferencesGroup*"/>
          </instance-parameter>
          <parameter name="suffix"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-group.c"
                 line="564">the suffix to set</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_separate_rows"
              c:identifier="adw_preferences_group_set_separate_rows"
              glib:set-property="separate-rows"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-preferences-group.c"
             line="626">Sets whether @self's rows are separated.

Equivalent to using the
[`.boxed-list-separate`](style-classes.html#boxed-lists-cards) style class
on a [class@Gtk.ListBox] instead of `.boxed-list`.</doc>
        <source-position filename="src/adw-preferences-group.h" line="67"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-group.c"
                 line="628">a preferences group</doc>
            <type name="PreferencesGroup" c:type="AdwPreferencesGroup*"/>
          </instance-parameter>
          <parameter name="separate_rows" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-group.c"
                 line="629">whether to separate rows</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_title"
              c:identifier="adw_preferences_group_set_title"
              glib:set-property="title">
        <doc xml:space="preserve"
             filename="src/adw-preferences-group.c"
             line="465">Sets the title for @self.</doc>
        <source-position filename="src/adw-preferences-group.h" line="49"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-group.c"
                 line="467">a preferences group</doc>
            <type name="PreferencesGroup" c:type="AdwPreferencesGroup*"/>
          </instance-parameter>
          <parameter name="title" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-group.c"
                 line="468">the title</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <property name="description"
                writable="1"
                transfer-ownership="none"
                setter="set_description"
                getter="get_description">
        <doc xml:space="preserve"
             filename="src/adw-preferences-group.c"
             line="275">The description for this group of preferences.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="header-suffix"
                version="1.1"
                writable="1"
                transfer-ownership="none"
                setter="set_header_suffix"
                getter="get_header_suffix">
        <doc xml:space="preserve"
             filename="src/adw-preferences-group.c"
             line="285">The header suffix widget.

Displayed above the list, next to the title and description.

Suffixes are commonly used to show a button or a spinner for the whole
group.</doc>
        <type name="Gtk.Widget"/>
      </property>
      <property name="separate-rows"
                version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_separate_rows"
                getter="get_separate_rows"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-preferences-group.c"
             line="302">Whether to separate rows.

Equivalent to using the
[`.boxed-list-separate`](style-classes.html#boxed-lists-cards) style class
on a [class@Gtk.ListBox] instead of `.boxed-list`.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="title"
                writable="1"
                transfer-ownership="none"
                setter="set_title"
                getter="get_title">
        <doc xml:space="preserve"
             filename="src/adw-preferences-group.c"
             line="265">The title for this group of preferences.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent_instance">
        <type name="Gtk.Widget" c:type="GtkWidget"/>
      </field>
    </class>
    <record name="PreferencesGroupClass"
            c:type="AdwPreferencesGroupClass"
            glib:is-gtype-struct-for="PreferencesGroup">
      <source-position filename="src/adw-preferences-group.h" line="34"/>
      <field name="parent_class">
        <doc xml:space="preserve"
             filename="src/adw-preferences-group.h"
             line="26">The parent class</doc>
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
      <field name="padding" readable="0" private="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <class name="PreferencesPage"
           c:symbol-prefix="preferences_page"
           c:type="AdwPreferencesPage"
           parent="Gtk.Widget"
           glib:type-name="AdwPreferencesPage"
           glib:get-type="adw_preferences_page_get_type"
           glib:type-struct="PreferencesPageClass">
      <doc xml:space="preserve"
           filename="src/adw-preferences-page.c"
           line="14">A page from [class@PreferencesDialog].

&lt;picture&gt;
  &lt;source srcset="preferences-page-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="preferences-page.png" alt="preferences-page"&gt;
&lt;/picture&gt;

The `AdwPreferencesPage` widget gathers preferences groups into a single page
of a preferences window.

## CSS nodes

`AdwPreferencesPage` has a single CSS node with name `preferencespage`.

## Accessibility

`AdwPreferencesPage` uses the `GTK_ACCESSIBLE_ROLE_GROUP` role.</doc>
      <source-position filename="src/adw-preferences-page.h" line="36"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <constructor name="new" c:identifier="adw_preferences_page_new">
        <doc xml:space="preserve"
             filename="src/adw-preferences-page.c"
             line="316">Creates a new `AdwPreferencesPage`.</doc>
        <source-position filename="src/adw-preferences-page.h" line="39"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-preferences-page.c"
               line="321">the newly created `AdwPreferencesPage`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="add" c:identifier="adw_preferences_page_add">
        <doc xml:space="preserve"
             filename="src/adw-preferences-page.c"
             line="329">Adds a preferences group to @self.</doc>
        <source-position filename="src/adw-preferences-page.h" line="42"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-page.c"
                 line="331">a preferences page</doc>
            <type name="PreferencesPage" c:type="AdwPreferencesPage*"/>
          </instance-parameter>
          <parameter name="group" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-page.c"
                 line="332">the group to add</doc>
            <type name="PreferencesGroup" c:type="AdwPreferencesGroup*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_banner"
              c:identifier="adw_preferences_page_get_banner"
              glib:get-property="banner"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-preferences-page.c"
             line="660">Gets the banner displayed at the top of the page.</doc>
        <source-position filename="src/adw-preferences-page.h" line="84"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-preferences-page.c"
               line="666">the banner for @self</doc>
          <type name="Banner" c:type="AdwBanner*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-page.c"
                 line="662">a preferences page</doc>
            <type name="PreferencesPage" c:type="AdwPreferencesPage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_description"
              c:identifier="adw_preferences_page_get_description"
              glib:get-property="description"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-preferences-page.c"
             line="460">Gets the description of @self.</doc>
        <source-position filename="src/adw-preferences-page.h" line="61"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-preferences-page.c"
               line="466">the description of @self.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-page.c"
                 line="462">a preferences page</doc>
            <type name="PreferencesPage" c:type="AdwPreferencesPage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_description_centered"
              c:identifier="adw_preferences_page_get_description_centered"
              glib:get-property="description-centered"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-preferences-page.c"
             line="603">Gets whether the description is centered.</doc>
        <source-position filename="src/adw-preferences-page.h" line="78"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-preferences-page.c"
               line="609">whether the description is centered.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-page.c"
                 line="605">a preferences page</doc>
            <type name="PreferencesPage" c:type="AdwPreferencesPage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_icon_name"
              c:identifier="adw_preferences_page_get_icon_name"
              glib:get-property="icon-name">
        <doc xml:space="preserve"
             filename="src/adw-preferences-page.c"
             line="374">Gets the icon name for @self.</doc>
        <source-position filename="src/adw-preferences-page.h" line="49"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-preferences-page.c"
               line="380">the icon name for @self</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-page.c"
                 line="376">a preferences page</doc>
            <type name="PreferencesPage" c:type="AdwPreferencesPage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name"
              c:identifier="adw_preferences_page_get_name"
              glib:get-property="name">
        <doc xml:space="preserve"
             filename="src/adw-preferences-page.c"
             line="513">Gets the name of @self.</doc>
        <source-position filename="src/adw-preferences-page.h" line="67"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-preferences-page.c"
               line="519">the name of @self</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-page.c"
                 line="515">a preferences page</doc>
            <type name="PreferencesPage" c:type="AdwPreferencesPage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_title"
              c:identifier="adw_preferences_page_get_title"
              glib:get-property="title">
        <doc xml:space="preserve"
             filename="src/adw-preferences-page.c"
             line="417">Gets the title of @self.</doc>
        <source-position filename="src/adw-preferences-page.h" line="55"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-preferences-page.c"
               line="423">the title of @self.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-page.c"
                 line="419">a preferences page</doc>
            <type name="PreferencesPage" c:type="AdwPreferencesPage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_use_underline"
              c:identifier="adw_preferences_page_get_use_underline"
              glib:get-property="use-underline">
        <doc xml:space="preserve"
             filename="src/adw-preferences-page.c"
             line="556">Gets whether an embedded underline in the title indicates a mnemonic.</doc>
        <source-position filename="src/adw-preferences-page.h" line="73"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-preferences-page.c"
               line="562">whether an embedded underline in the title indicates a mnemonic</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-page.c"
                 line="558">a preferences page</doc>
            <type name="PreferencesPage" c:type="AdwPreferencesPage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove" c:identifier="adw_preferences_page_remove">
        <doc xml:space="preserve"
             filename="src/adw-preferences-page.c"
             line="350">Removes a group from @self.</doc>
        <source-position filename="src/adw-preferences-page.h" line="45"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-page.c"
                 line="352">a preferences page</doc>
            <type name="PreferencesPage" c:type="AdwPreferencesPage*"/>
          </instance-parameter>
          <parameter name="group" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-page.c"
                 line="353">the group to remove</doc>
            <type name="PreferencesGroup" c:type="AdwPreferencesGroup*"/>
          </parameter>
        </parameters>
      </method>
      <method name="scroll_to_top"
              c:identifier="adw_preferences_page_scroll_to_top"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-preferences-page.c"
             line="759">Scrolls the scrolled window of @self to the top.</doc>
        <source-position filename="src/adw-preferences-page.h" line="90"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-page.c"
                 line="761">a preferences page</doc>
            <type name="PreferencesPage" c:type="AdwPreferencesPage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_banner"
              c:identifier="adw_preferences_page_set_banner"
              glib:set-property="banner"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-preferences-page.c"
             line="682">Sets the banner displayed at the top of the page.</doc>
        <source-position filename="src/adw-preferences-page.h" line="86"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-page.c"
                 line="684">a preferences page</doc>
            <type name="PreferencesPage" c:type="AdwPreferencesPage*"/>
          </instance-parameter>
          <parameter name="banner"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-page.c"
                 line="685">the banner to display at the top of the page</doc>
            <type name="Banner" c:type="AdwBanner*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_description"
              c:identifier="adw_preferences_page_set_description"
              glib:set-property="description"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-preferences-page.c"
             line="482">Sets the description of @self.

The description is displayed at the top of the page.</doc>
        <source-position filename="src/adw-preferences-page.h" line="63"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-page.c"
                 line="484">a preferences page</doc>
            <type name="PreferencesPage" c:type="AdwPreferencesPage*"/>
          </instance-parameter>
          <parameter name="description" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-page.c"
                 line="485">the description</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_description_centered"
              c:identifier="adw_preferences_page_set_description_centered"
              glib:set-property="description-centered"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-preferences-page.c"
             line="625">Sets whether the description should be centered.</doc>
        <source-position filename="src/adw-preferences-page.h" line="80"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-page.c"
                 line="627">a preferences page</doc>
            <type name="PreferencesPage" c:type="AdwPreferencesPage*"/>
          </instance-parameter>
          <parameter name="centered" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-page.c"
                 line="628">If the description should be centered</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_icon_name"
              c:identifier="adw_preferences_page_set_icon_name"
              glib:set-property="icon-name">
        <doc xml:space="preserve"
             filename="src/adw-preferences-page.c"
             line="394">Sets the icon name for @self.</doc>
        <source-position filename="src/adw-preferences-page.h" line="51"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-page.c"
                 line="396">a preferences page</doc>
            <type name="PreferencesPage" c:type="AdwPreferencesPage*"/>
          </instance-parameter>
          <parameter name="icon_name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-page.c"
                 line="397">the icon name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_name"
              c:identifier="adw_preferences_page_set_name"
              glib:set-property="name">
        <doc xml:space="preserve"
             filename="src/adw-preferences-page.c"
             line="533">Sets the name of @self.</doc>
        <source-position filename="src/adw-preferences-page.h" line="69"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-page.c"
                 line="535">a preferences page</doc>
            <type name="PreferencesPage" c:type="AdwPreferencesPage*"/>
          </instance-parameter>
          <parameter name="name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-page.c"
                 line="536">the name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_title"
              c:identifier="adw_preferences_page_set_title"
              glib:set-property="title">
        <doc xml:space="preserve"
             filename="src/adw-preferences-page.c"
             line="437">Sets the title of @self.</doc>
        <source-position filename="src/adw-preferences-page.h" line="57"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-page.c"
                 line="439">a preferences page</doc>
            <type name="PreferencesPage" c:type="AdwPreferencesPage*"/>
          </instance-parameter>
          <parameter name="title" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-page.c"
                 line="440">the title</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_use_underline"
              c:identifier="adw_preferences_page_set_use_underline"
              glib:set-property="use-underline">
        <doc xml:space="preserve"
             filename="src/adw-preferences-page.c"
             line="576">Sets whether an embedded underline in the title indicates a mnemonic.</doc>
        <source-position filename="src/adw-preferences-page.h" line="75"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-page.c"
                 line="578">a preferences page</doc>
            <type name="PreferencesPage" c:type="AdwPreferencesPage*"/>
          </instance-parameter>
          <parameter name="use_underline" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-page.c"
                 line="579">`TRUE` if underlines in the text indicate mnemonics</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="banner"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_banner"
                getter="get_banner">
        <doc xml:space="preserve"
             filename="src/adw-preferences-page.c"
             line="256">A [class@Banner] displayed at the top of the page.</doc>
        <type name="Banner"/>
      </property>
      <property name="description"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_description"
                getter="get_description">
        <doc xml:space="preserve"
             filename="src/adw-preferences-page.c"
             line="212">The description to be displayed at the top of the page.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="description-centered"
                version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_description_centered"
                getter="get_description_centered"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-preferences-page.c"
             line="244">Whether the description should be centered.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="icon-name"
                writable="1"
                transfer-ownership="none"
                setter="set_icon_name"
                getter="get_icon_name">
        <doc xml:space="preserve"
             filename="src/adw-preferences-page.c"
             line="192">The icon name for this page.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="name"
                writable="1"
                transfer-ownership="none"
                setter="set_name"
                getter="get_name"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/adw-preferences-page.c"
             line="224">The name of this page.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="title"
                writable="1"
                transfer-ownership="none"
                setter="set_title"
                getter="get_title">
        <doc xml:space="preserve"
             filename="src/adw-preferences-page.c"
             line="202">The title for this page.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="use-underline"
                writable="1"
                transfer-ownership="none"
                setter="set_use_underline"
                getter="get_use_underline"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-preferences-page.c"
             line="234">Whether an embedded underline in the title indicates a mnemonic.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <field name="parent_instance">
        <type name="Gtk.Widget" c:type="GtkWidget"/>
      </field>
    </class>
    <record name="PreferencesPageClass"
            c:type="AdwPreferencesPageClass"
            glib:is-gtype-struct-for="PreferencesPage">
      <source-position filename="src/adw-preferences-page.h" line="36"/>
      <field name="parent_class">
        <doc xml:space="preserve"
             filename="src/adw-preferences-page.h"
             line="28">The parent class</doc>
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
      <field name="padding" readable="0" private="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <class name="PreferencesRow"
           c:symbol-prefix="preferences_row"
           c:type="AdwPreferencesRow"
           parent="Gtk.ListBoxRow"
           glib:type-name="AdwPreferencesRow"
           glib:get-type="adw_preferences_row_get_type"
           glib:type-struct="PreferencesRowClass">
      <doc xml:space="preserve"
           filename="src/adw-preferences-row.c"
           line="11">A [class@Gtk.ListBoxRow] used to present preferences.

The `AdwPreferencesRow` widget has a title that [class@PreferencesDialog]
will use to let the user look for a preference. It doesn't present the title
in any way and lets you present the preference as you please.

[class@ActionRow] and its derivatives are convenient to use as preference
rows as they take care of presenting the preference's title while letting you
compose the inputs of the preference around it.</doc>
      <source-position filename="src/adw-preferences-row.h" line="34"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Actionable"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <constructor name="new" c:identifier="adw_preferences_row_new">
        <doc xml:space="preserve"
             filename="src/adw-preferences-row.c"
             line="182">Creates a new `AdwPreferencesRow`.</doc>
        <source-position filename="src/adw-preferences-row.h" line="37"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-preferences-row.c"
               line="187">the newly created `AdwPreferencesRow`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="get_title"
              c:identifier="adw_preferences_row_get_title"
              glib:get-property="title">
        <doc xml:space="preserve"
             filename="src/adw-preferences-row.c"
             line="195">Gets the title of the preference represented by @self.</doc>
        <source-position filename="src/adw-preferences-row.h" line="40"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-preferences-row.c"
               line="201">the title</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-row.c"
                 line="197">a preferences row</doc>
            <type name="PreferencesRow" c:type="AdwPreferencesRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_title_selectable"
              c:identifier="adw_preferences_row_get_title_selectable"
              glib:get-property="title-selectable"
              version="1.1">
        <doc xml:space="preserve"
             filename="src/adw-preferences-row.c"
             line="288">Gets whether the user can copy the title from the label</doc>
        <source-position filename="src/adw-preferences-row.h" line="52"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-preferences-row.c"
               line="294">whether the user can copy the title from the label</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-row.c"
                 line="290">a preferences row</doc>
            <type name="PreferencesRow" c:type="AdwPreferencesRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_use_markup"
              c:identifier="adw_preferences_row_get_use_markup"
              glib:get-property="use-markup"
              version="1.2">
        <doc xml:space="preserve"
             filename="src/adw-preferences-row.c"
             line="337">Gets whether to use Pango markup for the title label.</doc>
        <source-position filename="src/adw-preferences-row.h" line="59"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-preferences-row.c"
               line="343">whether to use markup</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-row.c"
                 line="339">a preferences row</doc>
            <type name="PreferencesRow" c:type="AdwPreferencesRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_use_underline"
              c:identifier="adw_preferences_row_get_use_underline"
              glib:get-property="use-underline">
        <doc xml:space="preserve"
             filename="src/adw-preferences-row.c"
             line="241">Gets whether an embedded underline in the title indicates a mnemonic.</doc>
        <source-position filename="src/adw-preferences-row.h" line="46"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-preferences-row.c"
               line="247">whether an embedded underline in the title indicates a mnemonic</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-row.c"
                 line="243">a preferences row</doc>
            <type name="PreferencesRow" c:type="AdwPreferencesRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_title"
              c:identifier="adw_preferences_row_set_title"
              glib:set-property="title">
        <doc xml:space="preserve"
             filename="src/adw-preferences-row.c"
             line="215">Sets the title of the preference represented by @self.

The title is interpreted as Pango markup unless
[property@PreferencesRow:use-markup] is set to `FALSE`.</doc>
        <source-position filename="src/adw-preferences-row.h" line="42"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-row.c"
                 line="217">a preferences row</doc>
            <type name="PreferencesRow" c:type="AdwPreferencesRow*"/>
          </instance-parameter>
          <parameter name="title" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-row.c"
                 line="218">the title</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_title_selectable"
              c:identifier="adw_preferences_row_set_title_selectable"
              glib:set-property="title-selectable"
              version="1.1">
        <doc xml:space="preserve"
             filename="src/adw-preferences-row.c"
             line="308">Sets whether the user can copy the title from the label

See also [property@Gtk.Label:selectable].</doc>
        <source-position filename="src/adw-preferences-row.h" line="54"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-row.c"
                 line="310">a preferences row</doc>
            <type name="PreferencesRow" c:type="AdwPreferencesRow*"/>
          </instance-parameter>
          <parameter name="title_selectable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-row.c"
                 line="311">`TRUE` if the user can copy the title from the label</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_use_markup"
              c:identifier="adw_preferences_row_set_use_markup"
              glib:set-property="use-markup"
              version="1.2">
        <doc xml:space="preserve"
             filename="src/adw-preferences-row.c"
             line="359">Sets whether to use Pango markup for the title label.

Subclasses may also use it for other labels, such as subtitle.

See also [func@Pango.parse_markup].</doc>
        <source-position filename="src/adw-preferences-row.h" line="61"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-row.c"
                 line="361">a preferences row</doc>
            <type name="PreferencesRow" c:type="AdwPreferencesRow*"/>
          </instance-parameter>
          <parameter name="use_markup" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-row.c"
                 line="362">whether to use markup</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_use_underline"
              c:identifier="adw_preferences_row_set_use_underline"
              glib:set-property="use-underline">
        <doc xml:space="preserve"
             filename="src/adw-preferences-row.c"
             line="261">Sets whether an embedded underline in the title indicates a mnemonic.</doc>
        <source-position filename="src/adw-preferences-row.h" line="48"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-row.c"
                 line="263">a preferences row</doc>
            <type name="PreferencesRow" c:type="AdwPreferencesRow*"/>
          </instance-parameter>
          <parameter name="use_underline" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-row.c"
                 line="264">`TRUE` if underlines in the text indicate mnemonics</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="title"
                writable="1"
                transfer-ownership="none"
                setter="set_title"
                getter="get_title">
        <doc xml:space="preserve"
             filename="src/adw-preferences-row.c"
             line="118">The title of the preference represented by this row.

The title is interpreted as Pango markup unless
[property@PreferencesRow:use-markup] is set to `FALSE`.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="title-selectable"
                version="1.1"
                writable="1"
                transfer-ownership="none"
                setter="set_title_selectable"
                getter="get_title_selectable"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-preferences-row.c"
             line="141">Whether the user can copy the title from the label.

See also [property@Gtk.Label:selectable].</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="use-markup"
                version="1.2"
                writable="1"
                transfer-ownership="none"
                setter="set_use_markup"
                getter="get_use_markup"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-preferences-row.c"
             line="155">Whether to use Pango markup for the title label.

Subclasses may also use it for other labels, such as subtitle.

See also [func@Pango.parse_markup].</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="use-underline"
                writable="1"
                transfer-ownership="none"
                setter="set_use_underline"
                getter="get_use_underline"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-preferences-row.c"
             line="131">Whether an embedded underline in the title indicates a mnemonic.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <field name="parent_instance">
        <type name="Gtk.ListBoxRow" c:type="GtkListBoxRow"/>
      </field>
    </class>
    <record name="PreferencesRowClass"
            c:type="AdwPreferencesRowClass"
            glib:is-gtype-struct-for="PreferencesRow">
      <source-position filename="src/adw-preferences-row.h" line="34"/>
      <field name="parent_class">
        <doc xml:space="preserve"
             filename="src/adw-preferences-row.h"
             line="26">The parent class</doc>
        <type name="Gtk.ListBoxRowClass" c:type="GtkListBoxRowClass"/>
      </field>
      <field name="padding" readable="0" private="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <class name="PreferencesWindow"
           c:symbol-prefix="preferences_window"
           c:type="AdwPreferencesWindow"
           deprecated="1"
           deprecated-version="1.6"
           parent="Window"
           glib:type-name="AdwPreferencesWindow"
           glib:get-type="adw_preferences_window_get_type"
           glib:type-struct="PreferencesWindowClass">
      <doc xml:space="preserve"
           filename="src/adw-preferences-window.c"
           line="26">A window to present an application's preferences.

&lt;picture&gt;
  &lt;source srcset="preferences-window-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="preferences-window.png" alt="preferences-window"&gt;
&lt;/picture&gt;

The `AdwPreferencesWindow` widget presents an application's preferences
gathered into pages and groups. The preferences are searchable by the user.

## CSS nodes

`AdwPreferencesWindow` has a main CSS node with the name `window` and the
style class `.preferences`.</doc>
      <doc-deprecated xml:space="preserve">Use [class@PreferencesDialog].</doc-deprecated>
      <source-position filename="src/adw-preferences-window.h" line="38"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <implements name="Gtk.Native"/>
      <implements name="Gtk.Root"/>
      <implements name="Gtk.ShortcutManager"/>
      <constructor name="new"
                   c:identifier="adw_preferences_window_new"
                   deprecated="1"
                   deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-preferences-window.c"
             line="720">Creates a new `AdwPreferencesWindow`.</doc>
        <doc-deprecated xml:space="preserve">Use [class@PreferencesDialog].</doc-deprecated>
        <source-position filename="src/adw-preferences-window.h" line="41"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-preferences-window.c"
               line="725">the newly created `AdwPreferencesWindow`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="add"
              c:identifier="adw_preferences_window_add"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-preferences-window.c"
             line="735">Adds a preferences page to @self.</doc>
        <doc-deprecated xml:space="preserve">Use [class@PreferencesDialog].</doc-deprecated>
        <source-position filename="src/adw-preferences-window.h" line="44"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-window.c"
                 line="737">a preferences window</doc>
            <type name="PreferencesWindow" c:type="AdwPreferencesWindow*"/>
          </instance-parameter>
          <parameter name="page" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-window.c"
                 line="738">the page to add</doc>
            <type name="PreferencesPage" c:type="AdwPreferencesPage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_toast"
              c:identifier="adw_preferences_window_add_toast"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-preferences-window.c"
             line="1120">Displays @toast.

See [method@ToastOverlay.add_toast].</doc>
        <doc-deprecated xml:space="preserve">Use [class@PreferencesDialog].</doc-deprecated>
        <source-position filename="src/adw-preferences-window.h" line="87"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-window.c"
                 line="1122">a preferences window</doc>
            <type name="PreferencesWindow" c:type="AdwPreferencesWindow*"/>
          </instance-parameter>
          <parameter name="toast" transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-window.c"
                 line="1123">a toast</doc>
            <type name="Toast" c:type="AdwToast*"/>
          </parameter>
        </parameters>
      </method>
      <method name="close_subpage"
              c:identifier="adw_preferences_window_close_subpage"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-preferences-window.c"
             line="1046">Closes the current subpage.

If there is no presented subpage, this does nothing.</doc>
        <doc-deprecated xml:space="preserve">Use [method@PreferencesWindow.pop_subpage] instead.</doc-deprecated>
        <source-position filename="src/adw-preferences-window.h" line="78"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-window.c"
                 line="1048">a preferences window</doc>
            <type name="PreferencesWindow" c:type="AdwPreferencesWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_can_navigate_back"
              c:identifier="adw_preferences_window_get_can_navigate_back"
              glib:get-property="can-navigate-back"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-preferences-window.c"
             line="987">Gets whether gestures and shortcuts for closing subpages are enabled.</doc>
        <doc-deprecated xml:space="preserve">Use [method@NavigationPage.get_can_pop] instead.</doc-deprecated>
        <source-position filename="src/adw-preferences-window.h" line="69"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-preferences-window.c"
               line="993">whether gestures and shortcuts are enabled.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-window.c"
                 line="989">a preferences window</doc>
            <type name="PreferencesWindow" c:type="AdwPreferencesWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_search_enabled"
              c:identifier="adw_preferences_window_get_search_enabled"
              glib:get-property="search-enabled"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-preferences-window.c"
             line="887">Gets whether search is enabled for @self.</doc>
        <doc-deprecated xml:space="preserve">Use [class@PreferencesDialog].</doc-deprecated>
        <source-position filename="src/adw-preferences-window.h" line="63"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-preferences-window.c"
               line="893">whether search is enabled for @self.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-window.c"
                 line="889">a preferences window</doc>
            <type name="PreferencesWindow" c:type="AdwPreferencesWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_visible_page"
              c:identifier="adw_preferences_window_get_visible_page"
              glib:get-property="visible-page"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-preferences-window.c"
             line="796">Gets the currently visible page of @self.</doc>
        <doc-deprecated xml:space="preserve">Use [class@PreferencesDialog].</doc-deprecated>
        <source-position filename="src/adw-preferences-window.h" line="51"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-preferences-window.c"
               line="802">the visible page</doc>
          <type name="PreferencesPage" c:type="AdwPreferencesPage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-window.c"
                 line="798">a preferences window</doc>
            <type name="PreferencesWindow" c:type="AdwPreferencesWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_visible_page_name"
              c:identifier="adw_preferences_window_get_visible_page_name"
              glib:get-property="visible-page-name"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-preferences-window.c"
             line="841">Gets the name of currently visible page of @self.</doc>
        <doc-deprecated xml:space="preserve">Use [class@PreferencesDialog].</doc-deprecated>
        <source-position filename="src/adw-preferences-window.h" line="57"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-preferences-window.c"
               line="847">the name of the visible page</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-window.c"
                 line="843">a preferences window</doc>
            <type name="PreferencesWindow" c:type="AdwPreferencesWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="pop_subpage"
              c:identifier="adw_preferences_window_pop_subpage"
              version="1.4"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-preferences-window.c"
             line="1097">Pop the visible page from the subpage stack of @self.</doc>
        <doc-deprecated xml:space="preserve">Use [class@PreferencesDialog].</doc-deprecated>
        <source-position filename="src/adw-preferences-window.h" line="84"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-preferences-window.c"
               line="1103">`TRUE` if a page has been popped</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-window.c"
                 line="1099">a preferences window</doc>
            <type name="PreferencesWindow" c:type="AdwPreferencesWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="present_subpage"
              c:identifier="adw_preferences_window_present_subpage"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-preferences-window.c"
             line="1009">Sets @subpage as the window's subpage and opens it.

The transition can be cancelled by the user, in which case visible child will
change back to the previously visible child.</doc>
        <doc-deprecated xml:space="preserve">Use [method@PreferencesWindow.push_subpage] instead.</doc-deprecated>
        <source-position filename="src/adw-preferences-window.h" line="75"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-window.c"
                 line="1011">a preferences window</doc>
            <type name="PreferencesWindow" c:type="AdwPreferencesWindow*"/>
          </instance-parameter>
          <parameter name="subpage" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-window.c"
                 line="1012">the subpage</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="push_subpage"
              c:identifier="adw_preferences_window_push_subpage"
              version="1.4"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-preferences-window.c"
             line="1071">Pushes @page onto the subpage stack of @self.

The page will be automatically removed when popped.</doc>
        <doc-deprecated xml:space="preserve">Use [class@PreferencesDialog].</doc-deprecated>
        <source-position filename="src/adw-preferences-window.h" line="81"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-window.c"
                 line="1073">a preferences window</doc>
            <type name="PreferencesWindow" c:type="AdwPreferencesWindow*"/>
          </instance-parameter>
          <parameter name="page" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-window.c"
                 line="1074">the subpage</doc>
            <type name="NavigationPage" c:type="AdwNavigationPage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove"
              c:identifier="adw_preferences_window_remove"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-preferences-window.c"
             line="767">Removes a page from @self.</doc>
        <doc-deprecated xml:space="preserve">Use [class@PreferencesDialog].</doc-deprecated>
        <source-position filename="src/adw-preferences-window.h" line="47"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-window.c"
                 line="769">a preferences window</doc>
            <type name="PreferencesWindow" c:type="AdwPreferencesWindow*"/>
          </instance-parameter>
          <parameter name="page" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-window.c"
                 line="770">the page to remove</doc>
            <type name="PreferencesPage" c:type="AdwPreferencesPage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_can_navigate_back"
              c:identifier="adw_preferences_window_set_can_navigate_back"
              glib:set-property="can-navigate-back"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-preferences-window.c"
             line="945">Sets whether gestures and shortcuts for closing subpages are enabled.

The supported gestures are:

- One-finger swipe on touchscreens
- Horizontal scrolling on touchpads (usually two-finger swipe)
- Back mouse button

The keyboard back key is also supported, as well as the
&lt;kbd&gt;Alt&lt;/kbd&gt;+&lt;kbd&gt;←&lt;/kbd&gt; shortcut.

For right-to-left locales, gestures and shortcuts are reversed.

Has no effect for subpages added with [method@PreferencesWindow.push_subpage].</doc>
        <doc-deprecated xml:space="preserve">Use [method@NavigationPage.set_can_pop] instead.</doc-deprecated>
        <source-position filename="src/adw-preferences-window.h" line="71"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-window.c"
                 line="947">a preferences window</doc>
            <type name="PreferencesWindow" c:type="AdwPreferencesWindow*"/>
          </instance-parameter>
          <parameter name="can_navigate_back" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-window.c"
                 line="948">the new value</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_search_enabled"
              c:identifier="adw_preferences_window_set_search_enabled"
              glib:set-property="search-enabled"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-preferences-window.c"
             line="909">Sets whether search is enabled for @self.</doc>
        <doc-deprecated xml:space="preserve">Use [class@PreferencesDialog].</doc-deprecated>
        <source-position filename="src/adw-preferences-window.h" line="65"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-window.c"
                 line="911">a preferences window</doc>
            <type name="PreferencesWindow" c:type="AdwPreferencesWindow*"/>
          </instance-parameter>
          <parameter name="search_enabled" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-window.c"
                 line="912">whether search is enabled</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_visible_page"
              c:identifier="adw_preferences_window_set_visible_page"
              glib:set-property="visible-page"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-preferences-window.c"
             line="818">Makes @page the visible page of @self.</doc>
        <doc-deprecated xml:space="preserve">Use [class@PreferencesDialog].</doc-deprecated>
        <source-position filename="src/adw-preferences-window.h" line="53"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-window.c"
                 line="820">a preferences window</doc>
            <type name="PreferencesWindow" c:type="AdwPreferencesWindow*"/>
          </instance-parameter>
          <parameter name="page" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-window.c"
                 line="821">a page of @self</doc>
            <type name="PreferencesPage" c:type="AdwPreferencesPage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_visible_page_name"
              c:identifier="adw_preferences_window_set_visible_page_name"
              glib:set-property="visible-page-name"
              deprecated="1"
              deprecated-version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-preferences-window.c"
             line="863">Makes the page with the given name visible.

See [property@PreferencesWindow:visible-page].</doc>
        <doc-deprecated xml:space="preserve">Use [class@PreferencesDialog].</doc-deprecated>
        <source-position filename="src/adw-preferences-window.h" line="59"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-window.c"
                 line="865">a preferences window</doc>
            <type name="PreferencesWindow" c:type="AdwPreferencesWindow*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-preferences-window.c"
                 line="866">the name of the page to make visible</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <property name="can-navigate-back"
                deprecated="1"
                deprecated-version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_can_navigate_back"
                getter="get_can_navigate_back"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-preferences-window.c"
             line="590">Whether gestures and shortcuts for closing subpages are enabled.

The supported gestures are:

- One-finger swipe on touchscreens
- Horizontal scrolling on touchpads (usually two-finger swipe)
- Back mouse button

The keyboard back key is also supported, as well as the
&lt;kbd&gt;Alt&lt;/kbd&gt;+&lt;kbd&gt;←&lt;/kbd&gt; shortcut.

For right-to-left locales, gestures and shortcuts are reversed.

Has no effect for subpages added with
[method@PreferencesWindow.push_subpage].</doc>
        <doc-deprecated xml:space="preserve">Use [property@NavigationPage:can-pop] instead.</doc-deprecated>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="search-enabled"
                deprecated="1"
                deprecated-version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_search_enabled"
                getter="get_search_enabled"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-preferences-window.c"
             line="578">Whether search is enabled.</doc>
        <doc-deprecated xml:space="preserve">Use [class@PreferencesDialog].</doc-deprecated>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="visible-page"
                deprecated="1"
                deprecated-version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_visible_page"
                getter="get_visible_page">
        <doc xml:space="preserve"
             filename="src/adw-preferences-window.c"
             line="552">The currently visible page.</doc>
        <doc-deprecated xml:space="preserve">Use [class@PreferencesDialog].</doc-deprecated>
        <type name="Gtk.Widget"/>
      </property>
      <property name="visible-page-name"
                deprecated="1"
                deprecated-version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_visible_page_name"
                getter="get_visible_page_name"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/adw-preferences-window.c"
             line="564">The name of the currently visible page.

See [property@PreferencesWindow:visible-page].</doc>
        <doc-deprecated xml:space="preserve">Use [class@PreferencesDialog].</doc-deprecated>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent_instance">
        <type name="Window" c:type="AdwWindow"/>
      </field>
    </class>
    <record name="PreferencesWindowClass"
            c:type="AdwPreferencesWindowClass"
            glib:is-gtype-struct-for="PreferencesWindow">
      <source-position filename="src/adw-preferences-window.h" line="38"/>
      <field name="parent_class">
        <doc xml:space="preserve"
             filename="src/adw-preferences-window.h"
             line="30">The parent class</doc>
        <type name="WindowClass" c:type="AdwWindowClass"/>
      </field>
      <field name="padding" readable="0" private="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <class name="PropertyAnimationTarget"
           c:symbol-prefix="property_animation_target"
           c:type="AdwPropertyAnimationTarget"
           version="1.2"
           parent="AnimationTarget"
           final="1"
           glib:type-name="AdwPropertyAnimationTarget"
           glib:get-type="adw_property_animation_target_get_type"
           glib:type-struct="PropertyAnimationTargetClass">
      <doc xml:space="preserve"
           filename="src/adw-animation-target.c"
           line="24">An [class@AnimationTarget] changing the value of a property of a
[class@GObject.Object] instance.</doc>
      <source-position filename="src/adw-animation-target.h" line="48"/>
      <constructor name="new"
                   c:identifier="adw_property_animation_target_new"
                   version="1.2">
        <doc xml:space="preserve"
             filename="src/adw-animation-target.c"
             line="348">Creates a new `AdwPropertyAnimationTarget` for the @property_name property on
@object.</doc>
        <source-position filename="src/adw-animation-target.h" line="51"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/adw-animation-target.c"
               line="356">the newly created `AdwPropertyAnimationTarget`</doc>
          <type name="AnimationTarget" c:type="AdwAnimationTarget*"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-animation-target.c"
                 line="350">an object to be animated</doc>
            <type name="GObject.Object" c:type="GObject*"/>
          </parameter>
          <parameter name="property_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-animation-target.c"
                 line="351">the name of the property on @object to animate</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_for_pspec"
                   c:identifier="adw_property_animation_target_new_for_pspec"
                   version="1.2">
        <doc xml:space="preserve"
             filename="src/adw-animation-target.c"
             line="378">Creates a new `AdwPropertyAnimationTarget` for the @pspec property on
@object.</doc>
        <source-position filename="src/adw-animation-target.h" line="54"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/adw-animation-target.c"
               line="386">new newly created `AdwPropertyAnimationTarget`</doc>
          <type name="AnimationTarget" c:type="AdwAnimationTarget*"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-animation-target.c"
                 line="380">an object to be animated</doc>
            <type name="GObject.Object" c:type="GObject*"/>
          </parameter>
          <parameter name="pspec" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-animation-target.c"
                 line="381">the param spec of the property on @object to animate</doc>
            <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_object"
              c:identifier="adw_property_animation_target_get_object"
              glib:get-property="object"
              version="1.2">
        <doc xml:space="preserve"
             filename="src/adw-animation-target.c"
             line="403">Gets the object animated by @self.

The `AdwPropertyAnimationTarget` instance does not hold a strong reference on
the object; make sure the object is kept alive throughout the target's
lifetime.</doc>
        <source-position filename="src/adw-animation-target.h" line="58"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-animation-target.c"
               line="413">the animated object</doc>
          <type name="GObject.Object" c:type="GObject*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-animation-target.c"
                 line="405">a property animation target</doc>
            <type name="PropertyAnimationTarget"
                  c:type="AdwPropertyAnimationTarget*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_pspec"
              c:identifier="adw_property_animation_target_get_pspec"
              glib:get-property="pspec"
              version="1.2">
        <doc xml:space="preserve"
             filename="src/adw-animation-target.c"
             line="425">Gets the `GParamSpec` of the property animated by @self.</doc>
        <source-position filename="src/adw-animation-target.h" line="60"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-animation-target.c"
               line="431">the animated property's `GParamSpec`</doc>
          <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-animation-target.c"
                 line="427">a property animation target</doc>
            <type name="PropertyAnimationTarget"
                  c:type="AdwPropertyAnimationTarget*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="object"
                version="1.2"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_object">
        <doc xml:space="preserve"
             filename="src/adw-animation-target.c"
             line="310">The object whose property will be animated.

The `AdwPropertyAnimationTarget` instance does not hold a strong reference
on the object; make sure the object is kept alive throughout the target's
lifetime.</doc>
        <type name="GObject.Object"/>
      </property>
      <property name="pspec"
                version="1.2"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_pspec">
        <doc xml:space="preserve"
             filename="src/adw-animation-target.c"
             line="326">The `GParamSpec` of the property to be animated.</doc>
        <type name="GObject.ParamSpec"/>
      </property>
    </class>
    <record name="PropertyAnimationTargetClass"
            c:type="AdwPropertyAnimationTargetClass"
            disguised="1"
            opaque="1"
            glib:is-gtype-struct-for="PropertyAnimationTarget">
      <source-position filename="src/adw-animation-target.h" line="48"/>
    </record>
    <enumeration name="ResponseAppearance"
                 version="1.2"
                 glib:type-name="AdwResponseAppearance"
                 glib:get-type="adw_response_appearance_get_type"
                 c:type="AdwResponseAppearance">
      <doc xml:space="preserve"
           filename="src/adw-alert-dialog.c"
           line="159">Describes the possible styles of [class@AlertDialog] response buttons.

See [method@AlertDialog.set_response_appearance].</doc>
      <member name="default"
              value="0"
              c:identifier="ADW_RESPONSE_DEFAULT"
              glib:nick="default"
              glib:name="ADW_RESPONSE_DEFAULT">
        <doc xml:space="preserve"
             filename="src/adw-alert-dialog.c"
             line="161">the default appearance.</doc>
      </member>
      <member name="suggested"
              value="1"
              c:identifier="ADW_RESPONSE_SUGGESTED"
              glib:nick="suggested"
              glib:name="ADW_RESPONSE_SUGGESTED">
        <doc xml:space="preserve"
             filename="src/adw-alert-dialog.c"
             line="162">used to denote important responses such as the
    affirmative action.</doc>
      </member>
      <member name="destructive"
              value="2"
              c:identifier="ADW_RESPONSE_DESTRUCTIVE"
              glib:nick="destructive"
              glib:name="ADW_RESPONSE_DESTRUCTIVE">
        <doc xml:space="preserve"
             filename="src/adw-alert-dialog.c"
             line="164">used to draw attention to the potentially damaging
    consequences of using the response. This appearance acts as a warning to
    the user.</doc>
      </member>
    </enumeration>
    <class name="SpinRow"
           c:symbol-prefix="spin_row"
           c:type="AdwSpinRow"
           version="1.4"
           parent="ActionRow"
           final="1"
           glib:type-name="AdwSpinRow"
           glib:get-type="adw_spin_row_get_type"
           glib:type-struct="SpinRowClass">
      <doc xml:space="preserve"
           filename="src/adw-spin-row.c"
           line="19">An [class@ActionRow] with an embedded spin button.

&lt;picture&gt;
  &lt;source srcset="spin-row-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="spin-row.png" alt="spin-row"&gt;
&lt;/picture&gt;

Example of an `AdwSpinRow` UI definition:

```xml
&lt;object class="AdwSpinRow"&gt;
  &lt;property name="title" translatable="yes"&gt;Spin Row&lt;/property&gt;
  &lt;property name="adjustment"&gt;
    &lt;object class="GtkAdjustment"&gt;
      &lt;property name="lower"&gt;0&lt;/property&gt;
      &lt;property name="upper"&gt;100&lt;/property&gt;
      &lt;property name="value"&gt;50&lt;/property&gt;
      &lt;property name="page-increment"&gt;10&lt;/property&gt;
      &lt;property name="step-increment"&gt;1&lt;/property&gt;
    &lt;/object&gt;
  &lt;/property&gt;
&lt;/object&gt;
```

See [class@Gtk.SpinButton] for details.

## CSS nodes

`AdwSpinRow` has the same structure as [class@ActionRow], as well as the
`.spin` style class on the main node.

## Accessibility

`AdwSpinRow` uses an internal `GtkSpinButton` with the
`GTK_ACCESSIBLE_ROLE_SPIN_BUTTON` role.</doc>
      <source-position filename="src/adw-spin-row.h" line="24"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Actionable"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <implements name="Gtk.Editable"/>
      <constructor name="new" c:identifier="adw_spin_row_new" version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-spin-row.c"
             line="518">Creates a new `AdwSpinRow`.</doc>
        <source-position filename="src/adw-spin-row.h" line="27"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-spin-row.c"
               line="526">the newly created `AdwSpinRow`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="adjustment"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-spin-row.c"
                 line="520">the adjustment that this spin row should use</doc>
            <type name="Gtk.Adjustment" c:type="GtkAdjustment*"/>
          </parameter>
          <parameter name="climb_rate" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spin-row.c"
                 line="521">the rate the value changes when holding a button or key</doc>
            <type name="gdouble" c:type="double"/>
          </parameter>
          <parameter name="digits" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spin-row.c"
                 line="522">the number of decimal places to display</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_with_range"
                   c:identifier="adw_spin_row_new_with_range"
                   version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-spin-row.c"
             line="545">Creates a new `AdwSpinRow` with the given properties.

This is a convenience constructor that allows creation of a numeric
`AdwSpinRow` without manually creating an adjustment. The value is initially
set to the minimum value and a page increment of 10 * @step is the default.
The precision of the spin row is equivalent to the precisions of @step.

::: note
    The way in which the precision is derived works best if @step is a power
    of ten. If the resulting precision is not suitable for your needs, use
    [method@SpinRow.set_digits] to correct it.</doc>
        <source-position filename="src/adw-spin-row.h" line="31"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-spin-row.c"
               line="563">the new `AdwSpinRow`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="min" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spin-row.c"
                 line="547">minimum allowable value</doc>
            <type name="gdouble" c:type="double"/>
          </parameter>
          <parameter name="max" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spin-row.c"
                 line="548">maximum allowable value</doc>
            <type name="gdouble" c:type="double"/>
          </parameter>
          <parameter name="step" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spin-row.c"
                 line="549">increment added or subtracted by spinning the widget</doc>
            <type name="gdouble" c:type="double"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="configure"
              c:identifier="adw_spin_row_configure"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-spin-row.c"
             line="597">Changes the properties of an existing spin row.

The adjustment, climb rate, and number of decimal places are updated
accordingly.</doc>
        <source-position filename="src/adw-spin-row.h" line="35"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spin-row.c"
                 line="599">a spin row</doc>
            <type name="SpinRow" c:type="AdwSpinRow*"/>
          </instance-parameter>
          <parameter name="adjustment"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-spin-row.c"
                 line="600">the adjustment that this spin row should use</doc>
            <type name="Gtk.Adjustment" c:type="GtkAdjustment*"/>
          </parameter>
          <parameter name="climb_rate" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spin-row.c"
                 line="601">the new climb rate</doc>
            <type name="gdouble" c:type="double"/>
          </parameter>
          <parameter name="digits" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spin-row.c"
                 line="602">the number of decimal places to display</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_adjustment"
              c:identifier="adw_spin_row_get_adjustment"
              glib:get-property="adjustment"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-spin-row.c"
             line="630">Gets the adjustment that holds the value for the spin row.</doc>
        <source-position filename="src/adw-spin-row.h" line="41"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-spin-row.c"
               line="636">the adjustment that holds the spin row's value</doc>
          <type name="Gtk.Adjustment" c:type="GtkAdjustment*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spin-row.c"
                 line="632">a spin row</doc>
            <type name="SpinRow" c:type="AdwSpinRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_climb_rate"
              c:identifier="adw_spin_row_get_climb_rate"
              glib:get-property="climb-rate"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-spin-row.c"
             line="674">Gets the acceleration rate when you hold down a button or key.</doc>
        <source-position filename="src/adw-spin-row.h" line="47"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-spin-row.c"
               line="680">the acceleration rate when you hold down a button or key</doc>
          <type name="gdouble" c:type="double"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spin-row.c"
                 line="676">a spin row</doc>
            <type name="SpinRow" c:type="AdwSpinRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_digits"
              c:identifier="adw_spin_row_get_digits"
              glib:get-property="digits"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-spin-row.c"
             line="716">Gets the number of decimal places to display.</doc>
        <source-position filename="src/adw-spin-row.h" line="53"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-spin-row.c"
               line="722">the number of decimal places to display</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spin-row.c"
                 line="718">a spin row</doc>
            <type name="SpinRow" c:type="AdwSpinRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_numeric"
              c:identifier="adw_spin_row_get_numeric"
              glib:get-property="numeric"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-spin-row.c"
             line="757">Gets whether non-numeric characters should be ignored.</doc>
        <source-position filename="src/adw-spin-row.h" line="59"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-spin-row.c"
               line="763">whether non-numeric characters should be ignored.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spin-row.c"
                 line="759">a spin row</doc>
            <type name="SpinRow" c:type="AdwSpinRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_snap_to_ticks"
              c:identifier="adw_spin_row_get_snap_to_ticks"
              glib:get-property="snap-to-ticks"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-spin-row.c"
             line="800">Gets whether invalid values are snapped to nearest step increment.</doc>
        <source-position filename="src/adw-spin-row.h" line="65"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-spin-row.c"
               line="806">whether invalid values are snapped to the nearest step increment</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spin-row.c"
                 line="802">a spin row</doc>
            <type name="SpinRow" c:type="AdwSpinRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_update_policy"
              c:identifier="adw_spin_row_get_update_policy"
              glib:get-property="update-policy"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-spin-row.c"
             line="843">Gets the policy for updating the spin row.</doc>
        <source-position filename="src/adw-spin-row.h" line="71"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-spin-row.c"
               line="849">the policy for updating the spin row</doc>
          <type name="Gtk.SpinButtonUpdatePolicy"
                c:type="GtkSpinButtonUpdatePolicy"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spin-row.c"
                 line="845">a spin row</doc>
            <type name="SpinRow" c:type="AdwSpinRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_value"
              c:identifier="adw_spin_row_get_value"
              glib:get-property="value"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-spin-row.c"
             line="886">Gets the current value.</doc>
        <source-position filename="src/adw-spin-row.h" line="77"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-spin-row.c"
               line="892">the current value</doc>
          <type name="gdouble" c:type="double"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spin-row.c"
                 line="888">a spin row</doc>
            <type name="SpinRow" c:type="AdwSpinRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_wrap"
              c:identifier="adw_spin_row_get_wrap"
              glib:get-property="wrap"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-spin-row.c"
             line="925">Gets whether the spin row should wrap upon reaching its limits.</doc>
        <source-position filename="src/adw-spin-row.h" line="83"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-spin-row.c"
               line="931">whether the spin row should wrap upon reaching its limits</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spin-row.c"
                 line="927">a spin row</doc>
            <type name="SpinRow" c:type="AdwSpinRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_adjustment"
              c:identifier="adw_spin_row_set_adjustment"
              glib:set-property="adjustment"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-spin-row.c"
             line="650">Sets the adjustment that holds the value for the spin row.</doc>
        <source-position filename="src/adw-spin-row.h" line="43"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spin-row.c"
                 line="652">a spin row</doc>
            <type name="SpinRow" c:type="AdwSpinRow*"/>
          </instance-parameter>
          <parameter name="adjustment"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-spin-row.c"
                 line="653">an adjustment</doc>
            <type name="Gtk.Adjustment" c:type="GtkAdjustment*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_climb_rate"
              c:identifier="adw_spin_row_set_climb_rate"
              glib:set-property="climb-rate"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-spin-row.c"
             line="692">Sets the acceleration rate when you hold down a button or key.</doc>
        <source-position filename="src/adw-spin-row.h" line="49"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spin-row.c"
                 line="694">a spin row</doc>
            <type name="SpinRow" c:type="AdwSpinRow*"/>
          </instance-parameter>
          <parameter name="climb_rate" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spin-row.c"
                 line="695">the acceleration rate when you hold down a button or key</doc>
            <type name="gdouble" c:type="double"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_digits"
              c:identifier="adw_spin_row_set_digits"
              glib:set-property="digits"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-spin-row.c"
             line="734">Sets the number of decimal places to display.</doc>
        <source-position filename="src/adw-spin-row.h" line="55"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spin-row.c"
                 line="736">a spin row</doc>
            <type name="SpinRow" c:type="AdwSpinRow*"/>
          </instance-parameter>
          <parameter name="digits" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spin-row.c"
                 line="737">the number of decimal places to display</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_numeric"
              c:identifier="adw_spin_row_set_numeric"
              glib:set-property="numeric"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-spin-row.c"
             line="775">Sets whether non-numeric characters should be ignored.</doc>
        <source-position filename="src/adw-spin-row.h" line="61"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spin-row.c"
                 line="777">a spin row</doc>
            <type name="SpinRow" c:type="AdwSpinRow*"/>
          </instance-parameter>
          <parameter name="numeric" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spin-row.c"
                 line="778">whether non-numeric characters should be ignored</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_range"
              c:identifier="adw_spin_row_set_range"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-spin-row.c"
             line="984">Sets the minimum and maximum allowable values for @self.

If the current value is outside this range, it will be adjusted
to fit within the range, otherwise it will remain unchanged.</doc>
        <source-position filename="src/adw-spin-row.h" line="92"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spin-row.c"
                 line="986">a spin row</doc>
            <type name="SpinRow" c:type="AdwSpinRow*"/>
          </instance-parameter>
          <parameter name="min" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spin-row.c"
                 line="987">minimum allowable value</doc>
            <type name="gdouble" c:type="double"/>
          </parameter>
          <parameter name="max" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spin-row.c"
                 line="988">maximum allowable value</doc>
            <type name="gdouble" c:type="double"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_snap_to_ticks"
              c:identifier="adw_spin_row_set_snap_to_ticks"
              glib:set-property="snap-to-ticks"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-spin-row.c"
             line="818">Sets whether invalid values are snapped to the nearest step increment.</doc>
        <source-position filename="src/adw-spin-row.h" line="67"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spin-row.c"
                 line="820">a spin row</doc>
            <type name="SpinRow" c:type="AdwSpinRow*"/>
          </instance-parameter>
          <parameter name="snap_to_ticks" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spin-row.c"
                 line="821">whether invalid values are snapped to the nearest step increment</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_update_policy"
              c:identifier="adw_spin_row_set_update_policy"
              glib:set-property="update-policy"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-spin-row.c"
             line="861">Sets the policy for updating the spin row.

The options are always, or only when the value is invalid.</doc>
        <source-position filename="src/adw-spin-row.h" line="73"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spin-row.c"
                 line="863">a spin row</doc>
            <type name="SpinRow" c:type="AdwSpinRow*"/>
          </instance-parameter>
          <parameter name="policy" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spin-row.c"
                 line="864">the policy for updating the spin row</doc>
            <type name="Gtk.SpinButtonUpdatePolicy"
                  c:type="GtkSpinButtonUpdatePolicy"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_value"
              c:identifier="adw_spin_row_set_value"
              glib:set-property="value"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-spin-row.c"
             line="904">Sets the current value.</doc>
        <source-position filename="src/adw-spin-row.h" line="79"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spin-row.c"
                 line="906">a spin row</doc>
            <type name="SpinRow" c:type="AdwSpinRow*"/>
          </instance-parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spin-row.c"
                 line="907">a new value</doc>
            <type name="gdouble" c:type="double"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_wrap"
              c:identifier="adw_spin_row_set_wrap"
              glib:set-property="wrap"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-spin-row.c"
             line="943">Sets whether the spin row should wrap upon reaching its limits.</doc>
        <source-position filename="src/adw-spin-row.h" line="85"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spin-row.c"
                 line="945">a spin row</doc>
            <type name="SpinRow" c:type="AdwSpinRow*"/>
          </instance-parameter>
          <parameter name="wrap" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spin-row.c"
                 line="946">whether the spin row should wrap upon reaching its limits</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="update" c:identifier="adw_spin_row_update" version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-spin-row.c"
             line="968">Manually force an update of the spin row.</doc>
        <source-position filename="src/adw-spin-row.h" line="89"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spin-row.c"
                 line="970">a spin row</doc>
            <type name="SpinRow" c:type="AdwSpinRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="adjustment"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_adjustment"
                getter="get_adjustment">
        <doc xml:space="preserve"
             filename="src/adw-spin-row.c"
             line="269">The adjustment that holds the value of the spin row.</doc>
        <type name="Gtk.Adjustment"/>
      </property>
      <property name="climb-rate"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_climb_rate"
                getter="get_climb_rate"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="src/adw-spin-row.c"
             line="281">The acceleration rate when you hold down a button or key.</doc>
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="digits"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_digits"
                getter="get_digits"
                default-value="0">
        <doc xml:space="preserve"
             filename="src/adw-spin-row.c"
             line="293">The number of decimal places to display.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="numeric"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_numeric"
                getter="get_numeric"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-spin-row.c"
             line="305">Whether non-numeric characters should be ignored.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="snap-to-ticks"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_snap_to_ticks"
                getter="get_snap_to_ticks"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-spin-row.c"
             line="317">Whether invalid values are snapped to the nearest step increment.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="update-policy"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_update_policy"
                getter="get_update_policy"
                default-value="GTK_UPDATE_ALWAYS">
        <doc xml:space="preserve"
             filename="src/adw-spin-row.c"
             line="329">The policy for updating the spin row.

The options are always, or only when the value is invalid.</doc>
        <type name="Gtk.SpinButtonUpdatePolicy"/>
      </property>
      <property name="value"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_value"
                getter="get_value"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="src/adw-spin-row.c"
             line="344">The current value.</doc>
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="wrap"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_wrap"
                getter="get_wrap"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-spin-row.c"
             line="356">Whether the spin row should wrap upon reaching its limits.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <glib:signal name="input" when="last" version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-spin-row.c"
             line="372">Emitted to convert the user's input into a double value.

The signal handler is expected to use [method@Gtk.Editable.get_text] to
retrieve the text of the spinbutton and set new_value to the new value.

The default conversion uses [func@GLib.strtod].

See [signal@Gtk.SpinButton::input].</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-spin-row.c"
               line="386">`TRUE` for a successful conversion, `FALSE` if the input was not
  handled, and `GTK_INPUT_ERROR` if the conversion failed.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <parameter name="new_value"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/adw-spin-row.c"
                 line="375">return location for the new value</doc>
            <type name="gdouble" c:type="gpointer"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="output" when="last" version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-spin-row.c"
             line="404">Emitted to tweak the formatting of the value for display.

See [signal@Gtk.SpinButton::output].</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-spin-row.c"
               line="411">`TRUE` if the value has been displayed</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </glib:signal>
      <glib:signal name="wrapped" when="last" version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-spin-row.c"
             line="428">Emitted right after the spinbutton wraps.

See [signal@Gtk.SpinButton::wrapped].</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="SpinRowClass"
            c:type="AdwSpinRowClass"
            glib:is-gtype-struct-for="SpinRow">
      <source-position filename="src/adw-spin-row.h" line="24"/>
      <field name="parent_class">
        <type name="ActionRowClass" c:type="AdwActionRowClass"/>
      </field>
    </record>
    <class name="Spinner"
           c:symbol-prefix="spinner"
           c:type="AdwSpinner"
           version="1.6"
           parent="Gtk.Widget"
           final="1"
           glib:type-name="AdwSpinner"
           glib:get-type="adw_spinner_get_type"
           glib:type-struct="SpinnerClass">
      <doc xml:space="preserve"
           filename="src/adw-spinner.c"
           line="17">A widget showing a loading spinner.

&lt;picture&gt;
  &lt;source srcset="spinner-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="spinner.png" alt="spinner"&gt;
&lt;/picture&gt;

The size of the spinner depends on the available size, never smaller than
16×16 pixels and never larger than 64×64 pixels.

Use the [property@Gtk.Widget:halign] and [property@Gtk.Widget:valign]
properties in combination with [property@Gtk.Widget:width-request] and
[property@Gtk.Widget:height-request] for fine sizing control.

For example, the following snippet shows the spinner at 48×48 pixels:

```xml
&lt;object class="AdwSpinner"&gt;
  &lt;property name="halign"&gt;center&lt;/property&gt;
  &lt;property name="valign"&gt;center&lt;/property&gt;
  &lt;property name="width-request"&gt;48&lt;/property&gt;
  &lt;property name="height-request"&gt;48&lt;/property&gt;
&lt;/object&gt;
```

See [class@SpinnerPaintable] for cases where using a widget is impractical or
impossible, such as [property@StatusPage:paintable].

## CSS nodes

`AdwSpinner` has a single node with the name `image` and the style class
`.spinner`.</doc>
      <source-position filename="src/adw-spinner.h" line="22"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <constructor name="new" c:identifier="adw_spinner_new" version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-spinner.c"
             line="135">Creates a new `AdwSpinner`.</doc>
        <source-position filename="src/adw-spinner.h" line="25"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-spinner.c"
               line="140">the newly created `AdwSpinner`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
    </class>
    <record name="SpinnerClass"
            c:type="AdwSpinnerClass"
            glib:is-gtype-struct-for="Spinner">
      <source-position filename="src/adw-spinner.h" line="22"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
    </record>
    <class name="SpinnerPaintable"
           c:symbol-prefix="spinner_paintable"
           c:type="AdwSpinnerPaintable"
           version="1.6"
           parent="GObject.Object"
           final="1"
           glib:type-name="AdwSpinnerPaintable"
           glib:get-type="adw_spinner_paintable_get_type"
           glib:type-struct="SpinnerPaintableClass">
      <doc xml:space="preserve"
           filename="src/adw-spinner-paintable.c"
           line="37">A paintable showing a loading spinner.

&lt;picture&gt;
  &lt;source srcset="spinner-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="spinner.png" alt="spinner"&gt;
&lt;/picture&gt;

`AdwSpinnerPaintable` size varies depending on the available space, but is
capped at 64×64 pixels.

To be able to animate, `AdwSpinnerPaintable` needs a widget. It will be
animated according to that widget's frame clock, and only if that widget is
mapped. Ideally it should be the same widget the paintable is displayed in,
but that's not a requirement.

Most applications should be using [class@Spinner] instead.
`AdwSpinnerPaintable` is provided for the cases where using a widget is
impractical or impossible, such as [property@StatusPage:paintable]:

```xml
&lt;object class="AdwStatusPage" id="status_page"&gt;
  &lt;property name="paintable"&gt;
    &lt;object class="AdwSpinnerPaintable"&gt;
      &lt;property name="widget"&gt;status_page&lt;/property&gt;
    &lt;/object&gt;
  &lt;/property&gt;
  &lt;!-- ... --&gt;
&lt;/object&gt;
```</doc>
      <source-position filename="src/adw-spinner-paintable.h" line="22"/>
      <implements name="Gdk.Paintable"/>
      <implements name="Gtk.SymbolicPaintable"/>
      <constructor name="new"
                   c:identifier="adw_spinner_paintable_new"
                   version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-spinner-paintable.c"
             line="419">Creates a new `AdwSpinnerPaintable` for @widget.</doc>
        <source-position filename="src/adw-spinner-paintable.h" line="25"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/adw-spinner-paintable.c"
               line="425">the newly created `AdwSpinnerPaintable`</doc>
          <type name="SpinnerPaintable" c:type="AdwSpinnerPaintable*"/>
        </return-value>
        <parameters>
          <parameter name="widget"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-spinner-paintable.c"
                 line="421">the widget used for frame clock</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_widget"
              c:identifier="adw_spinner_paintable_get_widget"
              glib:get-property="widget"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-spinner-paintable.c"
             line="439">Gets the widget used for frame clock.</doc>
        <source-position filename="src/adw-spinner-paintable.h" line="28"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-spinner-paintable.c"
               line="445">the widget</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spinner-paintable.c"
                 line="441">a spinner paintable</doc>
            <type name="SpinnerPaintable" c:type="AdwSpinnerPaintable*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_widget"
              c:identifier="adw_spinner_paintable_set_widget"
              glib:set-property="widget"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-spinner-paintable.c"
             line="457">Sets the widget used for frame clock.</doc>
        <source-position filename="src/adw-spinner-paintable.h" line="30"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spinner-paintable.c"
                 line="459">a spinner paintable</doc>
            <type name="SpinnerPaintable" c:type="AdwSpinnerPaintable*"/>
          </instance-parameter>
          <parameter name="widget"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-spinner-paintable.c"
                 line="460">the widget to use for frame clock</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <property name="widget"
                version="1.6"
                writable="1"
                transfer-ownership="none"
                setter="set_widget"
                getter="get_widget">
        <doc xml:space="preserve"
             filename="src/adw-spinner-paintable.c"
             line="265">The widget the spinner uses for frame clock.</doc>
        <type name="Gtk.Widget"/>
      </property>
    </class>
    <record name="SpinnerPaintableClass"
            c:type="AdwSpinnerPaintableClass"
            glib:is-gtype-struct-for="SpinnerPaintable">
      <source-position filename="src/adw-spinner-paintable.h" line="22"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="SplitButton"
           c:symbol-prefix="split_button"
           c:type="AdwSplitButton"
           parent="Gtk.Widget"
           final="1"
           glib:type-name="AdwSplitButton"
           glib:get-type="adw_split_button_get_type"
           glib:type-struct="SplitButtonClass">
      <doc xml:space="preserve"
           filename="src/adw-split-button.c"
           line="15">A combined button and dropdown widget.

&lt;picture&gt;
  &lt;source srcset="split-button-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="split-button.png" alt="split-button"&gt;
&lt;/picture&gt;

`AdwSplitButton` is typically used to present a set of actions in a menu,
but allow access to one of them with a single click.

The API is very similar to [class@Gtk.Button] and [class@Gtk.MenuButton], see
their documentation for details.

## CSS nodes

```
splitbutton[.image-button][.text-button]
├── button
│   ╰── &lt;content&gt;
├── separator
╰── menubutton
    ╰── button.toggle
        ╰── arrow
```

`AdwSplitButton`'s CSS node is called `splitbutton`. It contains the css
nodes: `button`, `separator`, `menubutton`. See [class@Gtk.MenuButton]
documentation for the `menubutton` contents.

The main CSS node will contain the `.image-button` or `.text-button` style
classes matching the button contents. The nested button nodes will never
contain them.

## Style classes

`AdwSplitButton` can use some of the same style classes as [class@Gtk.Button]:

- [`.suggested-action`](style-classes.html#suggested-action)
- [`.destructive-action`](style-classes.html#destructive-action)
- [`.flat`](style-classes.html#flat)
- [`.raised`](style-classes.html#raised)

Other style classes, like `.pill`, cannot be used.

## Accessibility

`AdwSplitButton` uses the `GTK_ACCESSIBLE_ROLE_GROUP` role.</doc>
      <source-position filename="src/adw-split-button.h" line="22"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Actionable"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <constructor name="new" c:identifier="adw_split_button_new">
        <doc xml:space="preserve"
             filename="src/adw-split-button.c"
             line="617">Creates a new `AdwSplitButton`.</doc>
        <source-position filename="src/adw-split-button.h" line="25"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-split-button.c"
               line="622">the newly created `AdwSplitButton`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="get_can_shrink"
              c:identifier="adw_split_button_get_can_shrink"
              glib:get-property="can-shrink"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-split-button.c"
             line="821">gets whether the button can be smaller than the natural size of its contents.</doc>
        <source-position filename="src/adw-split-button.h" line="52"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-split-button.c"
               line="827">whether the button can shrink</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-split-button.c"
                 line="823">a split button</doc>
            <type name="SplitButton" c:type="AdwSplitButton*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_child"
              c:identifier="adw_split_button_get_child"
              glib:get-property="child">
        <doc xml:space="preserve"
             filename="src/adw-split-button.c"
             line="768">Gets the child widget.</doc>
        <source-position filename="src/adw-split-button.h" line="46"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-split-button.c"
               line="774">the child widget</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-split-button.c"
                 line="770">a split button</doc>
            <type name="SplitButton" c:type="AdwSplitButton*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_direction"
              c:identifier="adw_split_button_get_direction"
              glib:get-property="direction">
        <doc xml:space="preserve"
             filename="src/adw-split-button.c"
             line="953">Gets the direction in which the popup will be popped up.</doc>
        <source-position filename="src/adw-split-button.h" line="70"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-split-button.c"
               line="959">the direction</doc>
          <type name="Gtk.ArrowType" c:type="GtkArrowType"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-split-button.c"
                 line="955">a split button</doc>
            <type name="SplitButton" c:type="AdwSplitButton*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_dropdown_tooltip"
              c:identifier="adw_split_button_get_dropdown_tooltip"
              glib:get-property="dropdown-tooltip"
              version="1.2">
        <doc xml:space="preserve"
             filename="src/adw-split-button.c"
             line="997">Gets the tooltip of the dropdown button of @self.</doc>
        <source-position filename="src/adw-split-button.h" line="76"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-split-button.c"
               line="1003">the dropdown tooltip of @self</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-split-button.c"
                 line="999">a split button</doc>
            <type name="SplitButton" c:type="AdwSplitButton*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_icon_name"
              c:identifier="adw_split_button_get_icon_name"
              glib:get-property="icon-name">
        <doc xml:space="preserve"
             filename="src/adw-split-button.c"
             line="718">Gets the name of the icon used to automatically populate the button.</doc>
        <source-position filename="src/adw-split-button.h" line="40"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-split-button.c"
               line="724">the icon name</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-split-button.c"
                 line="720">a split button</doc>
            <type name="SplitButton" c:type="AdwSplitButton*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_label"
              c:identifier="adw_split_button_get_label"
              glib:get-property="label">
        <doc xml:space="preserve"
             filename="src/adw-split-button.c"
             line="630">Gets the label for @self.</doc>
        <source-position filename="src/adw-split-button.h" line="28"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-split-button.c"
               line="636">the label for @self</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-split-button.c"
                 line="632">a split button</doc>
            <type name="SplitButton" c:type="AdwSplitButton*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_menu_model"
              c:identifier="adw_split_button_get_menu_model"
              glib:get-property="menu-model">
        <doc xml:space="preserve"
             filename="src/adw-split-button.c"
             line="869">Gets the menu model from which the popup will be created.</doc>
        <source-position filename="src/adw-split-button.h" line="58"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-split-button.c"
               line="875">the menu model</doc>
          <type name="Gio.MenuModel" c:type="GMenuModel*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-split-button.c"
                 line="871">a split button</doc>
            <type name="SplitButton" c:type="AdwSplitButton*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_popover"
              c:identifier="adw_split_button_get_popover"
              glib:get-property="popover">
        <doc xml:space="preserve"
             filename="src/adw-split-button.c"
             line="913">Gets the popover that will be popped up when the dropdown is clicked.</doc>
        <source-position filename="src/adw-split-button.h" line="64"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-split-button.c"
               line="919">the popover</doc>
          <type name="Gtk.Popover" c:type="GtkPopover*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-split-button.c"
                 line="915">a split button</doc>
            <type name="SplitButton" c:type="AdwSplitButton*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_use_underline"
              c:identifier="adw_split_button_get_use_underline"
              glib:get-property="use-underline">
        <doc xml:space="preserve"
             filename="src/adw-split-button.c"
             line="679">Gets whether an underline in the text indicates a mnemonic.</doc>
        <source-position filename="src/adw-split-button.h" line="34"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-split-button.c"
               line="685">whether an underline in the text indicates a mnemonic</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-split-button.c"
                 line="681">a split button</doc>
            <type name="SplitButton" c:type="AdwSplitButton*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="popdown" c:identifier="adw_split_button_popdown">
        <doc xml:space="preserve"
             filename="src/adw-split-button.c"
             line="1063">Dismisses the menu.</doc>
        <source-position filename="src/adw-split-button.h" line="84"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-split-button.c"
                 line="1065">a split button</doc>
            <type name="SplitButton" c:type="AdwSplitButton*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="popup" c:identifier="adw_split_button_popup">
        <doc xml:space="preserve"
             filename="src/adw-split-button.c"
             line="1049">Pops up the menu.</doc>
        <source-position filename="src/adw-split-button.h" line="82"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-split-button.c"
                 line="1051">a split button</doc>
            <type name="SplitButton" c:type="AdwSplitButton*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_can_shrink"
              c:identifier="adw_split_button_set_can_shrink"
              glib:set-property="can-shrink"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-split-button.c"
             line="839">Sets whether the button can be smaller than the natural size of its contents.

If set to `TRUE`, the label will ellipsize.

See [method@Gtk.Button.set_can_shrink] and
[method@Gtk.MenuButton.set_can_shrink].</doc>
        <source-position filename="src/adw-split-button.h" line="54"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-split-button.c"
                 line="841">a split button</doc>
            <type name="SplitButton" c:type="AdwSplitButton*"/>
          </instance-parameter>
          <parameter name="can_shrink" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-split-button.c"
                 line="842">whether the button can shrink</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_child"
              c:identifier="adw_split_button_set_child"
              glib:set-property="child">
        <doc xml:space="preserve"
             filename="src/adw-split-button.c"
             line="784">Sets the child widget.

Setting the child widget will set [property@SplitButton:label] and
[property@SplitButton:icon-name] to `NULL`.</doc>
        <source-position filename="src/adw-split-button.h" line="48"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-split-button.c"
                 line="786">a split button</doc>
            <type name="SplitButton" c:type="AdwSplitButton*"/>
          </instance-parameter>
          <parameter name="child"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-split-button.c"
                 line="787">the new child widget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_direction"
              c:identifier="adw_split_button_set_direction"
              glib:set-property="direction">
        <doc xml:space="preserve"
             filename="src/adw-split-button.c"
             line="969">Sets the direction in which the popup will be popped up.

The dropdown arrow icon will point at the same direction.

If the does not fit in the available space in the given direction, GTK will
try its best to keep it inside the screen and fully visible.

If you pass `GTK_ARROW_NONE`, it's equivalent to `GTK_ARROW_DOWN`.</doc>
        <source-position filename="src/adw-split-button.h" line="72"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-split-button.c"
                 line="971">a split button</doc>
            <type name="SplitButton" c:type="AdwSplitButton*"/>
          </instance-parameter>
          <parameter name="direction" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-split-button.c"
                 line="972">the direction</doc>
            <type name="Gtk.ArrowType" c:type="GtkArrowType"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_dropdown_tooltip"
              c:identifier="adw_split_button_set_dropdown_tooltip"
              glib:set-property="dropdown-tooltip"
              version="1.2">
        <doc xml:space="preserve"
             filename="src/adw-split-button.c"
             line="1018">Sets the tooltip of the dropdown button of @self.

The tooltip can be marked up with the Pango text markup language.</doc>
        <source-position filename="src/adw-split-button.h" line="78"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-split-button.c"
                 line="1020">a split button</doc>
            <type name="SplitButton" c:type="AdwSplitButton*"/>
          </instance-parameter>
          <parameter name="tooltip" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-split-button.c"
                 line="1021">the dropdown tooltip of @self</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_icon_name"
              c:identifier="adw_split_button_set_icon_name"
              glib:set-property="icon-name">
        <doc xml:space="preserve"
             filename="src/adw-split-button.c"
             line="734">Sets the name of the icon used to automatically populate the button.

Setting the icon name will set [property@SplitButton:label] and
[property@SplitButton:child] to `NULL`.</doc>
        <source-position filename="src/adw-split-button.h" line="42"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-split-button.c"
                 line="736">a split button</doc>
            <type name="SplitButton" c:type="AdwSplitButton*"/>
          </instance-parameter>
          <parameter name="icon_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-split-button.c"
                 line="737">the icon name to set</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_label"
              c:identifier="adw_split_button_set_label"
              glib:set-property="label">
        <doc xml:space="preserve"
             filename="src/adw-split-button.c"
             line="646">Sets the label for @self.

Setting the label will set [property@SplitButton:icon-name] and
[property@SplitButton:child] to `NULL`.</doc>
        <source-position filename="src/adw-split-button.h" line="30"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-split-button.c"
                 line="648">a split button</doc>
            <type name="SplitButton" c:type="AdwSplitButton*"/>
          </instance-parameter>
          <parameter name="label" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-split-button.c"
                 line="649">the label to set</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_menu_model"
              c:identifier="adw_split_button_set_menu_model"
              glib:set-property="menu-model">
        <doc xml:space="preserve"
             filename="src/adw-split-button.c"
             line="885">Sets the menu model from which the popup will be created.

If the menu model is `NULL`, the dropdown is disabled.

A [class@Gtk.Popover] will be created from the menu model with
[ctor@Gtk.PopoverMenu.new_from_model]. Actions will be connected as
documented for this function.

If [property@SplitButton:popover] is already set, it will be dissociated from
the button, and the property is set to `NULL`.</doc>
        <source-position filename="src/adw-split-button.h" line="60"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-split-button.c"
                 line="887">a split button</doc>
            <type name="SplitButton" c:type="AdwSplitButton*"/>
          </instance-parameter>
          <parameter name="menu_model"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-split-button.c"
                 line="888">the menu model</doc>
            <type name="Gio.MenuModel" c:type="GMenuModel*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_popover"
              c:identifier="adw_split_button_set_popover"
              glib:set-property="popover">
        <doc xml:space="preserve"
             filename="src/adw-split-button.c"
             line="929">Sets the popover that will be popped up when the dropdown is clicked.

If the popover is `NULL`, the dropdown is disabled.

If [property@SplitButton:menu-model] is set, the menu model is dissociated
from the button, and the property is set to `NULL`.</doc>
        <source-position filename="src/adw-split-button.h" line="66"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-split-button.c"
                 line="931">a split button</doc>
            <type name="SplitButton" c:type="AdwSplitButton*"/>
          </instance-parameter>
          <parameter name="popover"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-split-button.c"
                 line="932">the popover</doc>
            <type name="Gtk.Popover" c:type="GtkPopover*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_use_underline"
              c:identifier="adw_split_button_set_use_underline"
              glib:set-property="use-underline">
        <doc xml:space="preserve"
             filename="src/adw-split-button.c"
             line="695">Sets whether an underline in the text indicates a mnemonic.

See [property@SplitButton:label].</doc>
        <source-position filename="src/adw-split-button.h" line="36"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-split-button.c"
                 line="697">a split button</doc>
            <type name="SplitButton" c:type="AdwSplitButton*"/>
          </instance-parameter>
          <parameter name="use_underline" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-split-button.c"
                 line="698">whether an underline in the text indicates a mnemonic</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="can-shrink"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_can_shrink"
                getter="get_can_shrink"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-split-button.c"
             line="353">Whether the button can be smaller than the natural size of its contents.

If set to `TRUE`, the label will ellipsize.

See [property@Gtk.Button:can-shrink] and
[property@Gtk.MenuButton:can-shrink].</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="child"
                writable="1"
                transfer-ownership="none"
                setter="set_child"
                getter="get_child">
        <doc xml:space="preserve"
             filename="src/adw-split-button.c"
             line="340">The child widget.

Setting the child widget will set [property@SplitButton:label] and
[property@SplitButton:icon-name] to `NULL`.</doc>
        <type name="Gtk.Widget"/>
      </property>
      <property name="direction"
                writable="1"
                transfer-ownership="none"
                setter="set_direction"
                getter="get_direction"
                default-value="GTK_ARROW_DOWN">
        <doc xml:space="preserve"
             filename="src/adw-split-button.c"
             line="404">The direction in which the popup will be popped up.

The dropdown arrow icon will point at the same direction.

If the does not fit in the available space in the given direction, GTK will
try its best to keep it inside the screen and fully visible.

If you pass `GTK_ARROW_NONE`, it's equivalent to `GTK_ARROW_DOWN`.</doc>
        <type name="Gtk.ArrowType"/>
      </property>
      <property name="dropdown-tooltip"
                version="1.2"
                writable="1"
                transfer-ownership="none"
                setter="set_dropdown_tooltip"
                getter="get_dropdown_tooltip">
        <doc xml:space="preserve"
             filename="src/adw-split-button.c"
             line="422">The tooltip of the dropdown button.

The tooltip can be marked up with the Pango text markup language.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="icon-name"
                writable="1"
                transfer-ownership="none"
                setter="set_icon_name"
                getter="get_icon_name"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/adw-split-button.c"
             line="327">The name of the icon used to automatically populate the button.

Setting the icon name will set [property@SplitButton:label] and
[property@SplitButton:child] to `NULL`.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="label"
                writable="1"
                transfer-ownership="none"
                setter="set_label"
                getter="get_label"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/adw-split-button.c"
             line="302">The label for the button.

Setting the label will set [property@SplitButton:icon-name] and
[property@SplitButton:child] to `NULL`.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="menu-model"
                writable="1"
                transfer-ownership="none"
                setter="set_menu_model"
                getter="get_menu_model">
        <doc xml:space="preserve"
             filename="src/adw-split-button.c"
             line="370">The `GMenuModel` from which the popup will be created.

If the menu model is `NULL`, the dropdown is disabled.

A [class@Gtk.Popover] will be created from the menu model with
[ctor@Gtk.PopoverMenu.new_from_model]. Actions will be connected as
documented for this function.

If [property@SplitButton:popover] is already set, it will be dissociated
from the button, and the property is set to `NULL`.</doc>
        <type name="Gio.MenuModel"/>
      </property>
      <property name="popover"
                writable="1"
                transfer-ownership="none"
                setter="set_popover"
                getter="get_popover">
        <doc xml:space="preserve"
             filename="src/adw-split-button.c"
             line="389">The `GtkPopover` that will be popped up when the dropdown is clicked.

If the popover is `NULL`, the dropdown is disabled.

If [property@SplitButton:menu-model] is set, the menu model is dissociated
from the button, and the property is set to `NULL`.</doc>
        <type name="Gtk.Popover"/>
      </property>
      <property name="use-underline"
                writable="1"
                transfer-ownership="none"
                setter="set_use_underline"
                getter="get_use_underline"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-split-button.c"
             line="315">Whether an underline in the text indicates a mnemonic.

See [property@SplitButton:label].</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <glib:signal name="activate" when="first" action="1">
        <doc xml:space="preserve"
             filename="src/adw-split-button.c"
             line="458">Emitted to animate press then release.

This is an action signal. Applications should never connect to this signal,
but use the [signal@SplitButton::clicked] signal.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="clicked" when="first" action="1">
        <doc xml:space="preserve"
             filename="src/adw-split-button.c"
             line="441">Emitted when the button has been activated (pressed and released).</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="SplitButtonClass"
            c:type="AdwSplitButtonClass"
            glib:is-gtype-struct-for="SplitButton">
      <source-position filename="src/adw-split-button.h" line="22"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
    </record>
    <class name="SpringAnimation"
           c:symbol-prefix="spring_animation"
           c:type="AdwSpringAnimation"
           parent="Animation"
           final="1"
           glib:type-name="AdwSpringAnimation"
           glib:get-type="adw_spring_animation_get_type"
           glib:type-struct="SpringAnimationClass">
      <doc xml:space="preserve"
           filename="src/adw-spring-animation.c"
           line="18">A spring-based [class@Animation].

`AdwSpringAnimation` implements an animation driven by a physical model of a
spring described by [struct@SpringParams], with a resting position in
[property@SpringAnimation:value-to], stretched to
[property@SpringAnimation:value-from].

Since the animation is physically simulated, spring animations don't have a
fixed duration. The animation will stop when the simulated spring comes to a
rest - when the amplitude of the oscillations becomes smaller than
[property@SpringAnimation:epsilon], or immediately when it reaches
[property@SpringAnimation:value-to] if
[property@SpringAnimation:clamp] is set to `TRUE`. The estimated duration can
be obtained with [property@SpringAnimation:estimated-duration].

Due to the nature of spring-driven motion the animation can overshoot
[property@SpringAnimation:value-to] before coming to a rest. Whether the
animation will overshoot or not depends on the damping ratio of the spring.
See [struct@SpringParams] for more information about specific damping ratio
values.

If [property@SpringAnimation:clamp] is `TRUE`, the animation will abruptly
end as soon as it reaches the final value, preventing overshooting.

Animations can have an initial velocity value, set via
[property@SpringAnimation:initial-velocity], which adjusts the curve without
changing the duration. This makes spring animations useful for deceleration
at the end of gestures.

If the initial and final values are equal, and the initial velocity is not 0,
the animation value will bounce and return to its resting position.</doc>
      <source-position filename="src/adw-spring-animation.h" line="25"/>
      <constructor name="new" c:identifier="adw_spring_animation_new">
        <doc xml:space="preserve"
             filename="src/adw-spring-animation.c"
             line="531">Creates a new `AdwSpringAnimation` on @widget.

The animation will animate @target from @from to @to with the dynamics of a
spring described by @spring_params.</doc>
        <source-position filename="src/adw-spring-animation.h" line="28"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-spring-animation.c"
               line="544">the newly created animation</doc>
          <type name="Animation" c:type="AdwAnimation*"/>
        </return-value>
        <parameters>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spring-animation.c"
                 line="533">a widget to create animation on</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="from" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spring-animation.c"
                 line="534">a value to animate from</doc>
            <type name="gdouble" c:type="double"/>
          </parameter>
          <parameter name="to" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spring-animation.c"
                 line="535">a value to animate to</doc>
            <type name="gdouble" c:type="double"/>
          </parameter>
          <parameter name="spring_params" transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/adw-spring-animation.c"
                 line="536">physical parameters of the spring</doc>
            <type name="SpringParams" c:type="AdwSpringParams*"/>
          </parameter>
          <parameter name="target" transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/adw-spring-animation.c"
                 line="537">a target value to animate</doc>
            <type name="AnimationTarget" c:type="AdwAnimationTarget*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="calculate_value"
              c:identifier="adw_spring_animation_calculate_value"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-spring-animation.c"
             line="835">Calculates the value @self will have at @time.

The time starts at 0 and ends at
[property@SpringAnimation:estimated_duration].

See also [method@SpringAnimation.calculate_velocity].</doc>
        <source-position filename="src/adw-spring-animation.h" line="77"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-spring-animation.c"
               line="847">the value at @time</doc>
          <type name="gdouble" c:type="double"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spring-animation.c"
                 line="837">a spring animation</doc>
            <type name="SpringAnimation" c:type="AdwSpringAnimation*"/>
          </instance-parameter>
          <parameter name="time" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spring-animation.c"
                 line="838">elapsed time, in milliseconds</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="calculate_velocity"
              c:identifier="adw_spring_animation_calculate_velocity"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-spring-animation.c"
             line="860">Calculates the velocity @self will have at @time.

The time starts at 0 and ends at
[property@SpringAnimation:estimated_duration].

See also [method@SpringAnimation.calculate_value].</doc>
        <source-position filename="src/adw-spring-animation.h" line="80"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-spring-animation.c"
               line="872">the velocity at @time</doc>
          <type name="gdouble" c:type="double"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spring-animation.c"
                 line="862">a spring animation</doc>
            <type name="SpringAnimation" c:type="AdwSpringAnimation*"/>
          </instance-parameter>
          <parameter name="time" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spring-animation.c"
                 line="863">elapsed time, in milliseconds</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_clamp"
              c:identifier="adw_spring_animation_get_clamp"
              glib:get-property="clamp">
        <doc xml:space="preserve"
             filename="src/adw-spring-animation.c"
             line="790">Gets whether @self should be clamped.</doc>
        <source-position filename="src/adw-spring-animation.h" line="65"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-spring-animation.c"
               line="796">whether @self is clamped</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spring-animation.c"
                 line="792">a spring animation</doc>
            <type name="SpringAnimation" c:type="AdwSpringAnimation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_epsilon"
              c:identifier="adw_spring_animation_get_epsilon"
              glib:get-property="epsilon">
        <doc xml:space="preserve"
             filename="src/adw-spring-animation.c"
             line="739">Gets the precision of the spring.</doc>
        <source-position filename="src/adw-spring-animation.h" line="59"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-spring-animation.c"
               line="745">the epsilon value</doc>
          <type name="gdouble" c:type="double"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spring-animation.c"
                 line="741">a spring animation</doc>
            <type name="SpringAnimation" c:type="AdwSpringAnimation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_estimated_duration"
              c:identifier="adw_spring_animation_get_estimated_duration"
              glib:get-property="estimated-duration">
        <doc xml:space="preserve"
             filename="src/adw-spring-animation.c"
             line="889">Gets the estimated duration of @self, in milliseconds.

Can be [const@DURATION_INFINITE] if the spring damping is set to 0.</doc>
        <source-position filename="src/adw-spring-animation.h" line="71"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-spring-animation.c"
               line="897">the estimated duration</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spring-animation.c"
                 line="891">a spring animation</doc>
            <type name="SpringAnimation" c:type="AdwSpringAnimation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_initial_velocity"
              c:identifier="adw_spring_animation_get_initial_velocity"
              glib:get-property="initial-velocity">
        <doc xml:space="preserve"
             filename="src/adw-spring-animation.c"
             line="698">Gets the initial velocity of @self.</doc>
        <source-position filename="src/adw-spring-animation.h" line="53"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-spring-animation.c"
               line="704">the initial velocity</doc>
          <type name="gdouble" c:type="double"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spring-animation.c"
                 line="700">a spring animation</doc>
            <type name="SpringAnimation" c:type="AdwSpringAnimation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_spring_params"
              c:identifier="adw_spring_animation_get_spring_params"
              glib:get-property="spring-params">
        <doc xml:space="preserve"
             filename="src/adw-spring-animation.c"
             line="657">Gets the physical parameters of the spring of @self.</doc>
        <source-position filename="src/adw-spring-animation.h" line="47"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-spring-animation.c"
               line="663">the spring parameters</doc>
          <type name="SpringParams" c:type="AdwSpringParams*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spring-animation.c"
                 line="659">a spring animation</doc>
            <type name="SpringAnimation" c:type="AdwSpringAnimation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_value_from"
              c:identifier="adw_spring_animation_get_value_from"
              glib:get-property="value-from">
        <doc xml:space="preserve"
             filename="src/adw-spring-animation.c"
             line="573">Gets the value @self will animate from.</doc>
        <source-position filename="src/adw-spring-animation.h" line="35"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-spring-animation.c"
               line="579">the value to animate from</doc>
          <type name="gdouble" c:type="double"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spring-animation.c"
                 line="575">a spring animation</doc>
            <type name="SpringAnimation" c:type="AdwSpringAnimation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_value_to"
              c:identifier="adw_spring_animation_get_value_to"
              glib:get-property="value-to">
        <doc xml:space="preserve"
             filename="src/adw-spring-animation.c"
             line="615">Gets the value @self will animate to.</doc>
        <source-position filename="src/adw-spring-animation.h" line="41"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-spring-animation.c"
               line="621">the value to animate to</doc>
          <type name="gdouble" c:type="double"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spring-animation.c"
                 line="617">a spring animation</doc>
            <type name="SpringAnimation" c:type="AdwSpringAnimation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_velocity"
              c:identifier="adw_spring_animation_get_velocity"
              glib:get-property="velocity">
        <doc xml:space="preserve"
             filename="src/adw-spring-animation.c"
             line="907">Gets the current velocity of @self.</doc>
        <source-position filename="src/adw-spring-animation.h" line="74"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-spring-animation.c"
               line="913">the current velocity</doc>
          <type name="gdouble" c:type="double"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spring-animation.c"
                 line="909">a spring animation</doc>
            <type name="SpringAnimation" c:type="AdwSpringAnimation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_clamp"
              c:identifier="adw_spring_animation_set_clamp"
              glib:set-property="clamp">
        <doc xml:space="preserve"
             filename="src/adw-spring-animation.c"
             line="806">Sets whether @self should be clamped.

If set to `TRUE`, the animation will abruptly end as soon as it reaches the
final value, preventing overshooting.

It won't prevent overshooting [property@SpringAnimation:value-from] if a
relative negative [property@SpringAnimation:initial-velocity] is set.</doc>
        <source-position filename="src/adw-spring-animation.h" line="67"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spring-animation.c"
                 line="808">a spring animation</doc>
            <type name="SpringAnimation" c:type="AdwSpringAnimation*"/>
          </instance-parameter>
          <parameter name="clamp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spring-animation.c"
                 line="809">the new value</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_epsilon"
              c:identifier="adw_spring_animation_set_epsilon"
              glib:set-property="epsilon">
        <doc xml:space="preserve"
             filename="src/adw-spring-animation.c"
             line="755">Sets the precision of the spring.

The level of precision used to determine when the animation has come to a
rest, that is, when the amplitude of the oscillations becomes smaller than
this value.

If the epsilon value is too small, the animation will take a long time to
stop after the animated value has stopped visibly changing.

If the epsilon value is too large, the animation will end prematurely.

The default value is 0.001.</doc>
        <source-position filename="src/adw-spring-animation.h" line="61"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spring-animation.c"
                 line="757">a spring animation</doc>
            <type name="SpringAnimation" c:type="AdwSpringAnimation*"/>
          </instance-parameter>
          <parameter name="epsilon" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spring-animation.c"
                 line="758">the new value</doc>
            <type name="gdouble" c:type="double"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_initial_velocity"
              c:identifier="adw_spring_animation_set_initial_velocity"
              glib:set-property="initial-velocity">
        <doc xml:space="preserve"
             filename="src/adw-spring-animation.c"
             line="714">Sets the initial velocity of @self.

Initial velocity affects only the animation curve, but not its duration.</doc>
        <source-position filename="src/adw-spring-animation.h" line="55"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spring-animation.c"
                 line="716">a spring animation</doc>
            <type name="SpringAnimation" c:type="AdwSpringAnimation*"/>
          </instance-parameter>
          <parameter name="velocity" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spring-animation.c"
                 line="717">the initial velocity</doc>
            <type name="gdouble" c:type="double"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_spring_params"
              c:identifier="adw_spring_animation_set_spring_params"
              glib:set-property="spring-params">
        <doc xml:space="preserve"
             filename="src/adw-spring-animation.c"
             line="673">Sets the physical parameters of the spring of @self.</doc>
        <source-position filename="src/adw-spring-animation.h" line="49"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spring-animation.c"
                 line="675">a spring animation</doc>
            <type name="SpringAnimation" c:type="AdwSpringAnimation*"/>
          </instance-parameter>
          <parameter name="spring_params" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spring-animation.c"
                 line="676">the new spring parameters</doc>
            <type name="SpringParams" c:type="AdwSpringParams*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_value_from"
              c:identifier="adw_spring_animation_set_value_from"
              glib:set-property="value-from">
        <doc xml:space="preserve"
             filename="src/adw-spring-animation.c"
             line="589">Sets the value @self will animate from.

The animation will start at this value and end at
[property@SpringAnimation:value-to].</doc>
        <source-position filename="src/adw-spring-animation.h" line="37"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spring-animation.c"
                 line="591">a spring animation</doc>
            <type name="SpringAnimation" c:type="AdwSpringAnimation*"/>
          </instance-parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spring-animation.c"
                 line="592">the value to animate from</doc>
            <type name="gdouble" c:type="double"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_value_to"
              c:identifier="adw_spring_animation_set_value_to"
              glib:set-property="value-to">
        <doc xml:space="preserve"
             filename="src/adw-spring-animation.c"
             line="631">Sets the value @self will animate to.

The animation will start at [property@SpringAnimation:value-from] and end at
this value.</doc>
        <source-position filename="src/adw-spring-animation.h" line="43"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spring-animation.c"
                 line="633">a spring animation</doc>
            <type name="SpringAnimation" c:type="AdwSpringAnimation*"/>
          </instance-parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spring-animation.c"
                 line="634">the value to animate to</doc>
            <type name="gdouble" c:type="double"/>
          </parameter>
        </parameters>
      </method>
      <property name="clamp"
                writable="1"
                transfer-ownership="none"
                setter="set_clamp"
                getter="get_clamp"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-spring-animation.c"
             line="480">Whether the animation should be clamped.

If set to `TRUE`, the animation will abruptly end as soon as it reaches the
final value, preventing overshooting.

It won't prevent overshooting [property@SpringAnimation:value-from] if a
relative negative [property@SpringAnimation:initial-velocity] is set.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="epsilon"
                writable="1"
                transfer-ownership="none"
                setter="set_epsilon"
                getter="get_epsilon"
                default-value="0.001000">
        <doc xml:space="preserve"
             filename="src/adw-spring-animation.c"
             line="457">Precision of the spring.

The level of precision used to determine when the animation has come to a
rest, that is, when the amplitude of the oscillations becomes smaller than
this value.

If the epsilon value is too small, the animation will take a long time to
stop after the animated value has stopped visibly changing.

If the epsilon value is too large, the animation will end prematurely.

The default value is 0.001.</doc>
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="estimated-duration"
                transfer-ownership="none"
                getter="get_estimated_duration"
                default-value="0">
        <doc xml:space="preserve"
             filename="src/adw-spring-animation.c"
             line="496">Estimated duration of the animation, in milliseconds.

Can be [const@DURATION_INFINITE] if the spring damping is set to 0.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="initial-velocity"
                writable="1"
                transfer-ownership="none"
                setter="set_initial_velocity"
                getter="get_initial_velocity"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="src/adw-spring-animation.c"
             line="443">The initial velocity to start the animation with.

Initial velocity affects only the animation curve, but not its duration.</doc>
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="spring-params"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_spring_params"
                getter="get_spring_params">
        <doc xml:space="preserve"
             filename="src/adw-spring-animation.c"
             line="433">Physical parameters describing the spring.</doc>
        <type name="SpringParams"/>
      </property>
      <property name="value-from"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_value_from"
                getter="get_value_from"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="src/adw-spring-animation.c"
             line="403">The value to animate from.

The animation will start at this value and end at
[property@SpringAnimation:value-to].</doc>
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="value-to"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_value_to"
                getter="get_value_to"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="src/adw-spring-animation.c"
             line="418">The value to animate to.

The animation will start at [property@SpringAnimation:value-from] and end
at this value.</doc>
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="velocity"
                transfer-ownership="none"
                getter="get_velocity"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="src/adw-spring-animation.c"
             line="510">Current velocity of the animation.</doc>
        <type name="gdouble" c:type="gdouble"/>
      </property>
    </class>
    <record name="SpringAnimationClass"
            c:type="AdwSpringAnimationClass"
            disguised="1"
            opaque="1"
            glib:is-gtype-struct-for="SpringAnimation">
      <source-position filename="src/adw-spring-animation.h" line="25"/>
    </record>
    <record name="SpringParams"
            c:type="AdwSpringParams"
            opaque="1"
            glib:type-name="AdwSpringParams"
            glib:get-type="adw_spring_params_get_type"
            c:symbol-prefix="spring_params">
      <doc xml:space="preserve"
           filename="src/adw-spring-params.c"
           line="16">Physical parameters of a spring for [class@SpringAnimation].

Any spring can be described by three parameters: mass, stiffness and damping.

An undamped spring will produce an oscillatory motion which will go on
forever.

The frequency and amplitude of the oscillations will be determined by the
stiffness (how "strong" the spring is) and its mass (how much "inertia" it
has).

If damping is larger than 0, the amplitude of that oscillating motion will
exponientally decrease over time. If that damping is strong enough that the
spring can't complete a full oscillation, it's called an overdamped spring.

If we the spring can oscillate, it's called an underdamped spring.

The value between these two behaviors is called critical damping; a
critically damped spring will comes to rest in the minimum possible time
without producing oscillations.

The damping can be replaced by damping ratio, which produces the following
springs:

* 0: an undamped spring.
* Between 0 and 1: an underdamped spring.
* 1: a critically damped spring.
* Larger than 1: an overdamped spring.

As such</doc>
      <source-position filename="src/adw-spring-params.h" line="17"/>
      <constructor name="new" c:identifier="adw_spring_params_new">
        <doc xml:space="preserve"
             filename="src/adw-spring-params.c"
             line="60">Creates a new `AdwSpringParams` from @mass, @stiffness and @damping_ratio.

The damping value is calculated from @damping_ratio and the other two
parameters.

* If @damping_ratio is 0, the spring will not be damped and will oscillate
  endlessly.
* If @damping_ratio is between 0 and 1, the spring is underdamped and will
  always overshoot.
* If @damping_ratio is 1, the spring is critically damped and will reach its
  resting position the quickest way possible.
* If @damping_ratio is larger than 1, the spring is overdamped and will reach
  its resting position faster than it can complete an oscillation.

[ctor@SpringParams.new_full] allows to pass a raw damping value instead.</doc>
        <source-position filename="src/adw-spring-params.h" line="23"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/adw-spring-params.c"
               line="82">the newly created spring parameters</doc>
          <type name="SpringParams" c:type="AdwSpringParams*"/>
        </return-value>
        <parameters>
          <parameter name="damping_ratio" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spring-params.c"
                 line="62">the damping ratio of the spring</doc>
            <type name="gdouble" c:type="double"/>
          </parameter>
          <parameter name="mass" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spring-params.c"
                 line="63">the mass of the spring</doc>
            <type name="gdouble" c:type="double"/>
          </parameter>
          <parameter name="stiffness" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spring-params.c"
                 line="64">the stiffness of the spring</doc>
            <type name="gdouble" c:type="double"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_full" c:identifier="adw_spring_params_new_full">
        <doc xml:space="preserve"
             filename="src/adw-spring-params.c"
             line="99">Creates a new `AdwSpringParams` from @mass, @stiffness and @damping.

See [ctor@SpringParams.new] for a simplified constructor using damping ratio
instead of @damping.</doc>
        <source-position filename="src/adw-spring-params.h" line="27"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/adw-spring-params.c"
               line="110">the newly created spring parameters</doc>
          <type name="SpringParams" c:type="AdwSpringParams*"/>
        </return-value>
        <parameters>
          <parameter name="damping" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spring-params.c"
                 line="101">the damping of the spring</doc>
            <type name="gdouble" c:type="double"/>
          </parameter>
          <parameter name="mass" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spring-params.c"
                 line="102">the mass of the spring</doc>
            <type name="gdouble" c:type="double"/>
          </parameter>
          <parameter name="stiffness" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spring-params.c"
                 line="103">the stiffness of the spring</doc>
            <type name="gdouble" c:type="double"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_damping" c:identifier="adw_spring_params_get_damping">
        <doc xml:space="preserve"
             filename="src/adw-spring-params.c"
             line="169">Gets the damping of @self.</doc>
        <source-position filename="src/adw-spring-params.h" line="37"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-spring-params.c"
               line="175">the damping</doc>
          <type name="gdouble" c:type="double"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spring-params.c"
                 line="171">spring params</doc>
            <type name="SpringParams" c:type="AdwSpringParams*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_damping_ratio"
              c:identifier="adw_spring_params_get_damping_ratio">
        <doc xml:space="preserve"
             filename="src/adw-spring-params.c"
             line="185">Gets the damping ratio of @self.</doc>
        <source-position filename="src/adw-spring-params.h" line="39"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-spring-params.c"
               line="191">the damping ratio</doc>
          <type name="gdouble" c:type="double"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spring-params.c"
                 line="187">spring params</doc>
            <type name="SpringParams" c:type="AdwSpringParams*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_mass" c:identifier="adw_spring_params_get_mass">
        <doc xml:space="preserve"
             filename="src/adw-spring-params.c"
             line="205">Gets the mass of @self.</doc>
        <source-position filename="src/adw-spring-params.h" line="41"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-spring-params.c"
               line="211">the mass</doc>
          <type name="gdouble" c:type="double"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spring-params.c"
                 line="207">spring params</doc>
            <type name="SpringParams" c:type="AdwSpringParams*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_stiffness"
              c:identifier="adw_spring_params_get_stiffness">
        <doc xml:space="preserve"
             filename="src/adw-spring-params.c"
             line="221">Gets the stiffness of @self.</doc>
        <source-position filename="src/adw-spring-params.h" line="43"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-spring-params.c"
               line="227">the stiffness</doc>
          <type name="gdouble" c:type="double"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spring-params.c"
                 line="223">spring params</doc>
            <type name="SpringParams" c:type="AdwSpringParams*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="ref" c:identifier="adw_spring_params_ref">
        <doc xml:space="preserve"
             filename="src/adw-spring-params.c"
             line="134">Increases the reference count of @self.</doc>
        <source-position filename="src/adw-spring-params.h" line="32"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/adw-spring-params.c"
               line="140">@self</doc>
          <type name="SpringParams" c:type="AdwSpringParams*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spring-params.c"
                 line="136">spring params</doc>
            <type name="SpringParams" c:type="AdwSpringParams*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="unref" c:identifier="adw_spring_params_unref">
        <doc xml:space="preserve"
             filename="src/adw-spring-params.c"
             line="152">Decreases the reference count of @self.

If the last reference is dropped, the structure is freed.</doc>
        <source-position filename="src/adw-spring-params.h" line="34"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-spring-params.c"
                 line="154">spring params</doc>
            <type name="SpringParams" c:type="AdwSpringParams*"/>
          </instance-parameter>
        </parameters>
      </method>
    </record>
    <class name="Squeezer"
           c:symbol-prefix="squeezer"
           c:type="AdwSqueezer"
           deprecated="1"
           deprecated-version="1.4"
           parent="Gtk.Widget"
           final="1"
           glib:type-name="AdwSqueezer"
           glib:get-type="adw_squeezer_get_type"
           glib:type-struct="SqueezerClass">
      <doc xml:space="preserve"
           filename="src/adw-squeezer.c"
           line="26">A best fit container.

&lt;picture&gt;
  &lt;source srcset="squeezer-wide-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="squeezer-wide.png" alt="squeezer-wide"&gt;
&lt;/picture&gt;
&lt;picture&gt;
  &lt;source srcset="squeezer-narrow-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="squeezer-narrow.png" alt="squeezer-narrow"&gt;
&lt;/picture&gt;

The `AdwSqueezer` widget is a container which only shows the first of its
children that fits in the available size. It is convenient to offer different
widgets to represent the same data with different levels of detail, making
the widget seem to squeeze itself to fit in the available space.

Transitions between children can be animated as fades. This can be controlled
with [property@Squeezer:transition-type].

## CSS nodes

`AdwSqueezer` has a single CSS node with name `squeezer`.</doc>
      <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwsqueezer)</doc-deprecated>
      <source-position filename="src/adw-squeezer.h" line="38"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new"
                   c:identifier="adw_squeezer_new"
                   deprecated="1"
                   deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-squeezer.c"
             line="1335">Creates a new `AdwSqueezer`.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwsqueezer)</doc-deprecated>
        <source-position filename="src/adw-squeezer.h" line="46"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-squeezer.c"
               line="1340">the newly created `AdwSqueezer`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="add"
              c:identifier="adw_squeezer_add"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-squeezer.c"
             line="1350">Adds a child to @self.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwsqueezer)</doc-deprecated>
        <source-position filename="src/adw-squeezer.h" line="49"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-squeezer.c"
               line="1357">the [class@SqueezerPage] for @child</doc>
          <type name="SqueezerPage" c:type="AdwSqueezerPage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-squeezer.c"
                 line="1352">a squeezer</doc>
            <type name="Squeezer" c:type="AdwSqueezer*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-squeezer.c"
                 line="1353">the widget to add</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_allow_none"
              c:identifier="adw_squeezer_get_allow_none"
              glib:get-property="allow-none"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-squeezer.c"
             line="1556">Gets whether to allow squeezing beyond the last child's minimum size.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwsqueezer)</doc-deprecated>
        <source-position filename="src/adw-squeezer.h" line="75"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-squeezer.c"
               line="1562">whether @self allows squeezing beyond the last child</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-squeezer.c"
                 line="1558">a squeezer</doc>
            <type name="Squeezer" c:type="AdwSqueezer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_homogeneous"
              c:identifier="adw_squeezer_get_homogeneous"
              glib:get-property="homogeneous"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-squeezer.c"
             line="1452">Gets whether all children have the same size for the opposite orientation.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwsqueezer)</doc-deprecated>
        <source-position filename="src/adw-squeezer.h" line="63"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-squeezer.c"
               line="1458">whether @self is homogeneous</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-squeezer.c"
                 line="1454">a squeezer</doc>
            <type name="Squeezer" c:type="AdwSqueezer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_interpolate_size"
              c:identifier="adw_squeezer_get_interpolate_size"
              glib:get-property="interpolate-size"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-squeezer.c"
             line="1708">Gets whether @self interpolates its size when changing the visible child.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwsqueezer)</doc-deprecated>
        <source-position filename="src/adw-squeezer.h" line="96"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-squeezer.c"
               line="1714">whether the size is interpolated</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-squeezer.c"
                 line="1710">A squeezer</doc>
            <type name="Squeezer" c:type="AdwSqueezer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_page"
              c:identifier="adw_squeezer_get_page"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-squeezer.c"
             line="1413">Returns the [class@SqueezerPage] object for @child.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwsqueezer)</doc-deprecated>
        <source-position filename="src/adw-squeezer.h" line="56"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-squeezer.c"
               line="1420">the page object for @child</doc>
          <type name="SqueezerPage" c:type="AdwSqueezerPage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-squeezer.c"
                 line="1415">a squeezer</doc>
            <type name="Squeezer" c:type="AdwSqueezer*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-squeezer.c"
                 line="1416">a child of @self</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_pages"
              c:identifier="adw_squeezer_get_pages"
              glib:get-property="pages"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-squeezer.c"
             line="1853">Returns a [iface@Gio.ListModel] that contains the pages of @self.

This can be used to keep an up-to-date view. The model also implements
[iface@Gtk.SelectionModel] and can be used to track the visible page.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwsqueezer)</doc-deprecated>
        <source-position filename="src/adw-squeezer.h" line="114"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/adw-squeezer.c"
               line="1862">a `GtkSelectionModel` for the squeezer's children</doc>
          <type name="Gtk.SelectionModel" c:type="GtkSelectionModel*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-squeezer.c"
                 line="1855">a squeezer</doc>
            <type name="Squeezer" c:type="AdwSqueezer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_switch_threshold_policy"
              c:identifier="adw_squeezer_get_switch_threshold_policy"
              glib:get-property="switch-threshold-policy"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-squeezer.c"
             line="1502">Gets the switch threshold policy for @self.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwsqueezer)</doc-deprecated>
        <source-position filename="src/adw-squeezer.h" line="69"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-squeezer.c"
               line="1508">the fold threshold policy</doc>
          <type name="FoldThresholdPolicy" c:type="AdwFoldThresholdPolicy"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-squeezer.c"
                 line="1504">a squeezer</doc>
            <type name="Squeezer" c:type="AdwSqueezer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_transition_duration"
              c:identifier="adw_squeezer_get_transition_duration"
              glib:get-property="transition-duration"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-squeezer.c"
             line="1605">Gets the transition animation duration for @self.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwsqueezer)</doc-deprecated>
        <source-position filename="src/adw-squeezer.h" line="81"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-squeezer.c"
               line="1611">the transition duration, in milliseconds</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-squeezer.c"
                 line="1607">a squeezer</doc>
            <type name="Squeezer" c:type="AdwSqueezer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_transition_running"
              c:identifier="adw_squeezer_get_transition_running"
              glib:get-property="transition-running"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-squeezer.c"
             line="1686">Gets whether a transition is currently running for @self.

If a transition is impossible, the property value will be set to `TRUE` and
then immediately to `FALSE`, so it's possible to rely on its notifications
to know that a transition has happened.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwsqueezer)</doc-deprecated>
        <source-position filename="src/adw-squeezer.h" line="93"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-squeezer.c"
               line="1696">whether a transition is currently running</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-squeezer.c"
                 line="1688">a squeezer</doc>
            <type name="Squeezer" c:type="AdwSqueezer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_transition_type"
              c:identifier="adw_squeezer_get_transition_type"
              glib:get-property="transition-type"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-squeezer.c"
             line="1646">Gets the type of animation used for transitions between children in @self.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwsqueezer)</doc-deprecated>
        <source-position filename="src/adw-squeezer.h" line="87"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-squeezer.c"
               line="1652">the current transition type of @self</doc>
          <type name="SqueezerTransitionType"
                c:type="AdwSqueezerTransitionType"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-squeezer.c"
                 line="1648">a squeezer</doc>
            <type name="Squeezer" c:type="AdwSqueezer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_visible_child"
              c:identifier="adw_squeezer_get_visible_child"
              glib:get-property="visible-child"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-squeezer.c"
             line="1434">Gets the currently visible child of @self.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwsqueezer)</doc-deprecated>
        <source-position filename="src/adw-squeezer.h" line="60"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-squeezer.c"
               line="1440">the visible child</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-squeezer.c"
                 line="1436">a squeezer</doc>
            <type name="Squeezer" c:type="AdwSqueezer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_xalign"
              c:identifier="adw_squeezer_get_xalign"
              glib:get-property="xalign"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-squeezer.c"
             line="1755">Gets the horizontal alignment, from 0 (start) to 1 (end).</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwsqueezer)</doc-deprecated>
        <source-position filename="src/adw-squeezer.h" line="102"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-squeezer.c"
               line="1761">the alignment value</doc>
          <type name="gfloat" c:type="float"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-squeezer.c"
                 line="1757">a squeezer</doc>
            <type name="Squeezer" c:type="AdwSqueezer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_yalign"
              c:identifier="adw_squeezer_get_yalign"
              glib:get-property="yalign"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-squeezer.c"
             line="1804">Gets the vertical alignment, from 0 (top) to 1 (bottom).</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwsqueezer)</doc-deprecated>
        <source-position filename="src/adw-squeezer.h" line="108"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-squeezer.c"
               line="1810">the alignment value</doc>
          <type name="gfloat" c:type="float"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-squeezer.c"
                 line="1806">a squeezer</doc>
            <type name="Squeezer" c:type="AdwSqueezer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove"
              c:identifier="adw_squeezer_remove"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-squeezer.c"
             line="1380">Removes a child widget from @self.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwsqueezer)</doc-deprecated>
        <source-position filename="src/adw-squeezer.h" line="52"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-squeezer.c"
                 line="1382">a squeezer</doc>
            <type name="Squeezer" c:type="AdwSqueezer*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-squeezer.c"
                 line="1383">the child to remove</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_allow_none"
              c:identifier="adw_squeezer_set_allow_none"
              glib:set-property="allow-none"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-squeezer.c"
             line="1574">Sets whether to allow squeezing beyond the last child's minimum size.

If set to `TRUE`, the squeezer can shrink to the point where no child can be
shown. This is functionally equivalent to appending a widget with 0×0 minimum
size.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwsqueezer)</doc-deprecated>
        <source-position filename="src/adw-squeezer.h" line="77"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-squeezer.c"
                 line="1576">a squeezer</doc>
            <type name="Squeezer" c:type="AdwSqueezer*"/>
          </instance-parameter>
          <parameter name="allow_none" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-squeezer.c"
                 line="1577">whether @self allows squeezing beyond the last child</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_homogeneous"
              c:identifier="adw_squeezer_set_homogeneous"
              glib:set-property="homogeneous"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-squeezer.c"
             line="1470">Sets whether all children have the same size for the opposite orientation.

For example, if a squeezer is horizontal and is homogeneous, it will request
the same height for all its children. If it isn't, the squeezer may change
size when a different child becomes visible.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwsqueezer)</doc-deprecated>
        <source-position filename="src/adw-squeezer.h" line="65"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-squeezer.c"
                 line="1472">a squeezer</doc>
            <type name="Squeezer" c:type="AdwSqueezer*"/>
          </instance-parameter>
          <parameter name="homogeneous" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-squeezer.c"
                 line="1473">whether @self is homogeneous</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_interpolate_size"
              c:identifier="adw_squeezer_set_interpolate_size"
              glib:set-property="interpolate-size"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-squeezer.c"
             line="1726">Sets whether @self interpolates its size when changing the visible child.

If `TRUE`, the squeezer will interpolate its size between the one of the
previous visible child and the one of the new visible child, according to the
set transition duration and the orientation, e.g. if the squeezer is
horizontal, it will interpolate the its height.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwsqueezer)</doc-deprecated>
        <source-position filename="src/adw-squeezer.h" line="98"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-squeezer.c"
                 line="1728">A squeezer</doc>
            <type name="Squeezer" c:type="AdwSqueezer*"/>
          </instance-parameter>
          <parameter name="interpolate_size" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-squeezer.c"
                 line="1729">whether to interpolate the size</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_switch_threshold_policy"
              c:identifier="adw_squeezer_set_switch_threshold_policy"
              glib:set-property="switch-threshold-policy"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-squeezer.c"
             line="1521">Sets the switch threshold policy for @self.

Determines when the squeezer will switch children.

If set to `ADW_FOLD_THRESHOLD_POLICY_MINIMUM`, it will only switch when the
visible child cannot fit anymore. With `ADW_FOLD_THRESHOLD_POLICY_NATURAL`,
it will switch as soon as the visible child doesn't get their natural size.

This can be useful if you have a long ellipsizing label and want to let it
ellipsize instead of immediately switching.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwsqueezer)</doc-deprecated>
        <source-position filename="src/adw-squeezer.h" line="71"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-squeezer.c"
                 line="1523">a squeezer</doc>
            <type name="Squeezer" c:type="AdwSqueezer*"/>
          </instance-parameter>
          <parameter name="policy" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-squeezer.c"
                 line="1524">the policy to use</doc>
            <type name="FoldThresholdPolicy" c:type="AdwFoldThresholdPolicy"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_transition_duration"
              c:identifier="adw_squeezer_set_transition_duration"
              glib:set-property="transition-duration"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-squeezer.c"
             line="1623">Sets the transition animation duration for @self.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwsqueezer)</doc-deprecated>
        <source-position filename="src/adw-squeezer.h" line="83"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-squeezer.c"
                 line="1625">a squeezer</doc>
            <type name="Squeezer" c:type="AdwSqueezer*"/>
          </instance-parameter>
          <parameter name="duration" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-squeezer.c"
                 line="1626">the new duration, in milliseconds</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_transition_type"
              c:identifier="adw_squeezer_set_transition_type"
              glib:set-property="transition-type"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-squeezer.c"
             line="1664">Sets the type of animation used for transitions between children in @self.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwsqueezer)</doc-deprecated>
        <source-position filename="src/adw-squeezer.h" line="89"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-squeezer.c"
                 line="1666">a squeezer</doc>
            <type name="Squeezer" c:type="AdwSqueezer*"/>
          </instance-parameter>
          <parameter name="transition" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-squeezer.c"
                 line="1667">the new transition type</doc>
            <type name="SqueezerTransitionType"
                  c:type="AdwSqueezerTransitionType"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_xalign"
              c:identifier="adw_squeezer_set_xalign"
              glib:set-property="xalign"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-squeezer.c"
             line="1773">Sets the horizontal alignment, from 0 (start) to 1 (end).

This affects the children allocation during transitions, when they exceed the
size of the squeezer.

For example, 0.5 means the child will be centered, 0 means it will keep the
start side aligned and overflow the end side, and 1 means the opposite.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwsqueezer)</doc-deprecated>
        <source-position filename="src/adw-squeezer.h" line="104"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-squeezer.c"
                 line="1775">a squeezer</doc>
            <type name="Squeezer" c:type="AdwSqueezer*"/>
          </instance-parameter>
          <parameter name="xalign" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-squeezer.c"
                 line="1776">the new alignment value</doc>
            <type name="gfloat" c:type="float"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_yalign"
              c:identifier="adw_squeezer_set_yalign"
              glib:set-property="yalign"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-squeezer.c"
             line="1822">Sets the vertical alignment, from 0 (top) to 1 (bottom).

This affects the children allocation during transitions, when they exceed the
size of the squeezer.

For example, 0.5 means the child will be centered, 0 means it will keep the
top side aligned and overflow the bottom side, and 1 means the opposite.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwsqueezer)</doc-deprecated>
        <source-position filename="src/adw-squeezer.h" line="110"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-squeezer.c"
                 line="1824">a squeezer</doc>
            <type name="Squeezer" c:type="AdwSqueezer*"/>
          </instance-parameter>
          <parameter name="yalign" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-squeezer.c"
                 line="1825">the new alignment value</doc>
            <type name="gfloat" c:type="float"/>
          </parameter>
        </parameters>
      </method>
      <property name="allow-none"
                deprecated="1"
                deprecated-version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_allow_none"
                getter="get_allow_none"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-squeezer.c"
             line="1082">Whether to allow squeezing beyond the last child's minimum size.

If set to `TRUE`, the squeezer can shrink to the point where no child can
be shown. This is functionally equivalent to appending a widget with 0×0
minimum size.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwsqueezer)</doc-deprecated>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="homogeneous"
                deprecated="1"
                deprecated-version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_homogeneous"
                getter="get_homogeneous"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-squeezer.c"
             line="1044">Whether all children have the same size for the opposite orientation.

For example, if a squeezer is horizontal and is homogeneous, it will
request the same height for all its children. If it isn't, the squeezer may
change size when a different child becomes visible.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwsqueezer)</doc-deprecated>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="interpolate-size"
                deprecated="1"
                deprecated-version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_interpolate_size"
                getter="get_interpolate_size"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-squeezer.c"
             line="1139">Whether the squeezer interpolates its size when changing the visible child.

If `TRUE`, the squeezer will interpolate its size between the one of the
previous visible child and the one of the new visible child, according to
the set transition duration and the orientation, e.g. if the squeezer is
horizontal, it will interpolate the its height.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwsqueezer)</doc-deprecated>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="pages"
                deprecated="1"
                deprecated-version="1.4"
                transfer-ownership="none"
                getter="get_pages">
        <doc xml:space="preserve"
             filename="src/adw-squeezer.c"
             line="1194">A selection model with the squeezer's pages.

This can be used to keep an up-to-date view. The model also implements
[iface@Gtk.SelectionModel] and can be used to track the visible page.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwsqueezer)</doc-deprecated>
        <type name="Gtk.SelectionModel"/>
      </property>
      <property name="switch-threshold-policy"
                deprecated="1"
                deprecated-version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_switch_threshold_policy"
                getter="get_switch_threshold_policy"
                default-value="ADW_FOLD_THRESHOLD_POLICY_NATURAL">
        <doc xml:space="preserve"
             filename="src/adw-squeezer.c"
             line="1060">The switch threshold policy.

Determines when the squeezer will switch children.

If set to `ADW_FOLD_THRESHOLD_POLICY_MINIMUM`, it will only switch when the
visible child cannot fit anymore. With `ADW_FOLD_THRESHOLD_POLICY_NATURAL`,
it will switch as soon as the visible child doesn't get their natural size.

This can be useful if you have a long ellipsizing label and want to let it
ellipsize instead of immediately switching.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwsqueezer)</doc-deprecated>
        <type name="FoldThresholdPolicy"/>
      </property>
      <property name="transition-duration"
                deprecated="1"
                deprecated-version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_transition_duration"
                getter="get_transition_duration"
                default-value="200">
        <doc xml:space="preserve"
             filename="src/adw-squeezer.c"
             line="1098">The transition animation duration, in milliseconds.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwsqueezer)</doc-deprecated>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="transition-running"
                deprecated="1"
                deprecated-version="1.4"
                transfer-ownership="none"
                getter="get_transition_running"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-squeezer.c"
             line="1123">Whether a transition is currently running.

If a transition is impossible, the property value will be set to `TRUE` and
then immediately to `FALSE`, so it's possible to rely on its notifications
to know that a transition has happened.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwsqueezer)</doc-deprecated>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="transition-type"
                deprecated="1"
                deprecated-version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_transition_type"
                getter="get_transition_type"
                default-value="ADW_SQUEEZER_TRANSITION_TYPE_NONE">
        <doc xml:space="preserve"
             filename="src/adw-squeezer.c"
             line="1110">The type of animation used for transitions between children.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwsqueezer)</doc-deprecated>
        <type name="SqueezerTransitionType"/>
      </property>
      <property name="visible-child"
                deprecated="1"
                deprecated-version="1.4"
                transfer-ownership="none"
                getter="get_visible_child">
        <doc xml:space="preserve"
             filename="src/adw-squeezer.c"
             line="1032">The currently visible child.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwsqueezer)</doc-deprecated>
        <type name="Gtk.Widget"/>
      </property>
      <property name="xalign"
                deprecated="1"
                deprecated-version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_xalign"
                getter="get_xalign"
                default-value="0.500000">
        <doc xml:space="preserve"
             filename="src/adw-squeezer.c"
             line="1156">The horizontal alignment, from 0 (start) to 1 (end).

This affects the children allocation during transitions, when they exceed
the size of the squeezer.

For example, 0.5 means the child will be centered, 0 means it will keep the
start side aligned and overflow the end side, and 1 means the opposite.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwsqueezer)</doc-deprecated>
        <type name="gfloat" c:type="gfloat"/>
      </property>
      <property name="yalign"
                deprecated="1"
                deprecated-version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_yalign"
                getter="get_yalign"
                default-value="0.500000">
        <doc xml:space="preserve"
             filename="src/adw-squeezer.c"
             line="1175">The vertical alignment, from 0 (top) to 1 (bottom).

This affects the children allocation during transitions, when they exceed
the size of the squeezer.

For example, 0.5 means the child will be centered, 0 means it will keep the
top side aligned and overflow the bottom side, and 1 means the opposite.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwsqueezer)</doc-deprecated>
        <type name="gfloat" c:type="gfloat"/>
      </property>
    </class>
    <record name="SqueezerClass"
            c:type="AdwSqueezerClass"
            glib:is-gtype-struct-for="Squeezer">
      <source-position filename="src/adw-squeezer.h" line="38"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
    </record>
    <class name="SqueezerPage"
           c:symbol-prefix="squeezer_page"
           c:type="AdwSqueezerPage"
           deprecated="1"
           deprecated-version="1.4"
           parent="GObject.Object"
           final="1"
           glib:type-name="AdwSqueezerPage"
           glib:get-type="adw_squeezer_page_get_type"
           glib:type-struct="SqueezerPageClass">
      <doc xml:space="preserve"
           filename="src/adw-squeezer.c"
           line="55">An auxiliary class used by [class@Squeezer].</doc>
      <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwsqueezer)</doc-deprecated>
      <source-position filename="src/adw-squeezer.h" line="24"/>
      <method name="get_child"
              c:identifier="adw_squeezer_page_get_child"
              glib:get-property="child"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-squeezer.c"
             line="1258">Returns the squeezer child to which @self belongs.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwsqueezer)</doc-deprecated>
        <source-position filename="src/adw-squeezer.h" line="27"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-squeezer.c"
               line="1264">the child to which @self belongs</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-squeezer.c"
                 line="1260">a squeezer page</doc>
            <type name="SqueezerPage" c:type="AdwSqueezerPage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_enabled"
              c:identifier="adw_squeezer_page_get_enabled"
              glib:get-property="enabled"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-squeezer.c"
             line="1276">Gets whether @self is enabled.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwsqueezer)</doc-deprecated>
        <source-position filename="src/adw-squeezer.h" line="30"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-squeezer.c"
               line="1282">whether @self is enabled</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-squeezer.c"
                 line="1278">a squeezer page</doc>
            <type name="SqueezerPage" c:type="AdwSqueezerPage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_enabled"
              c:identifier="adw_squeezer_page_set_enabled"
              glib:set-property="enabled"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-squeezer.c"
             line="1294">Sets whether @self is enabled.

If a child is disabled, it will be ignored when looking for the child
fitting the available size best.

This allows to programmatically and prematurely hide a child even if it fits
in the available space.

This can be used e.g. to ensure a certain child is hidden below a certain
window width, or any other constraint you find suitable.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwsqueezer)</doc-deprecated>
        <source-position filename="src/adw-squeezer.h" line="32"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-squeezer.c"
                 line="1296">a squeezer page</doc>
            <type name="SqueezerPage" c:type="AdwSqueezerPage*"/>
          </instance-parameter>
          <parameter name="enabled" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-squeezer.c"
                 line="1297">whether @self is enabled</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="child"
                deprecated="1"
                deprecated-version="1.4"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_child">
        <doc xml:space="preserve"
             filename="src/adw-squeezer.c"
             line="217">The the squeezer child to which the page belongs.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwsqueezer)</doc-deprecated>
        <type name="Gtk.Widget"/>
      </property>
      <property name="enabled"
                deprecated="1"
                deprecated-version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_enabled"
                getter="get_enabled"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-squeezer.c"
             line="229">Whether the child is enabled.

If a child is disabled, it will be ignored when looking for the child
fitting the available size best.

This allows to programmatically and prematurely hide a child even if it
fits in the available space.

This can be used e.g. to ensure a certain child is hidden below a certain
window width, or any other constraint you find suitable.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwsqueezer)</doc-deprecated>
        <type name="gboolean" c:type="gboolean"/>
      </property>
    </class>
    <record name="SqueezerPageClass"
            c:type="AdwSqueezerPageClass"
            glib:is-gtype-struct-for="SqueezerPage">
      <source-position filename="src/adw-squeezer.h" line="24"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <enumeration name="SqueezerTransitionType"
                 deprecated="1"
                 deprecated-version="1.4"
                 glib:type-name="AdwSqueezerTransitionType"
                 glib:get-type="adw_squeezer_transition_type_get_type"
                 c:type="AdwSqueezerTransitionType">
      <doc xml:space="preserve"
           filename="src/adw-squeezer.c"
           line="63">Describes the possible transitions in a [class@Squeezer] widget.</doc>
      <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwsqueezer)</doc-deprecated>
      <member name="none"
              value="0"
              c:identifier="ADW_SQUEEZER_TRANSITION_TYPE_NONE"
              glib:nick="none"
              glib:name="ADW_SQUEEZER_TRANSITION_TYPE_NONE">
        <doc xml:space="preserve"
             filename="src/adw-squeezer.c"
             line="65">No transition</doc>
      </member>
      <member name="crossfade"
              value="1"
              c:identifier="ADW_SQUEEZER_TRANSITION_TYPE_CROSSFADE"
              glib:nick="crossfade"
              glib:name="ADW_SQUEEZER_TRANSITION_TYPE_CROSSFADE">
        <doc xml:space="preserve"
             filename="src/adw-squeezer.c"
             line="66">A cross-fade</doc>
      </member>
    </enumeration>
    <class name="StatusPage"
           c:symbol-prefix="status_page"
           c:type="AdwStatusPage"
           parent="Gtk.Widget"
           final="1"
           glib:type-name="AdwStatusPage"
           glib:get-type="adw_status_page_get_type"
           glib:type-struct="StatusPageClass">
      <doc xml:space="preserve"
           filename="src/adw-status-page.c"
           line="14">A page used for empty/error states and similar use-cases.

&lt;picture&gt;
  &lt;source srcset="status-page-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="status-page.png" alt="status-page"&gt;
&lt;/picture&gt;

The `AdwStatusPage` widget can have an icon, a title, a description and a
custom widget which is displayed below them.

## CSS nodes

`AdwStatusPage` has a main CSS node with name `statuspage`.

When setting an [class@SpinnerPaintable] as [property@StatusPage:paintable],
the main nodes gains the `.spinner` style class for a more compact
appearance.

## Style classes

`AdwStatusPage` can use the
[`.compact`](style-classes.html#compact-status-page) style class for when it
needs to fit into a small space such a sidebar or a popover, similar to when
using a spinner as the paintable.

&lt;picture&gt;
  &lt;source srcset="status-page-compact-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="status-page-compact.png" alt="status-page-compact"&gt;
&lt;/picture&gt;</doc>
      <source-position filename="src/adw-status-page.h" line="22"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <constructor name="new" c:identifier="adw_status_page_new">
        <doc xml:space="preserve"
             filename="src/adw-status-page.c"
             line="307">Creates a new `AdwStatusPage`.</doc>
        <source-position filename="src/adw-status-page.h" line="25"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-status-page.c"
               line="312">the newly created `AdwStatusPage`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="get_child"
              c:identifier="adw_status_page_get_child"
              glib:get-property="child">
        <doc xml:space="preserve"
             filename="src/adw-status-page.c"
             line="501">Gets the child widget of @self.</doc>
        <source-position filename="src/adw-status-page.h" line="52"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-status-page.c"
               line="507">the child widget of @self</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-status-page.c"
                 line="503">a status page</doc>
            <type name="StatusPage" c:type="AdwStatusPage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_description"
              c:identifier="adw_status_page_get_description"
              glib:get-property="description">
        <doc xml:space="preserve"
             filename="src/adw-status-page.c"
             line="462">Gets the description markup for @self.</doc>
        <source-position filename="src/adw-status-page.h" line="46"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-status-page.c"
               line="468">the description</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-status-page.c"
                 line="464">a status page</doc>
            <type name="StatusPage" c:type="AdwStatusPage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_icon_name"
              c:identifier="adw_status_page_get_icon_name"
              glib:get-property="icon-name">
        <doc xml:space="preserve"
             filename="src/adw-status-page.c"
             line="320">Gets the icon name for @self.</doc>
        <source-position filename="src/adw-status-page.h" line="28"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-status-page.c"
               line="326">the icon name</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-status-page.c"
                 line="322">a status page</doc>
            <type name="StatusPage" c:type="AdwStatusPage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_paintable"
              c:identifier="adw_status_page_get_paintable"
              glib:get-property="paintable">
        <doc xml:space="preserve"
             filename="src/adw-status-page.c"
             line="368">Gets the paintable for @self.</doc>
        <source-position filename="src/adw-status-page.h" line="34"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-status-page.c"
               line="374">the paintable</doc>
          <type name="Gdk.Paintable" c:type="GdkPaintable*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-status-page.c"
                 line="370">a status page</doc>
            <type name="StatusPage" c:type="AdwStatusPage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_title"
              c:identifier="adw_status_page_get_title"
              glib:get-property="title">
        <doc xml:space="preserve"
             filename="src/adw-status-page.c"
             line="423">Gets the title for @self.</doc>
        <source-position filename="src/adw-status-page.h" line="40"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-status-page.c"
               line="429">the title</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-status-page.c"
                 line="425">a status page</doc>
            <type name="StatusPage" c:type="AdwStatusPage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_child"
              c:identifier="adw_status_page_set_child"
              glib:set-property="child">
        <doc xml:space="preserve"
             filename="src/adw-status-page.c"
             line="517">Sets the child widget of @self.</doc>
        <source-position filename="src/adw-status-page.h" line="54"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-status-page.c"
                 line="519">a status page</doc>
            <type name="StatusPage" c:type="AdwStatusPage*"/>
          </instance-parameter>
          <parameter name="child"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-status-page.c"
                 line="520">the child widget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_description"
              c:identifier="adw_status_page_set_description"
              glib:set-property="description">
        <doc xml:space="preserve"
             filename="src/adw-status-page.c"
             line="478">Sets the description markup for @self.

The description is displayed below the title. It is parsed as Pango markup.</doc>
        <source-position filename="src/adw-status-page.h" line="48"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-status-page.c"
                 line="480">a status page</doc>
            <type name="StatusPage" c:type="AdwStatusPage*"/>
          </instance-parameter>
          <parameter name="description"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-status-page.c"
                 line="481">the description</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_icon_name"
              c:identifier="adw_status_page_set_icon_name"
              glib:set-property="icon-name">
        <doc xml:space="preserve"
             filename="src/adw-status-page.c"
             line="336">Sets the icon name for @self.

Changing this will set [property@StatusPage:paintable] to `NULL`.</doc>
        <source-position filename="src/adw-status-page.h" line="30"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-status-page.c"
                 line="338">a status page</doc>
            <type name="StatusPage" c:type="AdwStatusPage*"/>
          </instance-parameter>
          <parameter name="icon_name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-status-page.c"
                 line="339">the icon name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_paintable"
              c:identifier="adw_status_page_set_paintable"
              glib:set-property="paintable">
        <doc xml:space="preserve"
             filename="src/adw-status-page.c"
             line="384">Sets the paintable for @self.

Changing this will set [property@StatusPage:icon-name] to `NULL`.</doc>
        <source-position filename="src/adw-status-page.h" line="36"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-status-page.c"
                 line="386">a status page</doc>
            <type name="StatusPage" c:type="AdwStatusPage*"/>
          </instance-parameter>
          <parameter name="paintable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-status-page.c"
                 line="387">the paintable</doc>
            <type name="Gdk.Paintable" c:type="GdkPaintable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_title"
              c:identifier="adw_status_page_set_title"
              glib:set-property="title">
        <doc xml:space="preserve"
             filename="src/adw-status-page.c"
             line="439">Sets the title for @self.

The title is displayed below the icon. It is not parsed as Pango markup.</doc>
        <source-position filename="src/adw-status-page.h" line="42"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-status-page.c"
                 line="441">a status page</doc>
            <type name="StatusPage" c:type="AdwStatusPage*"/>
          </instance-parameter>
          <parameter name="title" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-status-page.c"
                 line="442">the title</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <property name="child"
                writable="1"
                transfer-ownership="none"
                setter="set_child"
                getter="get_child">
        <doc xml:space="preserve"
             filename="src/adw-status-page.c"
             line="249">The child widget.</doc>
        <type name="Gtk.Widget"/>
      </property>
      <property name="description"
                writable="1"
                transfer-ownership="none"
                setter="set_description"
                getter="get_description">
        <doc xml:space="preserve"
             filename="src/adw-status-page.c"
             line="239">The description markup to be displayed below the title.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="icon-name"
                writable="1"
                transfer-ownership="none"
                setter="set_icon_name"
                getter="get_icon_name"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/adw-status-page.c"
             line="203">The name of the icon to be used.

Changing this will set [property@StatusPage:paintable] to `NULL`.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="paintable"
                writable="1"
                transfer-ownership="none"
                setter="set_paintable"
                getter="get_paintable">
        <doc xml:space="preserve"
             filename="src/adw-status-page.c"
             line="215">The paintable to be used.

Changing this will set [property@StatusPage:icon-name] to `NULL`.</doc>
        <type name="Gdk.Paintable"/>
      </property>
      <property name="title"
                writable="1"
                transfer-ownership="none"
                setter="set_title"
                getter="get_title">
        <doc xml:space="preserve"
             filename="src/adw-status-page.c"
             line="227">The title to be displayed below the icon.

It is not parsed as Pango markup.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
    </class>
    <record name="StatusPageClass"
            c:type="AdwStatusPageClass"
            glib:is-gtype-struct-for="StatusPage">
      <source-position filename="src/adw-status-page.h" line="22"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
    </record>
    <class name="StyleManager"
           c:symbol-prefix="style_manager"
           c:type="AdwStyleManager"
           parent="GObject.Object"
           final="1"
           glib:type-name="AdwStyleManager"
           glib:get-type="adw_style_manager_get_type"
           glib:type-struct="StyleManagerClass">
      <doc xml:space="preserve"
           filename="src/adw-style-manager.c"
           line="35">A class for managing application-wide styling.

`AdwStyleManager` provides a way to query and influence the application
styles, such as whether to use dark style, the system accent color or high
contrast appearance.

It allows to set the color scheme via the
[property@StyleManager:color-scheme] property, and to query the current
appearance, as well as whether a system-wide color scheme and accent color
preferences exists.</doc>
      <source-position filename="src/adw-style-manager.h" line="35"/>
      <function name="get_default"
                c:identifier="adw_style_manager_get_default">
        <doc xml:space="preserve"
             filename="src/adw-style-manager.c"
             line="860">Gets the default `AdwStyleManager` instance.

It manages all [class@Gdk.Display] instances unless the style manager for
that display has an override.

See [func@StyleManager.get_for_display].</doc>
        <source-position filename="src/adw-style-manager.h" line="38"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-style-manager.c"
               line="870">the default style manager</doc>
          <type name="StyleManager" c:type="AdwStyleManager*"/>
        </return-value>
      </function>
      <function name="get_for_display"
                c:identifier="adw_style_manager_get_for_display">
        <doc xml:space="preserve"
             filename="src/adw-style-manager.c"
             line="881">Gets the `AdwStyleManager` instance managing @display.

It can be used to override styles for that specific display instead of the
whole application.

Most applications should use [func@StyleManager.get_default] instead.</doc>
        <source-position filename="src/adw-style-manager.h" line="40"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-style-manager.c"
               line="892">the style manager for @display</doc>
          <type name="StyleManager" c:type="AdwStyleManager*"/>
        </return-value>
        <parameters>
          <parameter name="display" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-style-manager.c"
                 line="883">a `GdkDisplay`</doc>
            <type name="Gdk.Display" c:type="GdkDisplay*"/>
          </parameter>
        </parameters>
      </function>
      <method name="get_accent_color"
              c:identifier="adw_style_manager_get_accent_color"
              glib:get-property="accent-color"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-style-manager.c"
             line="1091">Gets the current system accent color.

See also [property@StyleManager:accent-color-rgba].</doc>
        <source-position filename="src/adw-style-manager.h" line="63"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-style-manager.c"
               line="1099">the current system accent color</doc>
          <type name="AccentColor" c:type="AdwAccentColor"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-style-manager.c"
                 line="1093">a style manager</doc>
            <type name="StyleManager" c:type="AdwStyleManager*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_accent_color_rgba"
              c:identifier="adw_style_manager_get_accent_color_rgba"
              glib:get-property="accent-color-rgba"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-style-manager.c"
             line="1111">Gets the current system accent color as a `GdkRGBA`.

Equivalent to calling [func@AccentColor.to_rgba] on the value of
[property@StyleManager:accent-color].

This is a background color. The matching foreground color is white.</doc>
        <source-position filename="src/adw-style-manager.h" line="66"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/adw-style-manager.c"
               line="1122">the current system accent color</doc>
          <type name="Gdk.RGBA" c:type="GdkRGBA*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-style-manager.c"
                 line="1113">a style manager</doc>
            <type name="StyleManager" c:type="AdwStyleManager*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_color_scheme"
              c:identifier="adw_style_manager_get_color_scheme"
              glib:get-property="color-scheme">
        <doc xml:space="preserve"
             filename="src/adw-style-manager.c"
             line="926">Gets the requested application color scheme.</doc>
        <source-position filename="src/adw-style-manager.h" line="46"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-style-manager.c"
               line="932">the color scheme</doc>
          <type name="ColorScheme" c:type="AdwColorScheme"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-style-manager.c"
                 line="928">a style manager</doc>
            <type name="StyleManager" c:type="AdwStyleManager*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_dark"
              c:identifier="adw_style_manager_get_dark"
              glib:get-property="dark">
        <doc xml:space="preserve"
             filename="src/adw-style-manager.c"
             line="1030">Gets whether the application is using dark appearance.

This can be used to query the current appearance, as requested via
[property@StyleManager:color-scheme].</doc>
        <source-position filename="src/adw-style-manager.h" line="55"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-style-manager.c"
               line="1039">whether the application is using dark appearance</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-style-manager.c"
                 line="1032">a style manager</doc>
            <type name="StyleManager" c:type="AdwStyleManager*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_display"
              c:identifier="adw_style_manager_get_display"
              glib:get-property="display">
        <doc xml:space="preserve"
             filename="src/adw-style-manager.c"
             line="907">Gets the display the style manager is associated with.

The display will be `NULL` for the style manager returned by
[func@StyleManager.get_default].</doc>
        <source-position filename="src/adw-style-manager.h" line="43"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-style-manager.c"
               line="916">the display</doc>
          <type name="Gdk.Display" c:type="GdkDisplay*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-style-manager.c"
                 line="909">a style manager</doc>
            <type name="StyleManager" c:type="AdwStyleManager*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_document_font_name"
              c:identifier="adw_style_manager_get_document_font_name"
              glib:get-property="document-font-name"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-style-manager.c"
             line="1141">Gets the system document font.

The font is in the same format as [property@Gtk.Settings:gtk-font-name],
e.g. "Adwaita Sans 11".

Use [func@Pango.FontDescription.from_string] to parse it.</doc>
        <source-position filename="src/adw-style-manager.h" line="69"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-style-manager.c"
               line="1152">the system document font</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-style-manager.c"
                 line="1143">a style manager</doc>
            <type name="StyleManager" c:type="AdwStyleManager*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_high_contrast"
              c:identifier="adw_style_manager_get_high_contrast"
              glib:get-property="high-contrast">
        <doc xml:space="preserve"
             filename="src/adw-style-manager.c"
             line="1049">Gets whether the application is using high contrast appearance.

This cannot be overridden by applications.</doc>
        <source-position filename="src/adw-style-manager.h" line="57"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-style-manager.c"
               line="1057">whether the application is using high contrast appearance</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-style-manager.c"
                 line="1051">a style manager</doc>
            <type name="StyleManager" c:type="AdwStyleManager*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_monospace_font_name"
              c:identifier="adw_style_manager_get_monospace_font_name"
              glib:get-property="monospace-font-name"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-style-manager.c"
             line="1167">Gets the system monospace font.

The font is in the same format as [property@Gtk.Settings:gtk-font-name],
e.g. "Adwaita Mono 11".

Use [func@Pango.FontDescription.from_string] to parse it.</doc>
        <source-position filename="src/adw-style-manager.h" line="72"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-style-manager.c"
               line="1178">the system monospace font</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-style-manager.c"
                 line="1169">a style manager</doc>
            <type name="StyleManager" c:type="AdwStyleManager*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_system_supports_accent_colors"
              c:identifier="adw_style_manager_get_system_supports_accent_colors"
              glib:get-property="system-supports-accent-colors"
              version="1.6">
        <doc xml:space="preserve"
             filename="src/adw-style-manager.c"
             line="1067">Gets whether the system supports accent colors.

This can be used to check if the current environment provides an accent color
preference. For example, applications might want to show a preference for
choosing accent color if it's set to `FALSE`.

See [property@StyleManager:accent-color].</doc>
        <source-position filename="src/adw-style-manager.h" line="60"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-style-manager.c"
               line="1079">whether the system supports accent colors</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-style-manager.c"
                 line="1069">a style manager</doc>
            <type name="StyleManager" c:type="AdwStyleManager*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_system_supports_color_schemes"
              c:identifier="adw_style_manager_get_system_supports_color_schemes"
              glib:get-property="system-supports-color-schemes">
        <doc xml:space="preserve"
             filename="src/adw-style-manager.c"
             line="1010">Gets whether the system supports color schemes.

This can be used to check if the current environment provides a color scheme
preference. For example, applications might want to show a separate
appearance switcher if it's set to `FALSE`.</doc>
        <source-position filename="src/adw-style-manager.h" line="52"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-style-manager.c"
               line="1020">whether the system supports color schemes</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-style-manager.c"
                 line="1012">a style manager</doc>
            <type name="StyleManager" c:type="AdwStyleManager*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_color_scheme"
              c:identifier="adw_style_manager_set_color_scheme"
              glib:set-property="color-scheme">
        <doc xml:space="preserve"
             filename="src/adw-style-manager.c"
             line="942">Sets the requested application color scheme.

The effective appearance will be decided based on the application color
scheme and the system preferred color scheme. The
[property@StyleManager:dark] property can be used to query the current
effective appearance.

The `ADW_COLOR_SCHEME_PREFER_LIGHT` color scheme results in the application
using light appearance unless the system prefers dark colors. This is the
default value.

The `ADW_COLOR_SCHEME_PREFER_DARK` color scheme results in the application
using dark appearance, but can still switch to the light appearance if the
system can prefers it, for example, when the high contrast preference is
enabled.

The `ADW_COLOR_SCHEME_FORCE_LIGHT` and `ADW_COLOR_SCHEME_FORCE_DARK` values
ignore the system preference entirely. They are useful if the application
wants to match its UI to its content or to provide a separate color scheme
switcher.

If a per-[class@Gdk.Display] style manager has its color scheme set to
`ADW_COLOR_SCHEME_DEFAULT`, it will inherit the color scheme from the
default style manager.

For the default style manager, `ADW_COLOR_SCHEME_DEFAULT` is equivalent to
`ADW_COLOR_SCHEME_PREFER_LIGHT`.

The [property@StyleManager:system-supports-color-schemes] property can be
used to check if the current environment provides a color scheme
preference.</doc>
        <source-position filename="src/adw-style-manager.h" line="48"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-style-manager.c"
                 line="944">a style manager</doc>
            <type name="StyleManager" c:type="AdwStyleManager*"/>
          </instance-parameter>
          <parameter name="color_scheme" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-style-manager.c"
                 line="945">the color scheme</doc>
            <type name="ColorScheme" c:type="AdwColorScheme"/>
          </parameter>
        </parameters>
      </method>
      <property name="accent-color"
                version="1.6"
                transfer-ownership="none"
                getter="get_accent_color"
                default-value="ADW_ACCENT_COLOR_BLUE">
        <doc xml:space="preserve"
             filename="src/adw-style-manager.c"
             line="756">The current system accent color.

See also [property@StyleManager:accent-color-rgba].</doc>
        <type name="AccentColor"/>
      </property>
      <property name="accent-color-rgba"
                version="1.6"
                transfer-ownership="none"
                getter="get_accent_color_rgba">
        <doc xml:space="preserve"
             filename="src/adw-style-manager.c"
             line="771">The current system accent color as a `GdkRGBA`.

Equivalent to calling [func@AccentColor.to_rgba] on the value of
[property@StyleManager:accent-color].

This is a background color. The matching foreground color is white.</doc>
        <type name="Gdk.RGBA"/>
      </property>
      <property name="color-scheme"
                writable="1"
                transfer-ownership="none"
                setter="set_color_scheme"
                getter="get_color_scheme"
                default-value="ADW_COLOR_SCHEME_DEFAULT">
        <doc xml:space="preserve"
             filename="src/adw-style-manager.c"
             line="656">The requested application color scheme.

The effective appearance will be decided based on the application color
scheme and the system preferred color scheme. The
[property@StyleManager:dark] property can be used to query the current
effective appearance.

The `ADW_COLOR_SCHEME_PREFER_LIGHT` color scheme results in the application
using light appearance unless the system prefers dark colors. This is the
default value.

The `ADW_COLOR_SCHEME_PREFER_DARK` color scheme results in the application
using dark appearance, but can still switch to the light appearance if the
system can prefers it, for example, when the high contrast preference is
enabled.

The `ADW_COLOR_SCHEME_FORCE_LIGHT` and `ADW_COLOR_SCHEME_FORCE_DARK` values
ignore the system preference entirely. They are useful if the application
wants to match its UI to its content or to provide a separate color scheme
switcher.

If a per-[class@Gdk.Display] style manager has its color scheme set to
`ADW_COLOR_SCHEME_DEFAULT`, it will inherit the color scheme from the
default style manager.

For the default style manager, `ADW_COLOR_SCHEME_DEFAULT` is equivalent to
`ADW_COLOR_SCHEME_PREFER_LIGHT`.

The [property@StyleManager:system-supports-color-schemes] property can be
used to check if the current environment provides a color scheme
preference.</doc>
        <type name="ColorScheme"/>
      </property>
      <property name="dark"
                transfer-ownership="none"
                getter="get_dark"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-style-manager.c"
             line="713">Whether the application is using dark appearance.

This property can be used to query the current appearance, as requested via
[property@StyleManager:color-scheme].</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="display"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_display">
        <doc xml:space="preserve"
             filename="src/adw-style-manager.c"
             line="643">The display the style manager is associated with.

The display will be `NULL` for the style manager returned by
[func@StyleManager.get_default].</doc>
        <type name="Gdk.Display"/>
      </property>
      <property name="document-font-name"
                version="1.7"
                transfer-ownership="none"
                getter="get_document_font_name"
                default-value="Sans 10">
        <doc xml:space="preserve"
             filename="src/adw-style-manager.c"
             line="788">The system document font.

The font is in the same format as [property@Gtk.Settings:gtk-font-name],
e.g. "Adwaita Sans 11".

Use [func@Pango.FontDescription.from_string] to parse it.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="high-contrast"
                transfer-ownership="none"
                getter="get_high_contrast"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-style-manager.c"
             line="726">Whether the application is using high contrast appearance.

This cannot be overridden by applications.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="monospace-font-name"
                version="1.7"
                transfer-ownership="none"
                getter="get_monospace_font_name"
                default-value="Monospace 10">
        <doc xml:space="preserve"
             filename="src/adw-style-manager.c"
             line="805">The system monospace font.

The font is in the same format as [property@Gtk.Settings:gtk-font-name],
e.g. "Adwaita Mono 11".

Use [func@Pango.FontDescription.from_string] to parse it.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="system-supports-accent-colors"
                version="1.6"
                transfer-ownership="none"
                getter="get_system_supports_accent_colors"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-style-manager.c"
             line="738">Whether the system supports accent colors.

This property can be used to check if the current environment provides an
accent color preference. For example, applications might want to show a
preference for choosing accent color if it's set to `FALSE`.

See [property@StyleManager:accent-color].</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="system-supports-color-schemes"
                transfer-ownership="none"
                getter="get_system_supports_color_schemes"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-style-manager.c"
             line="697">Whether the system supports color schemes.

This property can be used to check if the current environment provides a
color scheme preference. For example, applications might want to show a
separate appearance switcher if it's set to `FALSE`.

See [property@StyleManager:color-scheme].</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
    </class>
    <record name="StyleManagerClass"
            c:type="AdwStyleManagerClass"
            glib:is-gtype-struct-for="StyleManager">
      <source-position filename="src/adw-style-manager.h" line="35"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="SwipeTracker"
           c:symbol-prefix="swipe_tracker"
           c:type="AdwSwipeTracker"
           parent="GObject.Object"
           final="1"
           glib:type-name="AdwSwipeTracker"
           glib:get-type="adw_swipe_tracker_get_type"
           glib:type-struct="SwipeTrackerClass">
      <doc xml:space="preserve"
           filename="src/adw-swipe-tracker.c"
           line="35">A swipe tracker used in [class@Carousel], [class@NavigationView] and
[class@OverlaySplitView].

The `AdwSwipeTracker` object can be used for implementing widgets with swipe
gestures. It supports touch-based swipes, pointer dragging, and touchpad
scrolling.

The widgets will probably want to expose the [property@SwipeTracker:enabled]
property. If they expect to use horizontal orientation,
[property@SwipeTracker:reversed] can be used for supporting RTL text
direction.</doc>
      <source-position filename="src/adw-swipe-tracker.h" line="23"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new" c:identifier="adw_swipe_tracker_new">
        <doc xml:space="preserve"
             filename="src/adw-swipe-tracker.c"
             line="1392">Creates a new `AdwSwipeTracker` for @widget.</doc>
        <source-position filename="src/adw-swipe-tracker.h" line="26"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/adw-swipe-tracker.c"
               line="1398">the newly created `AdwSwipeTracker`</doc>
          <type name="SwipeTracker" c:type="AdwSwipeTracker*"/>
        </return-value>
        <parameters>
          <parameter name="swipeable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-swipe-tracker.c"
                 line="1394">a widget to add the tracker on</doc>
            <type name="Swipeable" c:type="AdwSwipeable*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_allow_long_swipes"
              c:identifier="adw_swipe_tracker_get_allow_long_swipes"
              glib:get-property="allow-long-swipes">
        <doc xml:space="preserve"
             filename="src/adw-swipe-tracker.c"
             line="1555">Gets whether to allow swiping for more than one snap point at a time.</doc>
        <source-position filename="src/adw-swipe-tracker.h" line="50"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-swipe-tracker.c"
               line="1561">whether long swipes are allowed</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-swipe-tracker.c"
                 line="1557">a swipe tracker</doc>
            <type name="SwipeTracker" c:type="AdwSwipeTracker*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_allow_mouse_drag"
              c:identifier="adw_swipe_tracker_get_allow_mouse_drag"
              glib:get-property="allow-mouse-drag">
        <doc xml:space="preserve"
             filename="src/adw-swipe-tracker.c"
             line="1514">Gets whether @self can be dragged with mouse pointer.</doc>
        <source-position filename="src/adw-swipe-tracker.h" line="44"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-swipe-tracker.c"
               line="1520">whether mouse dragging is allowed</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-swipe-tracker.c"
                 line="1516">a swipe tracker</doc>
            <type name="SwipeTracker" c:type="AdwSwipeTracker*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_allow_window_handle"
              c:identifier="adw_swipe_tracker_get_allow_window_handle"
              glib:get-property="allow-window-handle"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-swipe-tracker.c"
             line="1683">Gets whether to allow touchscreen swiping from `GtkWindowHandle`.</doc>
        <source-position filename="src/adw-swipe-tracker.h" line="68"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-swipe-tracker.c"
               line="1689">whether swiping from window handles is allowed</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-swipe-tracker.c"
                 line="1685">a swipe tracker</doc>
            <type name="SwipeTracker" c:type="AdwSwipeTracker*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_enabled"
              c:identifier="adw_swipe_tracker_get_enabled"
              glib:get-property="enabled">
        <doc xml:space="preserve"
             filename="src/adw-swipe-tracker.c"
             line="1426">Gets whether @self is enabled.</doc>
        <source-position filename="src/adw-swipe-tracker.h" line="32"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-swipe-tracker.c"
               line="1432">whether @self is enabled</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-swipe-tracker.c"
                 line="1428">a swipe tracker</doc>
            <type name="SwipeTracker" c:type="AdwSwipeTracker*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_lower_overshoot"
              c:identifier="adw_swipe_tracker_get_lower_overshoot"
              glib:get-property="lower-overshoot"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-swipe-tracker.c"
             line="1597">Gets whether to allow swiping past the first available snap point.</doc>
        <source-position filename="src/adw-swipe-tracker.h" line="56"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-swipe-tracker.c"
               line="1603">whether to allow swiping past the first available snap point</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-swipe-tracker.c"
                 line="1599">a swipe tracker</doc>
            <type name="SwipeTracker" c:type="AdwSwipeTracker*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_reversed"
              c:identifier="adw_swipe_tracker_get_reversed"
              glib:get-property="reversed">
        <doc xml:space="preserve"
             filename="src/adw-swipe-tracker.c"
             line="1473">Gets whether @self is reversing the swipe direction.</doc>
        <source-position filename="src/adw-swipe-tracker.h" line="38"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-swipe-tracker.c"
               line="1479">whether the direction is reversed</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-swipe-tracker.c"
                 line="1475">a swipe tracker</doc>
            <type name="SwipeTracker" c:type="AdwSwipeTracker*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_swipeable"
              c:identifier="adw_swipe_tracker_get_swipeable"
              glib:get-property="swipeable">
        <doc xml:space="preserve"
             filename="src/adw-swipe-tracker.c"
             line="1410">Get the widget @self is attached to.</doc>
        <source-position filename="src/adw-swipe-tracker.h" line="29"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-swipe-tracker.c"
               line="1416">the swipeable widget</doc>
          <type name="Swipeable" c:type="AdwSwipeable*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-swipe-tracker.c"
                 line="1412">a swipe tracker</doc>
            <type name="SwipeTracker" c:type="AdwSwipeTracker*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_upper_overshoot"
              c:identifier="adw_swipe_tracker_get_upper_overshoot"
              glib:get-property="upper-overshoot"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-swipe-tracker.c"
             line="1640">Gets whether to allow swiping past the last available snap point.</doc>
        <source-position filename="src/adw-swipe-tracker.h" line="62"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-swipe-tracker.c"
               line="1646">whether to allow swiping past the last available snap point</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-swipe-tracker.c"
                 line="1642">a swipe tracker</doc>
            <type name="SwipeTracker" c:type="AdwSwipeTracker*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_allow_long_swipes"
              c:identifier="adw_swipe_tracker_set_allow_long_swipes"
              glib:set-property="allow-long-swipes">
        <doc xml:space="preserve"
             filename="src/adw-swipe-tracker.c"
             line="1571">Sets whether to allow swiping for more than one snap point at a time.

If the value is `FALSE`, each swipe can only move to the adjacent snap
points.</doc>
        <source-position filename="src/adw-swipe-tracker.h" line="52"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-swipe-tracker.c"
                 line="1573">a swipe tracker</doc>
            <type name="SwipeTracker" c:type="AdwSwipeTracker*"/>
          </instance-parameter>
          <parameter name="allow_long_swipes" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-swipe-tracker.c"
                 line="1574">whether to allow long swipes</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_allow_mouse_drag"
              c:identifier="adw_swipe_tracker_set_allow_mouse_drag"
              glib:set-property="allow-mouse-drag">
        <doc xml:space="preserve"
             filename="src/adw-swipe-tracker.c"
             line="1530">Sets whether @self can be dragged with mouse pointer.</doc>
        <source-position filename="src/adw-swipe-tracker.h" line="46"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-swipe-tracker.c"
                 line="1532">a swipe tracker</doc>
            <type name="SwipeTracker" c:type="AdwSwipeTracker*"/>
          </instance-parameter>
          <parameter name="allow_mouse_drag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-swipe-tracker.c"
                 line="1533">whether to allow mouse dragging</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_allow_window_handle"
              c:identifier="adw_swipe_tracker_set_allow_window_handle"
              glib:set-property="allow-window-handle"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-swipe-tracker.c"
             line="1701">Sets whether to allow touchscreen swiping from `GtkWindowHandle`.

Setting it to `TRUE` will make dragging the window impossible.</doc>
        <source-position filename="src/adw-swipe-tracker.h" line="70"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-swipe-tracker.c"
                 line="1703">a swipe tracker</doc>
            <type name="SwipeTracker" c:type="AdwSwipeTracker*"/>
          </instance-parameter>
          <parameter name="allow_window_handle" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-swipe-tracker.c"
                 line="1704">whether to allow swiping from window handles</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_enabled"
              c:identifier="adw_swipe_tracker_set_enabled"
              glib:set-property="enabled">
        <doc xml:space="preserve"
             filename="src/adw-swipe-tracker.c"
             line="1442">Sets whether @self is enabled.

When it's not enabled, no events will be processed. Usually widgets will want
to expose this via a property.</doc>
        <source-position filename="src/adw-swipe-tracker.h" line="34"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-swipe-tracker.c"
                 line="1444">a swipe tracker</doc>
            <type name="SwipeTracker" c:type="AdwSwipeTracker*"/>
          </instance-parameter>
          <parameter name="enabled" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-swipe-tracker.c"
                 line="1445">whether @self is enabled</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_lower_overshoot"
              c:identifier="adw_swipe_tracker_set_lower_overshoot"
              glib:set-property="lower-overshoot"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-swipe-tracker.c"
             line="1615">Sets whether to allow swiping past the first available snap point.</doc>
        <source-position filename="src/adw-swipe-tracker.h" line="58"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-swipe-tracker.c"
                 line="1617">a swipe tracker</doc>
            <type name="SwipeTracker" c:type="AdwSwipeTracker*"/>
          </instance-parameter>
          <parameter name="overshoot" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-swipe-tracker.c"
                 line="1618">whether to allow swiping past the first available snap point</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_reversed"
              c:identifier="adw_swipe_tracker_set_reversed"
              glib:set-property="reversed">
        <doc xml:space="preserve"
             filename="src/adw-swipe-tracker.c"
             line="1489">Sets whether to reverse the swipe direction.

If the swipe tracker is horizontal, it can be used for supporting RTL text
direction.</doc>
        <source-position filename="src/adw-swipe-tracker.h" line="40"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-swipe-tracker.c"
                 line="1491">a swipe tracker</doc>
            <type name="SwipeTracker" c:type="AdwSwipeTracker*"/>
          </instance-parameter>
          <parameter name="reversed" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-swipe-tracker.c"
                 line="1492">whether to reverse the swipe direction</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_upper_overshoot"
              c:identifier="adw_swipe_tracker_set_upper_overshoot"
              glib:set-property="upper-overshoot"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-swipe-tracker.c"
             line="1658">Sets whether to allow swiping past the last available snap point.</doc>
        <source-position filename="src/adw-swipe-tracker.h" line="64"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-swipe-tracker.c"
                 line="1660">a swipe tracker</doc>
            <type name="SwipeTracker" c:type="AdwSwipeTracker*"/>
          </instance-parameter>
          <parameter name="overshoot" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-swipe-tracker.c"
                 line="1661">whether to allow swiping past the last available snap point</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="shift_position"
              c:identifier="adw_swipe_tracker_shift_position">
        <doc xml:space="preserve"
             filename="src/adw-swipe-tracker.c"
             line="1728">Moves the current progress value by @delta.

This can be used to adjust the current position if snap points move during
the gesture.</doc>
        <source-position filename="src/adw-swipe-tracker.h" line="74"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-swipe-tracker.c"
                 line="1730">a swipe tracker</doc>
            <type name="SwipeTracker" c:type="AdwSwipeTracker*"/>
          </instance-parameter>
          <parameter name="delta" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-swipe-tracker.c"
                 line="1731">the position delta</doc>
            <type name="gdouble" c:type="double"/>
          </parameter>
        </parameters>
      </method>
      <property name="allow-long-swipes"
                writable="1"
                transfer-ownership="none"
                setter="set_allow_long_swipes"
                getter="get_allow_long_swipes"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-swipe-tracker.c"
             line="1233">Whether to allow swiping for more than one snap point at a time.

If the value is `FALSE`, each swipe can only move to the adjacent snap
points.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="allow-mouse-drag"
                writable="1"
                transfer-ownership="none"
                setter="set_allow_mouse_drag"
                getter="get_allow_mouse_drag"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-swipe-tracker.c"
             line="1223">Whether to allow dragging with mouse pointer.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="allow-window-handle"
                version="1.5"
                writable="1"
                transfer-ownership="none"
                setter="set_allow_window_handle"
                getter="get_allow_window_handle"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-swipe-tracker.c"
             line="1270">Whether to allow touchscreen swiping from `GtkWindowHandle`.

This will make dragging the window impossible.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="enabled"
                writable="1"
                transfer-ownership="none"
                setter="set_enabled"
                getter="get_enabled"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-swipe-tracker.c"
             line="1197">Whether the swipe tracker is enabled.

When it's not enabled, no events will be processed. Usually widgets will
want to expose this via a property.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="lower-overshoot"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_lower_overshoot"
                getter="get_lower_overshoot"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-swipe-tracker.c"
             line="1246">Whether to allow swiping past the first available snap point.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="reversed"
                writable="1"
                transfer-ownership="none"
                setter="set_reversed"
                getter="get_reversed"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-swipe-tracker.c"
             line="1210">Whether to reverse the swipe direction.

If the swipe tracker is horizontal, it can be used for supporting RTL text
direction.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="swipeable"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_swipeable">
        <doc xml:space="preserve"
             filename="src/adw-swipe-tracker.c"
             line="1187">The widget the swipe tracker is attached to.</doc>
        <type name="Swipeable"/>
      </property>
      <property name="upper-overshoot"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_upper_overshoot"
                getter="get_upper_overshoot"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-swipe-tracker.c"
             line="1258">Whether to allow swiping past the last available snap point.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <glib:signal name="begin-swipe" when="first">
        <doc xml:space="preserve"
             filename="src/adw-swipe-tracker.c"
             line="1314">This signal is emitted right before a swipe will be started, after the
drag threshold has been passed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="end-swipe" when="first">
        <doc xml:space="preserve"
             filename="src/adw-swipe-tracker.c"
             line="1354">This signal is emitted as soon as the gesture has stopped.

The user is expected to animate the deceleration from the current progress
value to @to with an animation using @velocity as the initial velocity,
provided in pixels per second. [class@SpringAnimation] is usually a good
fit for this.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="velocity" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-swipe-tracker.c"
                 line="1357">the velocity of the swipe</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="to" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-swipe-tracker.c"
                 line="1358">the progress value to animate to</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="prepare" when="first">
        <doc xml:space="preserve"
             filename="src/adw-swipe-tracker.c"
             line="1290">This signal is emitted when a possible swipe is detected.

The @direction value can be used to restrict the swipe to a certain
direction.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="direction" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-swipe-tracker.c"
                 line="1293">the direction of the swipe</doc>
            <type name="NavigationDirection"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="update-swipe" when="first">
        <doc xml:space="preserve"
             filename="src/adw-swipe-tracker.c"
             line="1333">This signal is emitted every time the progress value changes.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="progress" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-swipe-tracker.c"
                 line="1336">the current animation progress value</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="SwipeTrackerClass"
            c:type="AdwSwipeTrackerClass"
            glib:is-gtype-struct-for="SwipeTracker">
      <source-position filename="src/adw-swipe-tracker.h" line="23"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <interface name="Swipeable"
               c:symbol-prefix="swipeable"
               c:type="AdwSwipeable"
               glib:type-name="AdwSwipeable"
               glib:get-type="adw_swipeable_get_type"
               glib:type-struct="SwipeableInterface">
      <doc xml:space="preserve"
           filename="src/adw-swipeable.c"
           line="11">An interface for swipeable widgets.

The `AdwSwipeable` interface is implemented by all swipeable widgets.

See [class@SwipeTracker] for details about implementing it.</doc>
      <source-position filename="src/adw-swipeable.h" line="52"/>
      <prerequisite name="Gtk.Widget"/>
      <virtual-method name="get_cancel_progress" invoker="get_cancel_progress">
        <doc xml:space="preserve"
             filename="src/adw-swipeable.c"
             line="111">Gets the progress @self will snap back to after the gesture is canceled.</doc>
        <source-position filename="src/adw-swipeable.h" line="44"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-swipeable.c"
               line="117">the cancel progress, unitless</doc>
          <type name="gdouble" c:type="double"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-swipeable.c"
                 line="113">a swipeable</doc>
            <type name="Swipeable" c:type="AdwSwipeable*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_distance" invoker="get_distance">
        <doc xml:space="preserve"
             filename="src/adw-swipeable.c"
             line="41">Gets the swipe distance of @self.

This corresponds to how many pixels 1 unit represents.</doc>
        <source-position filename="src/adw-swipeable.h" line="40"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-swipeable.c"
               line="49">the swipe distance in pixels</doc>
          <type name="gdouble" c:type="double"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-swipeable.c"
                 line="43">a swipeable</doc>
            <type name="Swipeable" c:type="AdwSwipeable*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_progress" invoker="get_progress">
        <doc xml:space="preserve"
             filename="src/adw-swipeable.c"
             line="90">Gets the current progress of @self.</doc>
        <source-position filename="src/adw-swipeable.h" line="43"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-swipeable.c"
               line="96">the current progress, unitless</doc>
          <type name="gdouble" c:type="double"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-swipeable.c"
                 line="92">a swipeable</doc>
            <type name="Swipeable" c:type="AdwSwipeable*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_snap_points" invoker="get_snap_points">
        <doc xml:space="preserve"
             filename="src/adw-swipeable.c"
             line="64">Gets the snap points of @self.

Each snap point represents a progress value that is considered acceptable to
end the swipe on.</doc>
        <source-position filename="src/adw-swipeable.h" line="41"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/adw-swipeable.c"
               line="74">the snap points</doc>
          <array length="0" zero-terminated="0" c:type="double*">
            <type name="gdouble" c:type="double"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-swipeable.c"
                 line="66">a swipeable</doc>
            <type name="Swipeable" c:type="AdwSwipeable*"/>
          </instance-parameter>
          <parameter name="n_snap_points"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/adw-swipeable.c"
                 line="67">location to return the number of the snap points</doc>
            <type name="gint" c:type="int*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_swipe_area" invoker="get_swipe_area">
        <doc xml:space="preserve"
             filename="src/adw-swipeable.c"
             line="132">Gets the area @self can start a swipe from for the given direction and
gesture type.

This can be used to restrict swipes to only be possible from a certain area,
for example, to only allow edge swipes, or to have a draggable element and
ignore swipes elsewhere.

If not implemented, the default implementation returns the allocation of
@self, allowing swipes from anywhere.</doc>
        <source-position filename="src/adw-swipeable.h" line="45"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-swipeable.c"
                 line="134">a swipeable</doc>
            <type name="Swipeable" c:type="AdwSwipeable*"/>
          </instance-parameter>
          <parameter name="navigation_direction" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-swipeable.c"
                 line="135">the direction of the swipe</doc>
            <type name="NavigationDirection" c:type="AdwNavigationDirection"/>
          </parameter>
          <parameter name="is_drag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-swipeable.c"
                 line="136">whether the swipe is caused by a dragging gesture</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="rect"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-swipeable.c"
                 line="137">a pointer to a rectangle to store the swipe area</doc>
            <type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="get_cancel_progress"
              c:identifier="adw_swipeable_get_cancel_progress">
        <doc xml:space="preserve"
             filename="src/adw-swipeable.c"
             line="111">Gets the progress @self will snap back to after the gesture is canceled.</doc>
        <source-position filename="src/adw-swipeable.h" line="65"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-swipeable.c"
               line="117">the cancel progress, unitless</doc>
          <type name="gdouble" c:type="double"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-swipeable.c"
                 line="113">a swipeable</doc>
            <type name="Swipeable" c:type="AdwSwipeable*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_distance" c:identifier="adw_swipeable_get_distance">
        <doc xml:space="preserve"
             filename="src/adw-swipeable.c"
             line="41">Gets the swipe distance of @self.

This corresponds to how many pixels 1 unit represents.</doc>
        <source-position filename="src/adw-swipeable.h" line="55"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-swipeable.c"
               line="49">the swipe distance in pixels</doc>
          <type name="gdouble" c:type="double"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-swipeable.c"
                 line="43">a swipeable</doc>
            <type name="Swipeable" c:type="AdwSwipeable*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_progress" c:identifier="adw_swipeable_get_progress">
        <doc xml:space="preserve"
             filename="src/adw-swipeable.c"
             line="90">Gets the current progress of @self.</doc>
        <source-position filename="src/adw-swipeable.h" line="62"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-swipeable.c"
               line="96">the current progress, unitless</doc>
          <type name="gdouble" c:type="double"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-swipeable.c"
                 line="92">a swipeable</doc>
            <type name="Swipeable" c:type="AdwSwipeable*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_snap_points"
              c:identifier="adw_swipeable_get_snap_points">
        <doc xml:space="preserve"
             filename="src/adw-swipeable.c"
             line="64">Gets the snap points of @self.

Each snap point represents a progress value that is considered acceptable to
end the swipe on.</doc>
        <source-position filename="src/adw-swipeable.h" line="58"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/adw-swipeable.c"
               line="74">the snap points</doc>
          <array length="0" zero-terminated="0" c:type="double*">
            <type name="gdouble" c:type="double"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-swipeable.c"
                 line="66">a swipeable</doc>
            <type name="Swipeable" c:type="AdwSwipeable*"/>
          </instance-parameter>
          <parameter name="n_snap_points"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/adw-swipeable.c"
                 line="67">location to return the number of the snap points</doc>
            <type name="gint" c:type="int*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_swipe_area"
              c:identifier="adw_swipeable_get_swipe_area">
        <doc xml:space="preserve"
             filename="src/adw-swipeable.c"
             line="132">Gets the area @self can start a swipe from for the given direction and
gesture type.

This can be used to restrict swipes to only be possible from a certain area,
for example, to only allow edge swipes, or to have a draggable element and
ignore swipes elsewhere.

If not implemented, the default implementation returns the allocation of
@self, allowing swipes from anywhere.</doc>
        <source-position filename="src/adw-swipeable.h" line="68"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-swipeable.c"
                 line="134">a swipeable</doc>
            <type name="Swipeable" c:type="AdwSwipeable*"/>
          </instance-parameter>
          <parameter name="navigation_direction" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-swipeable.c"
                 line="135">the direction of the swipe</doc>
            <type name="NavigationDirection" c:type="AdwNavigationDirection"/>
          </parameter>
          <parameter name="is_drag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-swipeable.c"
                 line="136">whether the swipe is caused by a dragging gesture</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="rect"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-swipeable.c"
                 line="137">a pointer to a rectangle to store the swipe area</doc>
            <type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
          </parameter>
        </parameters>
      </method>
    </interface>
    <record name="SwipeableInterface"
            c:type="AdwSwipeableInterface"
            glib:is-gtype-struct-for="Swipeable">
      <doc xml:space="preserve"
           filename="src/adw-swipeable.h"
           line="25">An interface for swipeable widgets.</doc>
      <source-position filename="src/adw-swipeable.h" line="52"/>
      <field name="parent">
        <doc xml:space="preserve"
             filename="src/adw-swipeable.h"
             line="27">The parent interface.</doc>
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="get_distance">
        <doc xml:space="preserve"
             filename="src/adw-swipeable.h"
             line="28">Gets the swipe distance.</doc>
        <callback name="get_distance">
          <source-position filename="src/adw-swipeable.h" line="40"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-swipeable.c"
                 line="49">the swipe distance in pixels</doc>
            <type name="gdouble" c:type="double"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/adw-swipeable.c"
                   line="43">a swipeable</doc>
              <type name="Swipeable" c:type="AdwSwipeable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_snap_points">
        <doc xml:space="preserve"
             filename="src/adw-swipeable.h"
             line="29">Gets the snap points.</doc>
        <callback name="get_snap_points">
          <source-position filename="src/adw-swipeable.h" line="41"/>
          <return-value transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/adw-swipeable.c"
                 line="74">the snap points</doc>
            <array length="1" zero-terminated="0" c:type="double*">
              <type name="gdouble" c:type="double"/>
            </array>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/adw-swipeable.c"
                   line="66">a swipeable</doc>
              <type name="Swipeable" c:type="AdwSwipeable*"/>
            </parameter>
            <parameter name="n_snap_points"
                       direction="out"
                       caller-allocates="0"
                       transfer-ownership="full">
              <doc xml:space="preserve"
                   filename="src/adw-swipeable.c"
                   line="67">location to return the number of the snap points</doc>
              <type name="gint" c:type="int*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_progress">
        <doc xml:space="preserve"
             filename="src/adw-swipeable.h"
             line="30">Gets the current progress.</doc>
        <callback name="get_progress">
          <source-position filename="src/adw-swipeable.h" line="43"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-swipeable.c"
                 line="96">the current progress, unitless</doc>
            <type name="gdouble" c:type="double"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/adw-swipeable.c"
                   line="92">a swipeable</doc>
              <type name="Swipeable" c:type="AdwSwipeable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_cancel_progress">
        <doc xml:space="preserve"
             filename="src/adw-swipeable.h"
             line="31">Gets the cancel progress.</doc>
        <callback name="get_cancel_progress">
          <source-position filename="src/adw-swipeable.h" line="44"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-swipeable.c"
                 line="117">the cancel progress, unitless</doc>
            <type name="gdouble" c:type="double"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/adw-swipeable.c"
                   line="113">a swipeable</doc>
              <type name="Swipeable" c:type="AdwSwipeable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_swipe_area">
        <doc xml:space="preserve"
             filename="src/adw-swipeable.h"
             line="32">Gets the swipeable rectangle.</doc>
        <callback name="get_swipe_area">
          <source-position filename="src/adw-swipeable.h" line="45"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/adw-swipeable.c"
                   line="134">a swipeable</doc>
              <type name="Swipeable" c:type="AdwSwipeable*"/>
            </parameter>
            <parameter name="navigation_direction" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/adw-swipeable.c"
                   line="135">the direction of the swipe</doc>
              <type name="NavigationDirection"
                    c:type="AdwNavigationDirection"/>
            </parameter>
            <parameter name="is_drag" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/adw-swipeable.c"
                   line="136">whether the swipe is caused by a dragging gesture</doc>
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
            <parameter name="rect"
                       direction="out"
                       caller-allocates="1"
                       transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/adw-swipeable.c"
                   line="137">a pointer to a rectangle to store the swipe area</doc>
              <type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="padding" readable="0" private="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <class name="SwitchRow"
           c:symbol-prefix="switch_row"
           c:type="AdwSwitchRow"
           version="1.4"
           parent="ActionRow"
           final="1"
           glib:type-name="AdwSwitchRow"
           glib:get-type="adw_switch_row_get_type"
           glib:type-struct="SwitchRowClass">
      <doc xml:space="preserve"
           filename="src/adw-switch-row.c"
           line="11">A [class@Gtk.ListBoxRow] used to represent two states.

&lt;picture&gt;
  &lt;source srcset="switch-row-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="switch-row.png" alt="switch-row"&gt;
&lt;/picture&gt;

The `AdwSwitchRow` widget contains a [class@Gtk.Switch] that allows the user
to select between two states: "on" or "off". When activated, the row will
invert its active state.

The user can control the switch by activating the row or by dragging on the
switch handle.

See [class@Gtk.Switch] for details.

Example of an `AdwSwitchRow` UI definition:
```xml
&lt;object class="AdwSwitchRow"&gt;
  &lt;property name="title" translatable="yes"&gt;Switch Row&lt;/property&gt;
  &lt;signal name="notify::active" handler="switch_row_notify_active_cb"/&gt;
&lt;/object&gt;
```

The [property@SwitchRow:active] property should be connected to in order to
monitor changes to the active state.

## Accessibility

`AdwSwitchRow` uses the `GTK_ACCESSIBLE_ROLE_SWITCH` role.</doc>
      <source-position filename="src/adw-switch-row.h" line="22"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Actionable"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <constructor name="new" c:identifier="adw_switch_row_new" version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-switch-row.c"
             line="174">Creates a new `AdwSwitchRow`.</doc>
        <source-position filename="src/adw-switch-row.h" line="25"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-switch-row.c"
               line="179">the newly created `AdwSwitchRow`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="get_active"
              c:identifier="adw_switch_row_get_active"
              glib:get-property="active"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-switch-row.c"
             line="189">Gets whether @self is in its "on" or "off" position.</doc>
        <source-position filename="src/adw-switch-row.h" line="28"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-switch-row.c"
               line="195">whether @self is active or not</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-switch-row.c"
                 line="191">a switch row</doc>
            <type name="SwitchRow" c:type="AdwSwitchRow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_active"
              c:identifier="adw_switch_row_set_active"
              glib:set-property="active"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-switch-row.c"
             line="207">Sets whether @self is in its "on" or "off" position</doc>
        <source-position filename="src/adw-switch-row.h" line="30"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-switch-row.c"
                 line="209">a switch row</doc>
            <type name="SwitchRow" c:type="AdwSwitchRow*"/>
          </instance-parameter>
          <parameter name="is_active" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-switch-row.c"
                 line="210">whether @self should be active</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="active"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_active"
                getter="get_active"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-switch-row.c"
             line="133">Whether the switch row is in the "on" or "off" position.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
    </class>
    <record name="SwitchRowClass"
            c:type="AdwSwitchRowClass"
            glib:is-gtype-struct-for="SwitchRow">
      <source-position filename="src/adw-switch-row.h" line="22"/>
      <field name="parent_class">
        <type name="ActionRowClass" c:type="AdwActionRowClass"/>
      </field>
    </record>
    <class name="TabBar"
           c:symbol-prefix="tab_bar"
           c:type="AdwTabBar"
           parent="Gtk.Widget"
           final="1"
           glib:type-name="AdwTabBar"
           glib:get-type="adw_tab_bar_get_type"
           glib:type-struct="TabBarClass">
      <doc xml:space="preserve"
           filename="src/adw-tab-bar.c"
           line="17">A tab bar for [class@TabView].

&lt;picture&gt;
  &lt;source srcset="tab-bar-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="tab-bar.png" alt="tab-bar"&gt;
&lt;/picture&gt;

The `AdwTabBar` widget is a tab bar that can be used with conjunction with
`AdwTabView`. It is typically used as a top bar within [class@ToolbarView].

`AdwTabBar` can autohide and can optionally contain action widgets on both
sides of the tabs.

When there's not enough space to show all the tabs, `AdwTabBar` will scroll
them. Pinned tabs always stay visible and aren't a part of the scrollable
area.

## CSS nodes

`AdwTabBar` has a single CSS node with name `tabbar`.

## Style classes

By default `AdwTabBar` look like a part of an `AdwHeaderBar` and is intended
to be used directly attached to one or used as a [class@ToolbarView] toolbar.
The [`.inline`](style-classes.html#inline) style class removes its background,
so that it can be used in different contexts instead.

&lt;picture&gt;
  &lt;source srcset="tab-bar-inline-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="tab-bar-inline.png" alt="tab-bar-inline"&gt;
&lt;/picture&gt;</doc>
      <source-position filename="src/adw-tab-bar.h" line="26"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <constructor name="new" c:identifier="adw_tab_bar_new">
        <doc xml:space="preserve"
             filename="src/adw-tab-bar.c"
             line="747">Creates a new `AdwTabBar`.</doc>
        <source-position filename="src/adw-tab-bar.h" line="29"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-bar.c"
               line="752">the newly created `AdwTabBar`</doc>
          <type name="TabBar" c:type="AdwTabBar*"/>
        </return-value>
      </constructor>
      <method name="get_autohide"
              c:identifier="adw_tab_bar_get_autohide"
              glib:get-property="autohide">
        <doc xml:space="preserve"
             filename="src/adw-tab-bar.c"
             line="938">Gets whether the tabs automatically hide.</doc>
        <source-position filename="src/adw-tab-bar.h" line="50"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-bar.c"
               line="944">whether the tabs automatically hide</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-bar.c"
                 line="940">a tab bar</doc>
            <type name="TabBar" c:type="AdwTabBar*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_end_action_widget"
              c:identifier="adw_tab_bar_get_end_action_widget"
              glib:get-property="end-action-widget">
        <doc xml:space="preserve"
             filename="src/adw-tab-bar.c"
             line="895">Gets the widget shown after the tabs.</doc>
        <source-position filename="src/adw-tab-bar.h" line="44"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-tab-bar.c"
               line="901">the widget shown after the tabs</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-bar.c"
                 line="897">a tab bar</doc>
            <type name="TabBar" c:type="AdwTabBar*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_expand_tabs"
              c:identifier="adw_tab_bar_get_expand_tabs"
              glib:get-property="expand-tabs">
        <doc xml:space="preserve"
             filename="src/adw-tab-bar.c"
             line="1002">Gets whether tabs expand to full width.</doc>
        <source-position filename="src/adw-tab-bar.h" line="59"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-bar.c"
               line="1008">whether tabs expand to full width.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-bar.c"
                 line="1004">a tab bar</doc>
            <type name="TabBar" c:type="AdwTabBar*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_extra_drag_preferred_action"
              c:identifier="adw_tab_bar_get_extra_drag_preferred_action"
              glib:get-property="extra-drag-preferred-action"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-tab-bar.c"
             line="1119">Gets the current action during a drop on the extra_drop_target.</doc>
        <source-position filename="src/adw-tab-bar.h" line="77"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-bar.c"
               line="1125">the drag action of the current drop.</doc>
          <type name="Gdk.DragAction" c:type="GdkDragAction"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-bar.c"
                 line="1121">a tab bar</doc>
            <type name="TabBar" c:type="AdwTabBar*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_extra_drag_preload"
              c:identifier="adw_tab_bar_get_extra_drag_preload"
              glib:get-property="extra-drag-preload"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-tab-bar.c"
             line="1137">Gets whether drop data should be preloaded on hover.</doc>
        <source-position filename="src/adw-tab-bar.h" line="80"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-bar.c"
               line="1143">whether drop data should be preloaded on hover</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-bar.c"
                 line="1139">a tab bar</doc>
            <type name="TabBar" c:type="AdwTabBar*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_inverted"
              c:identifier="adw_tab_bar_get_inverted"
              glib:get-property="inverted">
        <doc xml:space="preserve"
             filename="src/adw-tab-bar.c"
             line="1044">Gets whether tabs use inverted layout.</doc>
        <source-position filename="src/adw-tab-bar.h" line="65"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-bar.c"
               line="1050">whether tabs use inverted layout</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-bar.c"
                 line="1046">a tab bar</doc>
            <type name="TabBar" c:type="AdwTabBar*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_is_overflowing"
              c:identifier="adw_tab_bar_get_is_overflowing"
              glib:get-property="is-overflowing">
        <doc xml:space="preserve"
             filename="src/adw-tab-bar.c"
             line="1181">Gets whether @self is overflowing.

If `TRUE`, all tabs cannot be displayed at once and require scrolling.</doc>
        <source-position filename="src/adw-tab-bar.h" line="86"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-bar.c"
               line="1189">whether @self is overflowing</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-bar.c"
                 line="1183">a tab bar</doc>
            <type name="TabBar" c:type="AdwTabBar*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_start_action_widget"
              c:identifier="adw_tab_bar_get_start_action_widget"
              glib:get-property="start-action-widget">
        <doc xml:space="preserve"
             filename="src/adw-tab-bar.c"
             line="852">Gets the widget shown before the tabs.</doc>
        <source-position filename="src/adw-tab-bar.h" line="38"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-tab-bar.c"
               line="858">the widget shown before the tabs</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-bar.c"
                 line="854">a tab bar</doc>
            <type name="TabBar" c:type="AdwTabBar*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_tabs_revealed"
              c:identifier="adw_tab_bar_get_tabs_revealed"
              glib:get-property="tabs-revealed">
        <doc xml:space="preserve"
             filename="src/adw-tab-bar.c"
             line="984">Gets whether the tabs are currently revealed.

See [property@TabBar:autohide].</doc>
        <source-position filename="src/adw-tab-bar.h" line="56"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-bar.c"
               line="992">whether the tabs are currently revealed</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-bar.c"
                 line="986">a tab bar</doc>
            <type name="TabBar" c:type="AdwTabBar*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_view"
              c:identifier="adw_tab_bar_get_view"
              glib:get-property="view">
        <doc xml:space="preserve"
             filename="src/adw-tab-bar.c"
             line="760">Gets the tab view @self controls.</doc>
        <source-position filename="src/adw-tab-bar.h" line="32"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-tab-bar.c"
               line="766">the view @self controls</doc>
          <type name="TabView" c:type="AdwTabView*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-bar.c"
                 line="762">a tab bar</doc>
            <type name="TabBar" c:type="AdwTabBar*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_autohide"
              c:identifier="adw_tab_bar_set_autohide"
              glib:set-property="autohide">
        <doc xml:space="preserve"
             filename="src/adw-tab-bar.c"
             line="954">Sets whether the tabs automatically hide.

If set to `TRUE`, the tab bar disappears when [property@TabBar:view] has 0
or 1 tab, no pinned tabs, and no tab is being transferred.

See [property@TabBar:tabs-revealed].</doc>
        <source-position filename="src/adw-tab-bar.h" line="52"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-bar.c"
                 line="956">a tab bar</doc>
            <type name="TabBar" c:type="AdwTabBar*"/>
          </instance-parameter>
          <parameter name="autohide" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-bar.c"
                 line="957">whether the tabs automatically hide</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_end_action_widget"
              c:identifier="adw_tab_bar_set_end_action_widget"
              glib:set-property="end-action-widget">
        <doc xml:space="preserve"
             filename="src/adw-tab-bar.c"
             line="911">Sets the widget to show after the tabs.</doc>
        <source-position filename="src/adw-tab-bar.h" line="46"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-bar.c"
                 line="913">a tab bar</doc>
            <type name="TabBar" c:type="AdwTabBar*"/>
          </instance-parameter>
          <parameter name="widget"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-tab-bar.c"
                 line="914">the widget to show after the tabs</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_expand_tabs"
              c:identifier="adw_tab_bar_set_expand_tabs"
              glib:set-property="expand-tabs">
        <doc xml:space="preserve"
             filename="src/adw-tab-bar.c"
             line="1018">Sets whether tabs expand to full width.

If set to `TRUE`, the tabs will always vary width filling the whole width
when possible, otherwise tabs will always have the minimum possible size.</doc>
        <source-position filename="src/adw-tab-bar.h" line="61"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-bar.c"
                 line="1020">a tab bar</doc>
            <type name="TabBar" c:type="AdwTabBar*"/>
          </instance-parameter>
          <parameter name="expand_tabs" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-bar.c"
                 line="1021">whether to expand tabs</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_extra_drag_preload"
              c:identifier="adw_tab_bar_set_extra_drag_preload"
              glib:set-property="extra-drag-preload"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-tab-bar.c"
             line="1155">Sets whether drop data should be preloaded on hover.

See [property@Gtk.DropTarget:preload].</doc>
        <source-position filename="src/adw-tab-bar.h" line="82"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-bar.c"
                 line="1157">a tab bar</doc>
            <type name="TabBar" c:type="AdwTabBar*"/>
          </instance-parameter>
          <parameter name="preload" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-bar.c"
                 line="1158">whether to preload drop data</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_inverted"
              c:identifier="adw_tab_bar_set_inverted"
              glib:set-property="inverted">
        <doc xml:space="preserve"
             filename="src/adw-tab-bar.c"
             line="1060">Sets whether tabs tabs use inverted layout.

If set to `TRUE`, non-pinned tabs will have the close button at the beginning
and the indicator at the end rather than the opposite.</doc>
        <source-position filename="src/adw-tab-bar.h" line="67"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-bar.c"
                 line="1062">a tab bar</doc>
            <type name="TabBar" c:type="AdwTabBar*"/>
          </instance-parameter>
          <parameter name="inverted" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-bar.c"
                 line="1063">whether tabs use inverted layout</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_start_action_widget"
              c:identifier="adw_tab_bar_set_start_action_widget"
              glib:set-property="start-action-widget">
        <doc xml:space="preserve"
             filename="src/adw-tab-bar.c"
             line="868">Sets the widget to show before the tabs.</doc>
        <source-position filename="src/adw-tab-bar.h" line="40"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-bar.c"
                 line="870">a tab bar</doc>
            <type name="TabBar" c:type="AdwTabBar*"/>
          </instance-parameter>
          <parameter name="widget"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-tab-bar.c"
                 line="871">the widget to show before the tabs</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_view"
              c:identifier="adw_tab_bar_set_view"
              glib:set-property="view">
        <doc xml:space="preserve"
             filename="src/adw-tab-bar.c"
             line="776">Sets the tab view @self controls.</doc>
        <source-position filename="src/adw-tab-bar.h" line="34"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-bar.c"
                 line="778">a tab bar</doc>
            <type name="TabBar" c:type="AdwTabBar*"/>
          </instance-parameter>
          <parameter name="view"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-tab-bar.c"
                 line="779">a tab view</doc>
            <type name="TabView" c:type="AdwTabView*"/>
          </parameter>
        </parameters>
      </method>
      <method name="setup_extra_drop_target"
              c:identifier="adw_tab_bar_setup_extra_drop_target">
        <doc xml:space="preserve"
             filename="src/adw-tab-bar.c"
             line="1086">Sets the supported types for this drop target.

Sets up an extra drop target on tabs.

This allows to drag arbitrary content onto tabs, for example URLs in a web
browser.

If a tab is hovered for a certain period of time while dragging the content,
it will be automatically selected.

The [signal@TabBar::extra-drag-drop] signal can be used to handle the drop.</doc>
        <source-position filename="src/adw-tab-bar.h" line="71"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-bar.c"
                 line="1088">a tab bar</doc>
            <type name="TabBar" c:type="AdwTabBar*"/>
          </instance-parameter>
          <parameter name="actions" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-bar.c"
                 line="1089">the supported actions</doc>
            <type name="Gdk.DragAction" c:type="GdkDragAction"/>
          </parameter>
          <parameter name="types"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-tab-bar.c"
                 line="1090">
  all supported `GType`s that can be dropped</doc>
            <array length="2" zero-terminated="0" c:type="GType*">
              <type name="GType" c:type="GType"/>
            </array>
          </parameter>
          <parameter name="n_types" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-bar.c"
                 line="1092">number of @types</doc>
            <type name="gsize" c:type="gsize"/>
          </parameter>
        </parameters>
      </method>
      <property name="autohide"
                writable="1"
                transfer-ownership="none"
                setter="set_autohide"
                getter="get_autohide"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-tab-bar.c"
             line="493">Whether the tabs automatically hide.

If set to `TRUE`, the tab bar disappears when [property@TabBar:view] has 0
or 1 tab, no pinned tabs, and no tab is being transferred.

See [property@TabBar:tabs-revealed].</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="end-action-widget"
                writable="1"
                transfer-ownership="none"
                setter="set_end_action_widget"
                getter="get_end_action_widget">
        <doc xml:space="preserve"
             filename="src/adw-tab-bar.c"
             line="483">The widget shown after the tabs.</doc>
        <type name="Gtk.Widget"/>
      </property>
      <property name="expand-tabs"
                writable="1"
                transfer-ownership="none"
                setter="set_expand_tabs"
                getter="get_expand_tabs"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-tab-bar.c"
             line="520">Whether tabs expand to full width.

If set to `TRUE`, the tabs will always vary width filling the whole width
when possible, otherwise tabs will always have the minimum possible size.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="extra-drag-preferred-action"
                version="1.4"
                transfer-ownership="none"
                getter="get_extra_drag_preferred_action"
                default-value="0">
        <doc xml:space="preserve"
             filename="src/adw-tab-bar.c"
             line="558">The unique action on the `current-drop` of the
[signal@TabBar::extra-drag-drop].

This property should only be used during a [signal@TabBar::extra-drag-drop]
and is always a subset of what was originally passed to
[method@TabBar.setup_extra_drop_target].</doc>
        <type name="Gdk.DragAction"/>
      </property>
      <property name="extra-drag-preload"
                version="1.3"
                writable="1"
                transfer-ownership="none"
                setter="set_extra_drag_preload"
                getter="get_extra_drag_preload"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-tab-bar.c"
             line="575">Whether the drop data should be preloaded on hover.

See [property@Gtk.DropTarget:preload].</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="inverted"
                writable="1"
                transfer-ownership="none"
                setter="set_inverted"
                getter="get_inverted"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-tab-bar.c"
             line="533">Whether tabs use inverted layout.

If set to `TRUE`, non-pinned tabs will have the close button at the
beginning and the indicator at the end rather than the opposite.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="is-overflowing"
                transfer-ownership="none"
                getter="get_is_overflowing"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-tab-bar.c"
             line="546">Whether the tab bar is overflowing.

If `TRUE`, all tabs cannot be displayed at once and require scrolling.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="start-action-widget"
                writable="1"
                transfer-ownership="none"
                setter="set_start_action_widget"
                getter="get_start_action_widget">
        <doc xml:space="preserve"
             filename="src/adw-tab-bar.c"
             line="473">The widget shown before the tabs.</doc>
        <type name="Gtk.Widget"/>
      </property>
      <property name="tabs-revealed"
                transfer-ownership="none"
                getter="get_tabs_revealed"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-tab-bar.c"
             line="508">Whether the tabs are currently revealed.

See [property@TabBar:autohide].</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="view"
                writable="1"
                transfer-ownership="none"
                setter="set_view"
                getter="get_view">
        <doc xml:space="preserve"
             filename="src/adw-tab-bar.c"
             line="463">The tab view the tab bar controls.</doc>
        <type name="TabView"/>
      </property>
      <glib:signal name="extra-drag-drop" when="last">
        <doc xml:space="preserve"
             filename="src/adw-tab-bar.c"
             line="591">This signal is emitted when content is dropped onto a tab.

The content must be of one of the types set up via
[method@TabBar.setup_extra_drop_target].

See [signal@Gtk.DropTarget::drop].</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-bar.c"
               line="604">whether the drop was accepted for @page</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="page" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-bar.c"
                 line="594">the page matching the tab the content was dropped onto</doc>
            <type name="TabPage"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-bar.c"
                 line="595">the `GValue` being dropped</doc>
            <type name="GObject.Value"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="extra-drag-value" when="last" version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-tab-bar.c"
             line="618">This signal is emitted when the dropped content is preloaded.

In order for data to be preloaded, [property@TabBar:extra-drag-preload]
must be set to `TRUE`.

The content must be of one of the types set up via
[method@TabBar.setup_extra_drop_target].

See [property@Gtk.DropTarget:value].</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-bar.c"
               line="634">the preferred action for the drop on @page</doc>
          <type name="Gdk.DragAction"/>
        </return-value>
        <parameters>
          <parameter name="page" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-bar.c"
                 line="621">the page matching the tab the content was dropped onto</doc>
            <type name="TabPage"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-bar.c"
                 line="622">the `GValue` being dropped</doc>
            <type name="GObject.Value"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="TabBarClass"
            c:type="AdwTabBarClass"
            glib:is-gtype-struct-for="TabBar">
      <source-position filename="src/adw-tab-bar.h" line="26"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
    </record>
    <class name="TabButton"
           c:symbol-prefix="tab_button"
           c:type="AdwTabButton"
           version="1.3"
           parent="Gtk.Widget"
           final="1"
           glib:type-name="AdwTabButton"
           glib:get-type="adw_tab_button_get_type"
           glib:type-struct="TabButtonClass">
      <doc xml:space="preserve"
           filename="src/adw-tab-button.c"
           line="18">A button that displays the number of [class@TabView] pages.

&lt;picture&gt;
  &lt;source srcset="tab-button-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="tab-button.png" alt="tab-button"&gt;
&lt;/picture&gt;

`AdwTabButton` is a button that displays the number of pages in a given
`AdwTabView`, as well as whether one of the inactive pages needs attention.

It's intended to be used as a visible indicator when there's no visible tab
bar, typically opening an [class@TabOverview] on click, e.g. via the
`overview.open` action name:

```xml
&lt;object class="AdwTabButton"&gt;
  &lt;property name="view"&gt;view&lt;/property&gt;
  &lt;property name="action-name"&gt;overview.open&lt;/property&gt;
&lt;/object&gt;
```

## CSS nodes

`AdwTabButton` has a main CSS node with name `tabbutton`.

# Accessibility

`AdwTabButton` uses the `GTK_ACCESSIBLE_ROLE_BUTTON` role.</doc>
      <source-position filename="src/adw-tab-button.h" line="25"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Actionable"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <constructor name="new" c:identifier="adw_tab_button_new" version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-tab-button.c"
             line="388">Creates a new `AdwTabButton`.</doc>
        <source-position filename="src/adw-tab-button.h" line="28"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-button.c"
               line="393">the newly created `AdwTabButton`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="get_view"
              c:identifier="adw_tab_button_get_view"
              glib:get-property="view"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-tab-button.c"
             line="403">Gets the tab view @self displays.</doc>
        <source-position filename="src/adw-tab-button.h" line="31"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-tab-button.c"
               line="409">the tab view</doc>
          <type name="TabView" c:type="AdwTabView*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-button.c"
                 line="405">a tab button</doc>
            <type name="TabButton" c:type="AdwTabButton*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_view"
              c:identifier="adw_tab_button_set_view"
              glib:set-property="view"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-tab-button.c"
             line="421">Sets the tab view to display.</doc>
        <source-position filename="src/adw-tab-button.h" line="33"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-button.c"
                 line="423">a tab button</doc>
            <type name="TabButton" c:type="AdwTabButton*"/>
          </instance-parameter>
          <parameter name="view"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-tab-button.c"
                 line="424">a tab view</doc>
            <type name="TabView" c:type="AdwTabView*"/>
          </parameter>
        </parameters>
      </method>
      <property name="view"
                version="1.3"
                writable="1"
                transfer-ownership="none"
                setter="set_view"
                getter="get_view">
        <doc xml:space="preserve"
             filename="src/adw-tab-button.c"
             line="251">The view the tab button displays.</doc>
        <type name="TabView"/>
      </property>
      <glib:signal name="activate" when="first" action="1" version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-tab-button.c"
             line="289">Emitted to animate press then release.

This is an action signal. Applications should never connect to this signal,
but use the [signal@TabButton::clicked] signal.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="clicked" when="first" action="1" version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-tab-button.c"
             line="268">Emitted when the button has been activated (pressed and released).</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="TabButtonClass"
            c:type="AdwTabButtonClass"
            glib:is-gtype-struct-for="TabButton">
      <source-position filename="src/adw-tab-button.h" line="25"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
    </record>
    <class name="TabOverview"
           c:symbol-prefix="tab_overview"
           c:type="AdwTabOverview"
           version="1.3"
           parent="Gtk.Widget"
           final="1"
           glib:type-name="AdwTabOverview"
           glib:get-type="adw_tab_overview_get_type"
           glib:type-struct="TabOverviewClass">
      <doc xml:space="preserve"
           filename="src/adw-tab-overview.c"
           line="31">A tab overview for [class@TabView].

&lt;picture&gt;
  &lt;source srcset="tab-overview-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="tab-overview.png" alt="tab-overview"&gt;
&lt;/picture&gt;

`AdwTabOverview` is a widget that can display tabs from an `AdwTabView` in a
grid.

`AdwTabOverview` shows a thumbnail for each tab. By default thumbnails are
static for all pages except the selected one. They can be made always live
by setting [property@TabPage:live-thumbnail] to `TRUE`, or refreshed with
[method@TabPage.invalidate_thumbnail] or
[method@TabView.invalidate_thumbnails] otherwise.

If the pages are too tall or too wide, the thumbnails will be cropped; use
[property@TabPage:thumbnail-xalign] and [property@TabPage:thumbnail-yalign] to
control which part of the page should be visible in this case.

Pinned tabs are shown as smaller cards without thumbnails above the other
tabs. Unlike in [class@TabBar], they still have titles, as well as an unpin
button.

`AdwTabOverview` provides search in open tabs. It searches in tab titles and
tooltips, as well as [property@TabPage:keyword].

If [property@TabOverview:enable-new-tab] is set to `TRUE`, a new tab button
will be shown. Connect to the [signal@TabOverview::create-tab] signal to use
it.

[property@TabOverview:secondary-menu] can be used to provide a secondary menu
for the overview. Use it to add extra actions, e.g. to open a new window or
undo closed tab.

`AdwTabOverview` is intended to be used as the direct child of the window,
with the rest of the window contents set as the [property@TabOverview:child].
The child is expected to contain an [class@TabView].

`AdwTabOverview` shows window buttons by default. They can be disabled by
setting [property@TabOverview:show-start-title-buttons] and/or
[property@TabOverview:show-start-title-buttons] and/or
[property@TabOverview:show-end-title-buttons] to `FALSE`.

If search and window buttons are disabled, and secondary menu is not set, the
header bar will be hidden.

## Actions

`AdwTabOverview` defines the `overview.open` and `overview.close` actions for
opening and closing itself. They can be convenient when used together with
[class@TabButton].

## CSS nodes

`AdwTabOverview` has a single CSS node with name `taboverview`.</doc>
      <source-position filename="src/adw-tab-overview.h" line="25"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <constructor name="new"
                   c:identifier="adw_tab_overview_new"
                   version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-tab-overview.c"
             line="1912">Creates a new `AdwTabOverview`.</doc>
        <source-position filename="src/adw-tab-overview.h" line="28"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-overview.c"
               line="1917">the newly created `AdwTabOverview`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="get_child"
              c:identifier="adw_tab_overview_get_child"
              glib:get-property="child"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-tab-overview.c"
             line="2023">Gets the child widget of @self.</doc>
        <source-position filename="src/adw-tab-overview.h" line="37"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-tab-overview.c"
               line="2029">the child widget of @self</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-overview.c"
                 line="2025">a tab overview</doc>
            <type name="TabOverview" c:type="AdwTabOverview*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_enable_new_tab"
              c:identifier="adw_tab_overview_get_enable_new_tab"
              glib:get-property="enable-new-tab"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-tab-overview.c"
             line="2303">Gets whether to new tab button is enabled for @self.</doc>
        <source-position filename="src/adw-tab-overview.h" line="64"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-overview.c"
               line="2309">whether new tab button is enabled</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-overview.c"
                 line="2305">a tab overview</doc>
            <type name="TabOverview" c:type="AdwTabOverview*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_enable_search"
              c:identifier="adw_tab_overview_get_enable_search"
              glib:get-property="enable-search"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-tab-overview.c"
             line="2223">Gets whether search in tabs is enabled for @self.</doc>
        <source-position filename="src/adw-tab-overview.h" line="55"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-overview.c"
               line="2229">whether search is enabled</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-overview.c"
                 line="2225">a tab overview</doc>
            <type name="TabOverview" c:type="AdwTabOverview*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_extra_drag_preferred_action"
              c:identifier="adw_tab_overview_get_extra_drag_preferred_action"
              glib:get-property="extra-drag-preferred-action"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-tab-overview.c"
             line="2545">Gets the current action during a drop on the extra_drop_target.</doc>
        <source-position filename="src/adw-tab-overview.h" line="94"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-overview.c"
               line="2551">the drag action of the current drop.</doc>
          <type name="Gdk.DragAction" c:type="GdkDragAction"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-overview.c"
                 line="2547">a tab overview</doc>
            <type name="TabOverview" c:type="AdwTabOverview*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_extra_drag_preload"
              c:identifier="adw_tab_overview_get_extra_drag_preload"
              glib:get-property="extra-drag-preload"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-tab-overview.c"
             line="2563">Gets whether drop data should be preloaded on hover.</doc>
        <source-position filename="src/adw-tab-overview.h" line="97"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-overview.c"
               line="2569">whether drop data should be preloaded on hover</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-overview.c"
                 line="2565">a tab overview</doc>
            <type name="TabOverview" c:type="AdwTabOverview*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_inverted"
              c:identifier="adw_tab_overview_get_inverted"
              glib:get-property="inverted"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-tab-overview.c"
             line="2176">Gets whether thumbnails use inverted layout.</doc>
        <source-position filename="src/adw-tab-overview.h" line="49"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-overview.c"
               line="2182">whether thumbnails use inverted layout</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-overview.c"
                 line="2178">a tab overview</doc>
            <type name="TabOverview" c:type="AdwTabOverview*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_open"
              c:identifier="adw_tab_overview_get_open"
              glib:get-property="open"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-tab-overview.c"
             line="2068">Gets whether @self is open.</doc>
        <source-position filename="src/adw-tab-overview.h" line="43"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-overview.c"
               line="2074">whether the overview is open</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-overview.c"
                 line="2070">a tab overview</doc>
            <type name="TabOverview" c:type="AdwTabOverview*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_search_active"
              c:identifier="adw_tab_overview_get_search_active"
              glib:get-property="search-active"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-tab-overview.c"
             line="2283">Gets whether search is currently active for @self.

See [property@TabOverview:enable-search].</doc>
        <source-position filename="src/adw-tab-overview.h" line="61"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-overview.c"
               line="2291">whether search is active</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-overview.c"
                 line="2285">a tab overview</doc>
            <type name="TabOverview" c:type="AdwTabOverview*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_secondary_menu"
              c:identifier="adw_tab_overview_get_secondary_menu"
              glib:get-property="secondary-menu"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-tab-overview.c"
             line="2350">Gets the secondary menu model for @self.</doc>
        <source-position filename="src/adw-tab-overview.h" line="70"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-tab-overview.c"
               line="2356">the secondary menu model</doc>
          <type name="Gio.MenuModel" c:type="GMenuModel*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-overview.c"
                 line="2352">a tab overview</doc>
            <type name="TabOverview" c:type="AdwTabOverview*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_show_end_title_buttons"
              c:identifier="adw_tab_overview_get_show_end_title_buttons"
              glib:get-property="show-end-title-buttons"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-tab-overview.c"
             line="2445">Gets whether end title buttons are shown in @self's header bar.</doc>
        <source-position filename="src/adw-tab-overview.h" line="82"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-overview.c"
               line="2451">whether end title buttons are shown</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-overview.c"
                 line="2447">a tab overview</doc>
            <type name="TabOverview" c:type="AdwTabOverview*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_show_start_title_buttons"
              c:identifier="adw_tab_overview_get_show_start_title_buttons"
              glib:get-property="show-start-title-buttons"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-tab-overview.c"
             line="2397">Gets whether start title buttons are shown in @self's header bar.</doc>
        <source-position filename="src/adw-tab-overview.h" line="76"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-overview.c"
               line="2403">whether start title buttons are shown</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-overview.c"
                 line="2399">a tab overview</doc>
            <type name="TabOverview" c:type="AdwTabOverview*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_view"
              c:identifier="adw_tab_overview_get_view"
              glib:get-property="view"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-tab-overview.c"
             line="1927">Gets the tab view @self controls.</doc>
        <source-position filename="src/adw-tab-overview.h" line="31"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-tab-overview.c"
               line="1933">the tab view</doc>
          <type name="TabView" c:type="AdwTabView*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-overview.c"
                 line="1929">a tab overview</doc>
            <type name="TabOverview" c:type="AdwTabOverview*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_child"
              c:identifier="adw_tab_overview_set_child"
              glib:set-property="child"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-tab-overview.c"
             line="2041">Sets the child widget of @self.</doc>
        <source-position filename="src/adw-tab-overview.h" line="39"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-overview.c"
                 line="2043">a tab overview</doc>
            <type name="TabOverview" c:type="AdwTabOverview*"/>
          </instance-parameter>
          <parameter name="child"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-tab-overview.c"
                 line="2044">the child widget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_enable_new_tab"
              c:identifier="adw_tab_overview_set_enable_new_tab"
              glib:set-property="enable-new-tab"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-tab-overview.c"
             line="2321">Sets whether to enable new tab button for @self.

Connect to the [signal@TabOverview::create-tab] signal to use it.</doc>
        <source-position filename="src/adw-tab-overview.h" line="66"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-overview.c"
                 line="2323">a tab overview</doc>
            <type name="TabOverview" c:type="AdwTabOverview*"/>
          </instance-parameter>
          <parameter name="enable_new_tab" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-overview.c"
                 line="2324">whether to enable new tab button</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_enable_search"
              c:identifier="adw_tab_overview_set_enable_search"
              glib:set-property="enable-search"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-tab-overview.c"
             line="2241">Sets whether to enable search in tabs for @self.

Search matches tab titles and tooltips, as well as keywords, set via
[property@TabPage:keyword]. Use keywords to search in e.g. page URLs in a web
browser.

During search, tab reordering and drag-n-drop are disabled.

Use [property@TabOverview:search-active] to check out if search is currently
active.</doc>
        <source-position filename="src/adw-tab-overview.h" line="57"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-overview.c"
                 line="2243">a tab overview</doc>
            <type name="TabOverview" c:type="AdwTabOverview*"/>
          </instance-parameter>
          <parameter name="enable_search" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-overview.c"
                 line="2244">whether to enable search</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_extra_drag_preload"
              c:identifier="adw_tab_overview_set_extra_drag_preload"
              glib:set-property="extra-drag-preload"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-tab-overview.c"
             line="2581">Sets whether drop data should be preloaded on hover.

See [property@Gtk.DropTarget:preload].</doc>
        <source-position filename="src/adw-tab-overview.h" line="99"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-overview.c"
                 line="2583">a tab overview</doc>
            <type name="TabOverview" c:type="AdwTabOverview*"/>
          </instance-parameter>
          <parameter name="preload" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-overview.c"
                 line="2584">whether to preload drop data</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_inverted"
              c:identifier="adw_tab_overview_set_inverted"
              glib:set-property="inverted"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-tab-overview.c"
             line="2194">Sets whether thumbnails use inverted layout.

If set to `TRUE`, thumbnails will have the close or unpin button at the
beginning and the indicator at the end rather than the other way around.</doc>
        <source-position filename="src/adw-tab-overview.h" line="51"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-overview.c"
                 line="2196">a tab overview</doc>
            <type name="TabOverview" c:type="AdwTabOverview*"/>
          </instance-parameter>
          <parameter name="inverted" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-overview.c"
                 line="2197">whether thumbnails use inverted layout</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_open"
              c:identifier="adw_tab_overview_set_open"
              glib:set-property="open"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-tab-overview.c"
             line="2086">Sets whether the to open @self.</doc>
        <source-position filename="src/adw-tab-overview.h" line="45"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-overview.c"
                 line="2088">a tab overview</doc>
            <type name="TabOverview" c:type="AdwTabOverview*"/>
          </instance-parameter>
          <parameter name="open" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-overview.c"
                 line="2089">whether the overview is open</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_secondary_menu"
              c:identifier="adw_tab_overview_set_secondary_menu"
              glib:set-property="secondary-menu"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-tab-overview.c"
             line="2368">Sets the secondary menu model for @self.

Use it to add extra actions, e.g. to open a new window or undo closed tab.</doc>
        <source-position filename="src/adw-tab-overview.h" line="72"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-overview.c"
                 line="2370">a tab overview</doc>
            <type name="TabOverview" c:type="AdwTabOverview*"/>
          </instance-parameter>
          <parameter name="secondary_menu"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-tab-overview.c"
                 line="2371">a menu model</doc>
            <type name="Gio.MenuModel" c:type="GMenuModel*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_show_end_title_buttons"
              c:identifier="adw_tab_overview_set_show_end_title_buttons"
              glib:set-property="show-end-title-buttons"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-tab-overview.c"
             line="2463">Sets whether to show end title buttons in @self's header bar.

See [property@HeaderBar:show-start-title-buttons] for the other side.</doc>
        <source-position filename="src/adw-tab-overview.h" line="84"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-overview.c"
                 line="2465">a tab overview</doc>
            <type name="TabOverview" c:type="AdwTabOverview*"/>
          </instance-parameter>
          <parameter name="show_end_title_buttons" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-overview.c"
                 line="2466">whether to show end title buttons</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_show_start_title_buttons"
              c:identifier="adw_tab_overview_set_show_start_title_buttons"
              glib:set-property="show-start-title-buttons"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-tab-overview.c"
             line="2415">Sets whether to show start title buttons in @self's header bar.

See [property@HeaderBar:show-end-title-buttons] for the other side.</doc>
        <source-position filename="src/adw-tab-overview.h" line="78"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-overview.c"
                 line="2417">a tab overview</doc>
            <type name="TabOverview" c:type="AdwTabOverview*"/>
          </instance-parameter>
          <parameter name="show_start_title_buttons" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-overview.c"
                 line="2418">whether to show start title buttons</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_view"
              c:identifier="adw_tab_overview_set_view"
              glib:set-property="view"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-tab-overview.c"
             line="1945">Sets the tab view to control.

The view must be inside @self, see [property@TabOverview:child].</doc>
        <source-position filename="src/adw-tab-overview.h" line="33"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-overview.c"
                 line="1947">a tab overview</doc>
            <type name="TabOverview" c:type="AdwTabOverview*"/>
          </instance-parameter>
          <parameter name="view"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-tab-overview.c"
                 line="1948">a tab view</doc>
            <type name="TabView" c:type="AdwTabView*"/>
          </parameter>
        </parameters>
      </method>
      <method name="setup_extra_drop_target"
              c:identifier="adw_tab_overview_setup_extra_drop_target"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-tab-overview.c"
             line="2493">Sets the supported types for this drop target.

Sets up an extra drop target on tabs.

This allows to drag arbitrary content onto tabs, for example URLs in a web
browser.

If a tab is hovered for a certain period of time while dragging the content,
it will be automatically selected.

The [signal@TabOverview::extra-drag-drop] signal can be used to handle the
drop.</doc>
        <source-position filename="src/adw-tab-overview.h" line="88"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-overview.c"
                 line="2495">a tab overview</doc>
            <type name="TabOverview" c:type="AdwTabOverview*"/>
          </instance-parameter>
          <parameter name="actions" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-overview.c"
                 line="2496">the supported actions</doc>
            <type name="Gdk.DragAction" c:type="GdkDragAction"/>
          </parameter>
          <parameter name="types"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-tab-overview.c"
                 line="2497">
  all supported `GType`s that can be dropped</doc>
            <array length="2" zero-terminated="0" c:type="GType*">
              <type name="GType" c:type="GType"/>
            </array>
          </parameter>
          <parameter name="n_types" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-overview.c"
                 line="2499">number of @types</doc>
            <type name="gsize" c:type="gsize"/>
          </parameter>
        </parameters>
      </method>
      <property name="child"
                version="1.3"
                writable="1"
                transfer-ownership="none"
                setter="set_child"
                getter="get_child">
        <doc xml:space="preserve"
             filename="src/adw-tab-overview.c"
             line="1557">The child widget.</doc>
        <type name="Gtk.Widget"/>
      </property>
      <property name="enable-new-tab"
                version="1.3"
                writable="1"
                transfer-ownership="none"
                setter="set_enable_new_tab"
                getter="get_enable_new_tab"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-tab-overview.c"
             line="1631">Whether to enable new tab button.

Connect to the [signal@TabOverview::create-tab] signal to use it.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="enable-search"
                version="1.3"
                writable="1"
                transfer-ownership="none"
                setter="set_enable_search"
                getter="get_enable_search"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-tab-overview.c"
             line="1596">Whether to enable search in tabs.

Search matches tab titles and tooltips, as well as keywords, set via
[property@TabPage:keyword]. Use keywords to search in e.g. page URLs in a
web browser.

During search, tab reordering and drag-n-drop are disabled.

Use [property@TabOverview:search-active] to check out if search is
currently active.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="extra-drag-preferred-action"
                version="1.4"
                transfer-ownership="none"
                getter="get_extra_drag_preferred_action"
                default-value="0">
        <doc xml:space="preserve"
             filename="src/adw-tab-overview.c"
             line="1687">The unique action on the `current-drop` of the
[signal@TabOverview::extra-drag-drop].

This property should only be used during a
[signal@TabOverview::extra-drag-drop] and is always a subset of what was
originally passed to [method@TabOverview.setup_extra_drop_target].</doc>
        <type name="Gdk.DragAction"/>
      </property>
      <property name="extra-drag-preload"
                version="1.3"
                writable="1"
                transfer-ownership="none"
                setter="set_extra_drag_preload"
                getter="get_extra_drag_preload"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-tab-overview.c"
             line="1704">Whether the drop data should be preloaded on hover.

See [property@Gtk.DropTarget:preload].</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="inverted"
                version="1.3"
                writable="1"
                transfer-ownership="none"
                setter="set_inverted"
                getter="get_inverted"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-tab-overview.c"
             line="1581">Whether thumbnails use inverted layout.

If set to `TRUE`, thumbnails will have the close or unpin buttons at the
beginning and the indicator at the end rather than the other way around.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="open"
                version="1.3"
                writable="1"
                transfer-ownership="none"
                setter="set_open"
                getter="get_open"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-tab-overview.c"
             line="1569">Whether the overview is open.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="search-active"
                version="1.3"
                transfer-ownership="none"
                getter="get_search_active"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-tab-overview.c"
             line="1617">Whether search is currently active.

See [property@TabOverview:enable-search].</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="secondary-menu"
                version="1.3"
                writable="1"
                transfer-ownership="none"
                setter="set_secondary_menu"
                getter="get_secondary_menu">
        <doc xml:space="preserve"
             filename="src/adw-tab-overview.c"
             line="1645">The secondary menu model.

Use it to add extra actions, e.g. to open a new window or undo closed tab.</doc>
        <type name="Gio.MenuModel"/>
      </property>
      <property name="show-end-title-buttons"
                version="1.3"
                writable="1"
                transfer-ownership="none"
                setter="set_show_end_title_buttons"
                getter="get_show_end_title_buttons"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-tab-overview.c"
             line="1673">Whether to show end title buttons in the overview's header bar.

See [property@HeaderBar:show-start-title-buttons] for the other side.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="show-start-title-buttons"
                version="1.3"
                writable="1"
                transfer-ownership="none"
                setter="set_show_start_title_buttons"
                getter="get_show_start_title_buttons"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-tab-overview.c"
             line="1659">Whether to show start title buttons in the overview's header bar.

See [property@HeaderBar:show-end-title-buttons] for the other side.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="view"
                version="1.3"
                writable="1"
                transfer-ownership="none"
                setter="set_view"
                getter="get_view">
        <doc xml:space="preserve"
             filename="src/adw-tab-overview.c"
             line="1543">The tab view the overview controls.

The view must be inside the tab overview, see [property@TabOverview:child].</doc>
        <type name="TabView"/>
      </property>
      <glib:signal name="create-tab" when="last" version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-tab-overview.c"
             line="1720">Emitted when a tab needs to be created.

This can happen after the new tab button has been pressed, see
[property@TabOverview:enable-new-tab].

The signal handler is expected to create a new page in the corresponding
[class@TabView] and return it.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-overview.c"
               line="1732">the newly created page</doc>
          <type name="TabPage"/>
        </return-value>
      </glib:signal>
      <glib:signal name="extra-drag-drop" when="last" version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-tab-overview.c"
             line="1750">This signal is emitted when content is dropped onto a tab.

The content must be of one of the types set up via
[method@TabOverview.setup_extra_drop_target].

See [signal@Gtk.DropTarget::drop].</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-overview.c"
               line="1763">whether the drop was accepted for @page</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="page" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-overview.c"
                 line="1753">the page matching the tab the content was dropped onto</doc>
            <type name="TabPage"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-overview.c"
                 line="1754">the `GValue` being dropped</doc>
            <type name="GObject.Value"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="extra-drag-value" when="last" version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-tab-overview.c"
             line="1779">This signal is emitted when the dropped content is preloaded.

In order for data to be preloaded, [property@TabOverview:extra-drag-preload]
must be set to `TRUE`.

The content must be of one of the types set up via
[method@TabOverview.setup_extra_drop_target].

See [property@Gtk.DropTarget:value].</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-overview.c"
               line="1795">the preferred action for the drop on @page</doc>
          <type name="Gdk.DragAction"/>
        </return-value>
        <parameters>
          <parameter name="page" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-overview.c"
                 line="1782">the page matching the tab the content was dropped onto</doc>
            <type name="TabPage"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-overview.c"
                 line="1783">the `GValue` being dropped</doc>
            <type name="GObject.Value"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="TabOverviewClass"
            c:type="AdwTabOverviewClass"
            glib:is-gtype-struct-for="TabOverview">
      <source-position filename="src/adw-tab-overview.h" line="25"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
    </record>
    <class name="TabPage"
           c:symbol-prefix="tab_page"
           c:type="AdwTabPage"
           parent="GObject.Object"
           final="1"
           glib:type-name="AdwTabPage"
           glib:get-type="adw_tab_page_get_type"
           glib:type-struct="TabPageClass">
      <doc xml:space="preserve"
           filename="src/adw-tab-view.c"
           line="77">An auxiliary class used by [class@TabView].</doc>
      <source-position filename="src/adw-tab-view.h" line="42"/>
      <implements name="Gtk.Accessible"/>
      <method name="get_child"
              c:identifier="adw_tab_page_get_child"
              glib:get-property="child">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="2813">Gets the child of @self.</doc>
        <source-position filename="src/adw-tab-view.h" line="45"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-view.c"
               line="2819">the child of @self</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="2815">a tab page</doc>
            <type name="TabPage" c:type="AdwTabPage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_icon"
              c:identifier="adw_tab_page_get_icon"
              glib:get-property="icon">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="2967">Gets the icon of @self.</doc>
        <source-position filename="src/adw-tab-view.h" line="69"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-tab-view.c"
               line="2973">the icon of @self</doc>
          <type name="Gio.Icon" c:type="GIcon*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="2969">a tab page</doc>
            <type name="TabPage" c:type="AdwTabPage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_indicator_activatable"
              c:identifier="adw_tab_page_get_indicator_activatable"
              glib:get-property="indicator-activatable">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="3150">Gets whether the indicator of @self is activatable.</doc>
        <source-position filename="src/adw-tab-view.h" line="93"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-view.c"
               line="3157">whether the indicator is activatable</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3152">a tab page</doc>
            <type name="TabPage" c:type="AdwTabPage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_indicator_icon"
              c:identifier="adw_tab_page_get_indicator_icon"
              glib:get-property="indicator-icon">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="3054">Gets the indicator icon of @self.</doc>
        <source-position filename="src/adw-tab-view.h" line="81"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-tab-view.c"
               line="3060">the indicator icon of @self</doc>
          <type name="Gio.Icon" c:type="GIcon*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3056">a tab page</doc>
            <type name="TabPage" c:type="AdwTabPage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_indicator_tooltip"
              c:identifier="adw_tab_page_get_indicator_tooltip"
              glib:get-property="indicator-tooltip"
              version="1.2">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="3106">Gets the tooltip of the indicator icon of @self.</doc>
        <source-position filename="src/adw-tab-view.h" line="87"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-view.c"
               line="3112">the indicator tooltip of @self</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3108">a tab page</doc>
            <type name="TabPage" c:type="AdwTabPage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_keyword"
              c:identifier="adw_tab_page_get_keyword"
              glib:get-property="keyword"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="3244">Gets the search keyword of @self.</doc>
        <source-position filename="src/adw-tab-view.h" line="105"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-tab-view.c"
               line="3250">the search keyword of @self</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3246">a tab page</doc>
            <type name="TabPage" c:type="AdwTabPage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_live_thumbnail"
              c:identifier="adw_tab_page_get_live_thumbnail"
              glib:get-property="live-thumbnail"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="3392">Gets whether to live thumbnail is enabled @self.</doc>
        <source-position filename="src/adw-tab-view.h" line="123"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-view.c"
               line="3398">whether live thumbnail is enabled</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3394">a tab overview</doc>
            <type name="TabPage" c:type="AdwTabPage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_loading"
              c:identifier="adw_tab_page_get_loading"
              glib:get-property="loading">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="3009">Gets whether @self is loading.</doc>
        <source-position filename="src/adw-tab-view.h" line="75"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-view.c"
               line="3015">whether @self is loading</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3011">a tab page</doc>
            <type name="TabPage" c:type="AdwTabPage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_needs_attention"
              c:identifier="adw_tab_page_get_needs_attention"
              glib:get-property="needs-attention">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="3195">Gets whether @self needs attention.</doc>
        <source-position filename="src/adw-tab-view.h" line="99"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-view.c"
               line="3201">whether @self needs attention</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3197">a tab page</doc>
            <type name="TabPage" c:type="AdwTabPage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_parent"
              c:identifier="adw_tab_page_get_parent"
              glib:get-property="parent">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="2829">Gets the parent page of @self.

See [method@TabView.add_page] and [method@TabView.close_page].</doc>
        <source-position filename="src/adw-tab-view.h" line="48"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-tab-view.c"
               line="2837">the parent page</doc>
          <type name="TabPage" c:type="AdwTabPage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="2831">a tab page</doc>
            <type name="TabPage" c:type="AdwTabPage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_pinned"
              c:identifier="adw_tab_page_get_pinned"
              glib:get-property="pinned">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="2863">Gets whether @self is pinned.

See [method@TabView.set_page_pinned].</doc>
        <source-position filename="src/adw-tab-view.h" line="54"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-view.c"
               line="2871">whether @self is pinned</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="2865">a tab page</doc>
            <type name="TabPage" c:type="AdwTabPage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_selected"
              c:identifier="adw_tab_page_get_selected"
              glib:get-property="selected">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="2847">Gets whether @self is selected.</doc>
        <source-position filename="src/adw-tab-view.h" line="51"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-view.c"
               line="2853">whether @self is selected</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="2849">a tab page</doc>
            <type name="TabPage" c:type="AdwTabPage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_thumbnail_xalign"
              c:identifier="adw_tab_page_get_thumbnail_xalign"
              glib:get-property="thumbnail-xalign"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="3288">Gets the horizontal alignment of the thumbnail for @self.</doc>
        <source-position filename="src/adw-tab-view.h" line="111"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-view.c"
               line="3294">the horizontal alignment</doc>
          <type name="gfloat" c:type="float"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3290">a tab page</doc>
            <type name="TabPage" c:type="AdwTabPage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_thumbnail_yalign"
              c:identifier="adw_tab_page_get_thumbnail_yalign"
              glib:get-property="thumbnail-yalign"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="3340">Gets the vertical alignment of the thumbnail for @self.</doc>
        <source-position filename="src/adw-tab-view.h" line="117"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-view.c"
               line="3346">the vertical alignment</doc>
          <type name="gfloat" c:type="float"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3342">a tab overview</doc>
            <type name="TabPage" c:type="AdwTabPage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_title"
              c:identifier="adw_tab_page_get_title"
              glib:get-property="title">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="2881">Gets the title of @self.</doc>
        <source-position filename="src/adw-tab-view.h" line="57"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-view.c"
               line="2887">the title of @self</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="2883">a tab page</doc>
            <type name="TabPage" c:type="AdwTabPage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_tooltip"
              c:identifier="adw_tab_page_get_tooltip"
              glib:get-property="tooltip">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="2927">Gets the tooltip of @self.</doc>
        <source-position filename="src/adw-tab-view.h" line="63"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-tab-view.c"
               line="2933">the tooltip of @self</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="2929">a tab page</doc>
            <type name="TabPage" c:type="AdwTabPage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="invalidate_thumbnail"
              c:identifier="adw_tab_page_invalidate_thumbnail"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="3446">Invalidates thumbnail for @self.

If an [class@TabOverview] is open, the thumbnail representing @self will be
immediately updated. Otherwise it will be update when opening the overview.

Does nothing if [property@TabPage:live-thumbnail] is set to `TRUE`.

See also [method@TabView.invalidate_thumbnails].</doc>
        <source-position filename="src/adw-tab-view.h" line="129"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3448">a tab page</doc>
            <type name="TabPage" c:type="AdwTabPage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_icon"
              c:identifier="adw_tab_page_set_icon"
              glib:set-property="icon">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="2983">Sets the icon of @self.

[class@TabBar] and [class@TabOverview] display the icon next to the title,
unless [property@TabPage:loading] is set to `TRUE`.

`AdwTabBar` also won't show the icon if the page is pinned and
[propertyTabPage:indicator-icon] is set.</doc>
        <source-position filename="src/adw-tab-view.h" line="71"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="2985">a tab page</doc>
            <type name="TabPage" c:type="AdwTabPage*"/>
          </instance-parameter>
          <parameter name="icon"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="2986">the icon of @self</doc>
            <type name="Gio.Icon" c:type="GIcon*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_indicator_activatable"
              c:identifier="adw_tab_page_set_indicator_activatable"
              glib:set-property="indicator-activatable">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="3167">Sets whether the indicator of @self is activatable.

If set to `TRUE`, [signal@TabView::indicator-activated] will be emitted
when the indicator icon is clicked.

If [property@TabPage:indicator-icon] is not set, does nothing.</doc>
        <source-position filename="src/adw-tab-view.h" line="95"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3169">a tab page</doc>
            <type name="TabPage" c:type="AdwTabPage*"/>
          </instance-parameter>
          <parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3170">whether the indicator is activatable</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_indicator_icon"
              c:identifier="adw_tab_page_set_indicator_icon"
              glib:set-property="indicator-icon">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="3070">Sets the indicator icon of @self.

A common use case is an audio or camera indicator in a web browser.

[class@TabBar] will show it at the beginning of the tab, alongside icon
representing [property@TabPage:icon] or loading spinner.

If the page is pinned, the indicator will be shown instead of icon or
spinner.

[class@TabOverview] will show it at the at the top part of the thumbnail.

[property@TabPage:indicator-tooltip] can be used to set the tooltip on the
indicator icon.

If [property@TabPage:indicator-activatable] is set to `TRUE`, the
indicator icon can act as a button.</doc>
        <source-position filename="src/adw-tab-view.h" line="83"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3072">a tab page</doc>
            <type name="TabPage" c:type="AdwTabPage*"/>
          </instance-parameter>
          <parameter name="indicator_icon"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3073">the indicator icon of @self</doc>
            <type name="Gio.Icon" c:type="GIcon*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_indicator_tooltip"
              c:identifier="adw_tab_page_set_indicator_tooltip"
              glib:set-property="indicator-tooltip"
              version="1.2">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="3124">Sets the tooltip of the indicator icon of @self.

The tooltip can be marked up with the Pango text markup language.

See [property@TabPage:indicator-icon].</doc>
        <source-position filename="src/adw-tab-view.h" line="89"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3126">a tab page</doc>
            <type name="TabPage" c:type="AdwTabPage*"/>
          </instance-parameter>
          <parameter name="tooltip" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3127">the indicator tooltip of @self</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_keyword"
              c:identifier="adw_tab_page_set_keyword"
              glib:set-property="keyword"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="3262">Sets the search keyword for @self.

[class@TabOverview] can search pages by their keywords in addition to their
titles and tooltips.

Keywords allow to include e.g. page URLs into tab search in a web browser.</doc>
        <source-position filename="src/adw-tab-view.h" line="107"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3264">a tab page</doc>
            <type name="TabPage" c:type="AdwTabPage*"/>
          </instance-parameter>
          <parameter name="keyword" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3265">the search keyword</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_live_thumbnail"
              c:identifier="adw_tab_page_set_live_thumbnail"
              glib:set-property="live-thumbnail"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="3410">Sets whether to enable live thumbnail for @self.

When set to `TRUE`, @self's thumbnail in [class@TabOverview] will update
immediately when @self is redrawn or resized.

If it's set to `FALSE`, the thumbnail will only be live when the @self is
selected, and otherwise it will be static and will only update when
[method@TabPage.invalidate_thumbnail] or
[method@TabView.invalidate_thumbnails] is called.</doc>
        <source-position filename="src/adw-tab-view.h" line="125"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3412">a tab page</doc>
            <type name="TabPage" c:type="AdwTabPage*"/>
          </instance-parameter>
          <parameter name="live_thumbnail" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3413">whether to enable live thumbnail</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_loading"
              c:identifier="adw_tab_page_set_loading"
              glib:set-property="loading">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="3025">Sets whether @self is loading.

If set to `TRUE`, [class@TabBar] and [class@TabOverview] will display a
spinner in place of icon.

If the page is pinned and [property@TabPage:indicator-icon] is set, loading
status will not be visible with `AdwTabBar`.</doc>
        <source-position filename="src/adw-tab-view.h" line="77"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3027">a tab page</doc>
            <type name="TabPage" c:type="AdwTabPage*"/>
          </instance-parameter>
          <parameter name="loading" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3028">whether @self is loading</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_needs_attention"
              c:identifier="adw_tab_page_set_needs_attention"
              glib:set-property="needs-attention">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="3211">Sets whether @self needs attention.

[class@TabBar] will display a line under the tab representing the page if
set to `TRUE`. If the tab is not visible, the corresponding edge of the tab
bar will be highlighted.

[class@TabOverview] will display a dot in the corner of the thumbnail if set
to `TRUE`.

[class@TabButton] will display a dot if any of the pages that aren't
selected have [property@TabPage:needs-attention] set to `TRUE`.</doc>
        <source-position filename="src/adw-tab-view.h" line="101"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3213">a tab page</doc>
            <type name="TabPage" c:type="AdwTabPage*"/>
          </instance-parameter>
          <parameter name="needs_attention" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3214">whether @self needs attention</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_thumbnail_xalign"
              c:identifier="adw_tab_page_set_thumbnail_xalign"
              glib:set-property="thumbnail-xalign"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="3306">Sets the horizontal alignment of the thumbnail for @self.

If the page is so wide that [class@TabOverview] can't display it completely
and has to crop it, horizontal alignment will determine which part of the
page will be visible.

For example, 0.5 means the center of the page will be visible, 0 means the
start edge will be visible and 1 means the end edge will be visible.

The default horizontal alignment is 0.</doc>
        <source-position filename="src/adw-tab-view.h" line="113"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3308">a tab page</doc>
            <type name="TabPage" c:type="AdwTabPage*"/>
          </instance-parameter>
          <parameter name="xalign" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3309">the new value</doc>
            <type name="gfloat" c:type="float"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_thumbnail_yalign"
              c:identifier="adw_tab_page_set_thumbnail_yalign"
              glib:set-property="thumbnail-yalign"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="3358">Sets the vertical alignment of the thumbnail for @self.

If the page is so tall that [class@TabOverview] can't display it completely
and has to crop it, vertical alignment will determine which part of the page
will be visible.

For example, 0.5 means the center of the page will be visible, 0 means the
top edge will be visible and 1 means the bottom edge will be visible.

The default vertical alignment is 0.</doc>
        <source-position filename="src/adw-tab-view.h" line="119"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3360">a tab page</doc>
            <type name="TabPage" c:type="AdwTabPage*"/>
          </instance-parameter>
          <parameter name="yalign" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3361">the new value</doc>
            <type name="gfloat" c:type="float"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_title"
              c:identifier="adw_tab_page_set_title"
              glib:set-property="title">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="2897">[class@TabBar] will display it in the center of the tab unless it's pinned,
and will use it as a tooltip unless [property@TabPage:tooltip] is set.

[class@TabOverview] will display it below the thumbnail unless it's pinned,
or inside the card otherwise, and will use it as a tooltip unless
[property@TabPage:tooltip] is set.

Sets the title of @self.</doc>
        <source-position filename="src/adw-tab-view.h" line="59"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="2899">a tab page</doc>
            <type name="TabPage" c:type="AdwTabPage*"/>
          </instance-parameter>
          <parameter name="title" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="2900">the title of @self</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_tooltip"
              c:identifier="adw_tab_page_set_tooltip"
              glib:set-property="tooltip">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="2943">Sets the tooltip of @self.

The tooltip can be marked up with the Pango text markup language.

If not set, [class@TabBar] and [class@TabOverview] will use
[property@TabPage:title] as a tooltip instead.</doc>
        <source-position filename="src/adw-tab-view.h" line="65"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="2945">a tab page</doc>
            <type name="TabPage" c:type="AdwTabPage*"/>
          </instance-parameter>
          <parameter name="tooltip" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="2946">the tooltip of @self</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <property name="child"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_child">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="558">The child of the page.</doc>
        <type name="Gtk.Widget"/>
      </property>
      <property name="icon"
                writable="1"
                transfer-ownership="none"
                setter="set_icon"
                getter="get_icon">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="634">The icon of the page.

[class@TabBar] and [class@TabOverview] display the icon next to the title,
unless [property@TabPage:loading] is set to `TRUE`.

`AdwTabBar` also won't show the icon if the page is pinned and
[propertyTabPage:indicator-icon] is set.</doc>
        <type name="Gio.Icon"/>
      </property>
      <property name="indicator-activatable"
                writable="1"
                transfer-ownership="none"
                setter="set_indicator_activatable"
                getter="get_indicator_activatable"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="708">Whether the indicator icon is activatable.

If set to `TRUE`, [signal@TabView::indicator-activated] will be emitted
when the indicator icon is clicked.

If [property@TabPage:indicator-icon] is not set, does nothing.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="indicator-icon"
                writable="1"
                transfer-ownership="none"
                setter="set_indicator_icon"
                getter="get_indicator_icon">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="666">An indicator icon for the page.

A common use case is an audio or camera indicator in a web browser.

[class@TabBar] will show it at the beginning of the tab, alongside icon
representing [property@TabPage:icon] or loading spinner.

If the page is pinned, the indicator will be shown instead of icon or
spinner.

[class@TabOverview] will show it at the at the top part of the thumbnail.

[property@TabPage:indicator-tooltip] can be used to set the tooltip on the
indicator icon.

If [property@TabPage:indicator-activatable] is set to `TRUE`, the
indicator icon can act as a button.</doc>
        <type name="Gio.Icon"/>
      </property>
      <property name="indicator-tooltip"
                version="1.2"
                writable="1"
                transfer-ownership="none"
                setter="set_indicator_tooltip"
                getter="get_indicator_tooltip">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="692">The tooltip of the indicator icon.

The tooltip can be marked up with the Pango text markup language.

See [property@TabPage:indicator-icon].</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="keyword"
                version="1.3"
                writable="1"
                transfer-ownership="none"
                setter="set_keyword"
                getter="get_keyword">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="743">The search keyboard of the page.

[class@TabOverview] can search pages by their keywords in addition to their
titles and tooltips.

Keywords allow to include e.g. page URLs into tab search in a web browser.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="live-thumbnail"
                version="1.3"
                writable="1"
                transfer-ownership="none"
                setter="set_live_thumbnail"
                getter="get_live_thumbnail"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="804">Whether to enable live thumbnail for this page.

When set to `TRUE`, the page's thumbnail in [class@TabOverview] will update
immediately when the page is redrawn or resized.

If it's set to `FALSE`, the thumbnail will only be live when the page is
selected, and otherwise it will be static and will only update when
[method@TabPage.invalidate_thumbnail] or
[method@TabView.invalidate_thumbnails] is called.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="loading"
                writable="1"
                transfer-ownership="none"
                setter="set_loading"
                getter="get_loading"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="650">Whether the page is loading.

If set to `TRUE`, [class@TabBar] and [class@TabOverview] will display a
spinner in place of icon.

If the page is pinned and [property@TabPage:indicator-icon] is set,
loading status will not be visible with `AdwTabBar`.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="needs-attention"
                writable="1"
                transfer-ownership="none"
                setter="set_needs_attention"
                getter="get_needs_attention"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="723">Whether the page needs attention.

[class@TabBar] will display a line under the tab representing the page if
set to `TRUE`. If the tab is not visible, the corresponding edge of the tab
bar will be highlighted.

[class@TabOverview] will display a dot in the corner of the thumbnail if set
to `TRUE`.

[class@TabButton] will display a dot if any of the pages that aren't
selected have this property set to `TRUE`.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="parent"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_parent">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="568">The parent page of the page.

See [method@TabView.add_page] and [method@TabView.close_page].</doc>
        <type name="TabPage"/>
      </property>
      <property name="pinned"
                transfer-ownership="none"
                getter="get_pinned"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="590">Whether the page is pinned.

See [method@TabView.set_page_pinned].</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="selected"
                transfer-ownership="none"
                getter="get_selected"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="580">Whether the page is selected.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="thumbnail-xalign"
                version="1.3"
                writable="1"
                transfer-ownership="none"
                setter="set_thumbnail_xalign"
                getter="get_thumbnail_xalign"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="760">The horizontal alignment of the page thumbnail.

If the page is so wide that [class@TabOverview] can't display it completely
and has to crop it, horizontal alignment will determine which part of the
page will be visible.

For example, 0.5 means the center of the page will be visible, 0 means the
start edge will be visible and 1 means the end edge will be visible.

The default horizontal alignment is 0.</doc>
        <type name="gfloat" c:type="gfloat"/>
      </property>
      <property name="thumbnail-yalign"
                version="1.3"
                writable="1"
                transfer-ownership="none"
                setter="set_thumbnail_yalign"
                getter="get_thumbnail_yalign"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="782">The vertical alignment of the page thumbnail.

If the page is so tall that [class@TabOverview] can't display it completely
and has to crop it, vertical alignment will determine which part of the
page will be visible.

For example, 0.5 means the center of the page will be visible, 0 means the
top edge will be visible and 1 means the bottom edge will be visible.

The default vertical alignment is 0.</doc>
        <type name="gfloat" c:type="gfloat"/>
      </property>
      <property name="title"
                writable="1"
                transfer-ownership="none"
                setter="set_title"
                getter="get_title">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="602">The title of the page.

[class@TabBar] will display it in the center of the tab unless it's pinned,
and will use it as a tooltip unless [property@TabPage:tooltip] is set.

[class@TabOverview] will display it below the thumbnail unless it's pinned,
or inside the card otherwise, and will use it as a tooltip unless
[property@TabPage:tooltip] is set.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="tooltip"
                writable="1"
                transfer-ownership="none"
                setter="set_tooltip"
                getter="get_tooltip">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="619">The tooltip of the page.

The tooltip can be marked up with the Pango text markup language.

If not set, [class@TabBar] and [class@TabOverview] will use
[property@TabPage:title] as a tooltip instead.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
    </class>
    <record name="TabPageClass"
            c:type="AdwTabPageClass"
            glib:is-gtype-struct-for="TabPage">
      <source-position filename="src/adw-tab-view.h" line="42"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="TabView"
           c:symbol-prefix="tab_view"
           c:type="AdwTabView"
           parent="Gtk.Widget"
           final="1"
           glib:type-name="AdwTabView"
           glib:get-type="adw_tab_view_get_type"
           glib:type-struct="TabViewClass">
      <doc xml:space="preserve"
           filename="src/adw-tab-view.c"
           line="31">A dynamic tabbed container.

`AdwTabView` is a container which shows one child at a time. While it
provides keyboard shortcuts for switching between pages, it does not provide
a visible tab switcher and relies on external widgets for that, such as
[class@TabBar], [class@TabOverview] and [class@TabButton].

`AdwTabView` maintains a [class@TabPage] object for each page, which holds
additional per-page properties. You can obtain the `AdwTabPage` for a page
with [method@TabView.get_page], and as the return value for
[method@TabView.append] and other functions for adding children.

`AdwTabView` only aims to be useful for dynamic tabs in multi-window
document-based applications, such as web browsers, file managers, text
editors or terminals. It does not aim to replace [class@Gtk.Notebook] for use
cases such as tabbed dialogs.

As such, it does not support disabling page reordering or detaching.

`AdwTabView` adds a number of global page switching and reordering shortcuts.
The [property@TabView:shortcuts] property can be used to manage them.

See [flags@TabViewShortcuts] for the list of the available shortcuts. All of
the shortcuts are enabled by default.

[method@TabView.add_shortcuts] and [method@TabView.remove_shortcuts] can be
used to manage shortcuts in a convenient way, for example:

```c
adw_tab_view_remove_shortcuts (view, ADW_TAB_VIEW_SHORTCUT_CONTROL_HOME |
                                     ADW_TAB_VIEW_SHORTCUT_CONTROL_END);
```

## CSS nodes

`AdwTabView` has a main CSS node with the name `tabview`.

## Accessibility

`AdwTabView` uses the `GTK_ACCESSIBLE_ROLE_TAB_PANEL` for the tab pages which
are the accessible parent objects of the child widgets.</doc>
      <source-position filename="src/adw-tab-view.h" line="134"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <constructor name="new" c:identifier="adw_tab_view_new">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="3485">Creates a new `AdwTabView`.</doc>
        <source-position filename="src/adw-tab-view.h" line="137"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-view.c"
               line="3490">the newly created `AdwTabView`</doc>
          <type name="TabView" c:type="AdwTabView*"/>
        </return-value>
      </constructor>
      <method name="add_page" c:identifier="adw_tab_view_add_page">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="4068">Adds @child to @self with @parent as the parent.

This function can be used to automatically position new pages, and to select
the correct page when this page is closed while being selected (see
[method@TabView.close_page]).

If @parent is `NULL`, this function is equivalent to [method@TabView.append].</doc>
        <source-position filename="src/adw-tab-view.h" line="200"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-view.c"
               line="4082">the page object representing @child</doc>
          <type name="TabPage" c:type="AdwTabPage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4070">a tab view</doc>
            <type name="TabView" c:type="AdwTabView*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4071">a widget to add</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="parent"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4072">a parent page for @child</doc>
            <type name="TabPage" c:type="AdwTabPage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_shortcuts"
              c:identifier="adw_tab_view_add_shortcuts"
              version="1.2">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="3864">Adds @shortcuts for @self.

See [property@TabView:shortcuts] for details.</doc>
        <source-position filename="src/adw-tab-view.h" line="176"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3866">a tab view</doc>
            <type name="TabView" c:type="AdwTabView*"/>
          </instance-parameter>
          <parameter name="shortcuts" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3867">the shortcuts to add</doc>
            <type name="TabViewShortcuts" c:type="AdwTabViewShortcuts"/>
          </parameter>
        </parameters>
      </method>
      <method name="append" c:identifier="adw_tab_view_append">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="4168">Inserts @child as the last non-pinned page.</doc>
        <source-position filename="src/adw-tab-view.h" line="212"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-view.c"
               line="4175">the page object representing @child</doc>
          <type name="TabPage" c:type="AdwTabPage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4170">a tab view</doc>
            <type name="TabView" c:type="AdwTabView*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4171">a widget to add</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="append_pinned" c:identifier="adw_tab_view_append_pinned">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="4234">Inserts @child as the last pinned page.</doc>
        <source-position filename="src/adw-tab-view.h" line="223"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-view.c"
               line="4241">the page object representing @child</doc>
          <type name="TabPage" c:type="AdwTabPage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4236">a tab view</doc>
            <type name="TabView" c:type="AdwTabView*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4237">a widget to add</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="close_other_pages"
              c:identifier="adw_tab_view_close_other_pages">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="4335">Requests to close all pages other than @page.</doc>
        <source-position filename="src/adw-tab-view.h" line="235"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4337">a tab view</doc>
            <type name="TabView" c:type="AdwTabView*"/>
          </instance-parameter>
          <parameter name="page" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4338">a page of @self</doc>
            <type name="TabPage" c:type="AdwTabPage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="close_page" c:identifier="adw_tab_view_close_page">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="4254">Requests to close @page.

Calling this function will result in the [signal@TabView::close-page] signal
being emitted for @page. Closing the page can then be confirmed or
denied via [method@TabView.close_page_finish].

If the page is waiting for a [method@TabView.close_page_finish] call, this
function will do nothing.

The default handler for [signal@TabView::close-page] will immediately confirm
closing the page if it's non-pinned, or reject it if it's pinned. This
behavior can be changed by registering your own handler for that signal.

If @page was selected, another page will be selected instead:

If the [property@TabPage:parent] value is `NULL`, the next page will be
selected when possible, or if the page was already last, the previous page
will be selected instead.

If it's not `NULL`, the previous page will be selected if it's a descendant
(possibly indirect) of the parent. If both the previous page and the parent
are pinned, the parent will be selected instead.</doc>
        <source-position filename="src/adw-tab-view.h" line="227"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4256">a tab view</doc>
            <type name="TabView" c:type="AdwTabView*"/>
          </instance-parameter>
          <parameter name="page" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4257">a page of @self</doc>
            <type name="TabPage" c:type="AdwTabPage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="close_page_finish"
              c:identifier="adw_tab_view_close_page_finish">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="4299">Completes a [method@TabView.close_page] call for @page.

If @confirm is `TRUE`, @page will be closed. If it's `FALSE`, it will be
reverted to its previous state and [method@TabView.close_page] can be called
for it again.

This function should not be called unless a custom handler for
[signal@TabView::close-page] is used.</doc>
        <source-position filename="src/adw-tab-view.h" line="230"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4301">a tab view</doc>
            <type name="TabView" c:type="AdwTabView*"/>
          </instance-parameter>
          <parameter name="page" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4302">a page of @self</doc>
            <type name="TabPage" c:type="AdwTabPage*"/>
          </parameter>
          <parameter name="confirm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4303">whether to confirm or deny closing @page</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="close_pages_after"
              c:identifier="adw_tab_view_close_pages_after">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="4388">Requests to close all pages after @page.</doc>
        <source-position filename="src/adw-tab-view.h" line="241"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4390">a tab view</doc>
            <type name="TabView" c:type="AdwTabView*"/>
          </instance-parameter>
          <parameter name="page" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4391">a page of @self</doc>
            <type name="TabPage" c:type="AdwTabPage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="close_pages_before"
              c:identifier="adw_tab_view_close_pages_before">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="4362">Requests to close all pages before @page.</doc>
        <source-position filename="src/adw-tab-view.h" line="238"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4364">a tab view</doc>
            <type name="TabView" c:type="AdwTabView*"/>
          </instance-parameter>
          <parameter name="page" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4365">a page of @self</doc>
            <type name="TabPage" c:type="AdwTabPage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_default_icon"
              c:identifier="adw_tab_view_get_default_icon"
              glib:get-property="default-icon">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="3717">Gets the default icon of @self.</doc>
        <source-position filename="src/adw-tab-view.h" line="159"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-view.c"
               line="3723">the default icon of @self.</doc>
          <type name="Gio.Icon" c:type="GIcon*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3719">a tab view</doc>
            <type name="TabView" c:type="AdwTabView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_is_transferring_page"
              c:identifier="adw_tab_view_get_is_transferring_page"
              glib:get-property="is-transferring-page">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="3532">Whether a page is being transferred.

The corresponding property will be set to `TRUE` when a drag-n-drop tab
transfer starts on any `AdwTabView`, and to `FALSE` after it ends.

During the transfer, children cannot receive pointer input and a tab can
be safely dropped on the tab view.</doc>
        <source-position filename="src/adw-tab-view.h" line="145"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-view.c"
               line="3544">whether a page is being transferred</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3534">a tab view</doc>
            <type name="TabView" c:type="AdwTabView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_menu_model"
              c:identifier="adw_tab_view_get_menu_model"
              glib:get-property="menu-model">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="3774">Gets the tab context menu model for @self.</doc>
        <source-position filename="src/adw-tab-view.h" line="165"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-tab-view.c"
               line="3780">the tab context menu model for @self</doc>
          <type name="Gio.MenuModel" c:type="GMenuModel*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3776">a tab view</doc>
            <type name="TabView" c:type="AdwTabView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_n_pages"
              c:identifier="adw_tab_view_get_n_pages"
              glib:get-property="n-pages">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="3498">Gets the number of pages in @self.</doc>
        <source-position filename="src/adw-tab-view.h" line="140"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-view.c"
               line="3504">the number of pages in @self</doc>
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3500">a tab view</doc>
            <type name="TabView" c:type="AdwTabView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_n_pinned_pages"
              c:identifier="adw_tab_view_get_n_pinned_pages"
              glib:get-property="n-pinned-pages">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="3514">Gets the number of pinned pages in @self.

See [method@TabView.set_page_pinned].</doc>
        <source-position filename="src/adw-tab-view.h" line="142"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-view.c"
               line="3522">the number of pinned pages in @self</doc>
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3516">a tab view</doc>
            <type name="TabView" c:type="AdwTabView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_nth_page" c:identifier="adw_tab_view_get_nth_page">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="4013">Gets the [class@TabPage] representing the child at @position.</doc>
        <source-position filename="src/adw-tab-view.h" line="192"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-view.c"
               line="4020">the page object at @position</doc>
          <type name="TabPage" c:type="AdwTabPage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4015">a tab view</doc>
            <type name="TabView" c:type="AdwTabView*"/>
          </instance-parameter>
          <parameter name="position" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4016">the index of the page in @self, starting from 0</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_page" c:identifier="adw_tab_view_get_page">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="3984">Gets the [class@TabPage] object representing @child.</doc>
        <source-position filename="src/adw-tab-view.h" line="188"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-view.c"
               line="3991">the page object for @child</doc>
          <type name="TabPage" c:type="AdwTabPage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3986">a tab view</doc>
            <type name="TabView" c:type="AdwTabView*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3987">a child in @self</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_page_position"
              c:identifier="adw_tab_view_get_page_position">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="4039">Finds the position of @page in @self, starting from 0.</doc>
        <source-position filename="src/adw-tab-view.h" line="196"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-view.c"
               line="4046">the position of @page in @self</doc>
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4041">a tab view</doc>
            <type name="TabView" c:type="AdwTabView*"/>
          </instance-parameter>
          <parameter name="page" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4042">a page of @self</doc>
            <type name="TabPage" c:type="AdwTabPage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_pages"
              c:identifier="adw_tab_view_get_pages"
              glib:get-property="pages">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="4660">Returns a [iface@Gio.ListModel] that contains the pages of @self.

This can be used to keep an up-to-date view. The model also implements
[iface@Gtk.SelectionModel] and can be used to track and change the selected
page.</doc>
        <source-position filename="src/adw-tab-view.h" line="268"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/adw-tab-view.c"
               line="4670">a `GtkSelectionModel` for the pages of @self</doc>
          <type name="Gtk.SelectionModel" c:type="GtkSelectionModel*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4662">a tab view</doc>
            <type name="TabView" c:type="AdwTabView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_selected_page"
              c:identifier="adw_tab_view_get_selected_page"
              glib:get-property="selected-page">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="3554">Gets the currently selected page in @self.</doc>
        <source-position filename="src/adw-tab-view.h" line="148"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-tab-view.c"
               line="3560">the selected page</doc>
          <type name="TabPage" c:type="AdwTabPage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3556">a tab view</doc>
            <type name="TabView" c:type="AdwTabView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_shortcuts"
              c:identifier="adw_tab_view_get_shortcuts"
              glib:get-property="shortcuts"
              version="1.2">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="3816">Gets the enabled shortcuts for @self.</doc>
        <source-position filename="src/adw-tab-view.h" line="171"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-view.c"
               line="3822">the shortcut mask</doc>
          <type name="TabViewShortcuts" c:type="AdwTabViewShortcuts"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3818">a tab view</doc>
            <type name="TabView" c:type="AdwTabView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="insert" c:identifier="adw_tab_view_insert">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="4121">Inserts a non-pinned page at @position.

It's an error to try to insert a page before a pinned page, in that case
[method@TabView.insert_pinned] should be used instead.</doc>
        <source-position filename="src/adw-tab-view.h" line="205"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-view.c"
               line="4132">the page object representing @child</doc>
          <type name="TabPage" c:type="AdwTabPage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4123">a tab view</doc>
            <type name="TabView" c:type="AdwTabView*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4124">a widget to add</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="position" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4125">the position to add @child at, starting from 0</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="insert_pinned" c:identifier="adw_tab_view_insert_pinned">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="4188">Inserts a pinned page at @position.

It's an error to try to insert a pinned page after a non-pinned page, in
that case [method@TabView.insert] should be used instead.</doc>
        <source-position filename="src/adw-tab-view.h" line="216"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-view.c"
               line="4199">the page object representing @child</doc>
          <type name="TabPage" c:type="AdwTabPage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4190">a tab view</doc>
            <type name="TabView" c:type="AdwTabView*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4191">a widget to add</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="position" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4192">the position to add @child at, starting from 0</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="invalidate_thumbnails"
              c:identifier="adw_tab_view_invalidate_thumbnails"
              version="1.3">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="4685">Invalidates thumbnails for all pages in @self.

This is a convenience method, equivalent to calling
[method@TabPage.invalidate_thumbnail] on each page.</doc>
        <source-position filename="src/adw-tab-view.h" line="271"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4687">a tab view</doc>
            <type name="TabView" c:type="AdwTabView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="prepend" c:identifier="adw_tab_view_prepend">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="4148">Inserts @child as the first non-pinned page.</doc>
        <source-position filename="src/adw-tab-view.h" line="209"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-view.c"
               line="4155">the page object representing @child</doc>
          <type name="TabPage" c:type="AdwTabPage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4150">a tab view</doc>
            <type name="TabView" c:type="AdwTabView*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4151">a widget to add</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="prepend_pinned" c:identifier="adw_tab_view_prepend_pinned">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="4214">Inserts @child as the first pinned page.</doc>
        <source-position filename="src/adw-tab-view.h" line="220"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-view.c"
               line="4221">the page object representing @child</doc>
          <type name="TabPage" c:type="AdwTabPage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4216">a tab view</doc>
            <type name="TabView" c:type="AdwTabView*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4217">a widget to add</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_shortcuts"
              c:identifier="adw_tab_view_remove_shortcuts"
              version="1.2">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="3885">Removes @shortcuts from @self.

See [property@TabView:shortcuts] for details.</doc>
        <source-position filename="src/adw-tab-view.h" line="179"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3887">a tab view</doc>
            <type name="TabView" c:type="AdwTabView*"/>
          </instance-parameter>
          <parameter name="shortcuts" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3888">the shortcuts to remove</doc>
            <type name="TabViewShortcuts" c:type="AdwTabViewShortcuts"/>
          </parameter>
        </parameters>
      </method>
      <method name="reorder_backward"
              c:identifier="adw_tab_view_reorder_backward">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="4470">Reorders @page to before its previous page if possible.</doc>
        <source-position filename="src/adw-tab-view.h" line="249"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-view.c"
               line="4477">whether @page was moved</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4472">a tab view</doc>
            <type name="TabView" c:type="AdwTabView*"/>
          </instance-parameter>
          <parameter name="page" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4473">a page of @self</doc>
            <type name="TabPage" c:type="AdwTabPage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="reorder_first" c:identifier="adw_tab_view_reorder_first">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="4532">Reorders @page to the first possible position.</doc>
        <source-position filename="src/adw-tab-view.h" line="255"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-view.c"
               line="4539">whether @page was moved</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4534">a tab view</doc>
            <type name="TabView" c:type="AdwTabView*"/>
          </instance-parameter>
          <parameter name="page" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4535">a page of @self</doc>
            <type name="TabPage" c:type="AdwTabPage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="reorder_forward"
              c:identifier="adw_tab_view_reorder_forward">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="4501">Reorders @page to after its next page if possible.</doc>
        <source-position filename="src/adw-tab-view.h" line="252"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-view.c"
               line="4508">whether @page was moved</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4503">a tab view</doc>
            <type name="TabView" c:type="AdwTabView*"/>
          </instance-parameter>
          <parameter name="page" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4504">a page of @self</doc>
            <type name="TabPage" c:type="AdwTabPage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="reorder_last" c:identifier="adw_tab_view_reorder_last">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="4558">Reorders @page to the last possible position.</doc>
        <source-position filename="src/adw-tab-view.h" line="258"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-view.c"
               line="4565">whether @page was moved</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4560">a tab view</doc>
            <type name="TabView" c:type="AdwTabView*"/>
          </instance-parameter>
          <parameter name="page" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4561">a page of @self</doc>
            <type name="TabPage" c:type="AdwTabPage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="reorder_page" c:identifier="adw_tab_view_reorder_page">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="4414">Reorders @page to @position.

It's a programmer error to try to reorder a pinned page after a non-pinned
one, or a non-pinned page before a pinned one.</doc>
        <source-position filename="src/adw-tab-view.h" line="245"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-view.c"
               line="4425">whether @page was moved</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4416">a tab view</doc>
            <type name="TabView" c:type="AdwTabView*"/>
          </instance-parameter>
          <parameter name="page" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4417">a page of @self</doc>
            <type name="TabPage" c:type="AdwTabPage*"/>
          </parameter>
          <parameter name="position" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4418">the position to insert the page at, starting at 0</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="select_next_page"
              c:identifier="adw_tab_view_select_next_page">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="3626">Selects the page after the currently selected page.

If the last page was already selected, this function does nothing.</doc>
        <source-position filename="src/adw-tab-view.h" line="156"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-view.c"
               line="3634">whether the selected page was changed</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3628">a tab view</doc>
            <type name="TabView" c:type="AdwTabView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="select_previous_page"
              c:identifier="adw_tab_view_select_previous_page">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="3593">Selects the page before the currently selected page.

If the first page was already selected, this function does nothing.</doc>
        <source-position filename="src/adw-tab-view.h" line="154"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-view.c"
               line="3601">whether the selected page was changed</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3595">a tab view</doc>
            <type name="TabView" c:type="AdwTabView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_default_icon"
              c:identifier="adw_tab_view_set_default_icon"
              glib:set-property="default-icon">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="3733">Sets the default page icon for @self.

If a page doesn't provide its own icon via [property@TabPage:icon], a default
icon may be used instead for contexts where having an icon is necessary.

[class@TabBar] will use default icon for pinned tabs in case the page is not
loading, doesn't have an icon and an indicator. Default icon is never used
for tabs that aren't pinned.

[class@TabOverview] will use default icon for pages with missing thumbnails.

By default, the `adw-tab-icon-missing-symbolic` icon is used.</doc>
        <source-position filename="src/adw-tab-view.h" line="161"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3735">a tab view</doc>
            <type name="TabView" c:type="AdwTabView*"/>
          </instance-parameter>
          <parameter name="default_icon" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3736">the default icon</doc>
            <type name="Gio.Icon" c:type="GIcon*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_menu_model"
              c:identifier="adw_tab_view_set_menu_model"
              glib:set-property="menu-model">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="3790">Sets the tab context menu model for @self.

When a context menu is shown for a tab, it will be constructed from the
provided menu model. Use the [signal@TabView::setup-menu] signal to set up
the menu actions for the particular tab.</doc>
        <source-position filename="src/adw-tab-view.h" line="167"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3792">a tab view</doc>
            <type name="TabView" c:type="AdwTabView*"/>
          </instance-parameter>
          <parameter name="menu_model"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3793">a menu model</doc>
            <type name="Gio.MenuModel" c:type="GMenuModel*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_page_pinned"
              c:identifier="adw_tab_view_set_page_pinned">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="3906">Pins or unpins @page.

Pinned pages are guaranteed to be placed before all non-pinned pages; at any
given moment the first [property@TabView:n-pinned-pages] pages in @self are
guaranteed to be pinned.

When a page is pinned or unpinned, it's automatically reordered: pinning a
page moves it after other pinned pages; unpinning a page moves it before
other non-pinned pages.

Pinned pages can still be reordered between each other.

[class@TabBar] will display pinned pages in a compact form, never showing the
title or close button, and only showing a single icon, selected in the
following order:

1. [property@TabPage:indicator-icon]
2. A spinner if [property@TabPage:loading] is `TRUE`
3. [property@TabPage:icon]
4. [property@TabView:default-icon]

[class@TabOverview] will not show a thumbnail for pinned pages, and replace
the close button with an unpin button. Unlike `AdwTabBar`, it will still
display the page's title, icon and indicator separately.

Pinned pages cannot be closed by default, see [signal@TabView::close-page]
for how to override that behavior.

Changes the value of the [property@TabPage:pinned] property.</doc>
        <source-position filename="src/adw-tab-view.h" line="183"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3908">a tab view</doc>
            <type name="TabView" c:type="AdwTabView*"/>
          </instance-parameter>
          <parameter name="page" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3909">a page of @self</doc>
            <type name="TabPage" c:type="AdwTabPage*"/>
          </parameter>
          <parameter name="pinned" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3910">whether @page should be pinned</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_selected_page"
              c:identifier="adw_tab_view_set_selected_page"
              glib:set-property="selected-page">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="3570">Sets the currently selected page in @self.</doc>
        <source-position filename="src/adw-tab-view.h" line="150"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3572">a tab view</doc>
            <type name="TabView" c:type="AdwTabView*"/>
          </instance-parameter>
          <parameter name="selected_page" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3573">a page in @self</doc>
            <type name="TabPage" c:type="AdwTabPage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_shortcuts"
              c:identifier="adw_tab_view_set_shortcuts"
              glib:set-property="shortcuts"
              version="1.2">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="3834">Sets the enabled shortcuts for @self.

See [flags@TabViewShortcuts] for the list of the available shortcuts. All of
the shortcuts are enabled by default.

[method@TabView.add_shortcuts] and [method@TabView.remove_shortcuts] provide
a convenient way to manage individual shortcuts.</doc>
        <source-position filename="src/adw-tab-view.h" line="173"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3836">a tab view</doc>
            <type name="TabView" c:type="AdwTabView*"/>
          </instance-parameter>
          <parameter name="shortcuts" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="3837">the new shortcuts</doc>
            <type name="TabViewShortcuts" c:type="AdwTabViewShortcuts"/>
          </parameter>
        </parameters>
      </method>
      <method name="transfer_page" c:identifier="adw_tab_view_transfer_page">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="4622">Transfers @page from @self to @other_view.

The @page object will be reused.

It's a programmer error to try to insert a pinned page after a non-pinned
one, or a non-pinned page before a pinned one.</doc>
        <source-position filename="src/adw-tab-view.h" line="262"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4624">a tab view</doc>
            <type name="TabView" c:type="AdwTabView*"/>
          </instance-parameter>
          <parameter name="page" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4625">a page of @self</doc>
            <type name="TabPage" c:type="AdwTabPage*"/>
          </parameter>
          <parameter name="other_view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4626">the tab view to transfer the page to</doc>
            <type name="TabView" c:type="AdwTabView*"/>
          </parameter>
          <parameter name="position" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="4627">the position to insert the page at, starting at 0</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <property name="default-icon"
                writable="1"
                transfer-ownership="none"
                setter="set_default_icon"
                getter="get_default_icon">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="2465">Default page icon.

If a page doesn't provide its own icon via [property@TabPage:icon], a
default icon may be used instead for contexts where having an icon is
necessary.

[class@TabBar] will use default icon for pinned tabs in case the page is
not loading, doesn't have an icon and an indicator. Default icon is never
used for tabs that aren't pinned.

[class@TabOverview] will use default icon for pages with missing
thumbnails.

By default, the `adw-tab-icon-missing-symbolic` icon is used.</doc>
        <type name="Gio.Icon"/>
      </property>
      <property name="is-transferring-page"
                transfer-ownership="none"
                getter="get_is_transferring_page"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="2439">Whether a page is being transferred.

This property will be set to `TRUE` when a drag-n-drop tab transfer starts
on any `AdwTabView`, and to `FALSE` after it ends.

During the transfer, children cannot receive pointer input and a tab can
be safely dropped on the tab view.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="menu-model"
                writable="1"
                transfer-ownership="none"
                setter="set_menu_model"
                getter="get_menu_model">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="2488">Tab context menu model.

When a context menu is shown for a tab, it will be constructed from the
provided menu model. Use the [signal@TabView::setup-menu] signal to set up
the menu actions for the particular tab.</doc>
        <type name="Gio.MenuModel"/>
      </property>
      <property name="n-pages"
                transfer-ownership="none"
                getter="get_n_pages"
                default-value="0">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="2417">The number of pages in the tab view.</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="n-pinned-pages"
                transfer-ownership="none"
                getter="get_n_pinned_pages"
                default-value="0">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="2427">The number of pinned pages in the tab view.

See [method@TabView.set_page_pinned].</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="pages" transfer-ownership="none" getter="get_pages">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="2521">A selection model with the tab view's pages.

This can be used to keep an up-to-date view. The model also implements
[iface@Gtk.SelectionModel] and can be used to track and change the selected
page.</doc>
        <type name="Gtk.SelectionModel"/>
      </property>
      <property name="selected-page"
                writable="1"
                transfer-ownership="none"
                setter="set_selected_page"
                getter="get_selected_page">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="2455">The currently selected page.</doc>
        <type name="TabPage"/>
      </property>
      <property name="shortcuts"
                version="1.2"
                writable="1"
                transfer-ownership="none"
                setter="set_shortcuts"
                getter="get_shortcuts"
                default-value="ADW_TAB_VIEW_SHORTCUT_CONTROL_TAB | ADW_TAB_VIEW_SHORTCUT_CONTROL_SHIFT_TAB | ADW_TAB_VIEW_SHORTCUT_CONTROL_PAGE_UP | ADW_TAB_VIEW_SHORTCUT_CONTROL_PAGE_DOWN | ADW_TAB_VIEW_SHORTCUT_CONTROL_HOME | ADW_TAB_VIEW_SHORTCUT_CONTROL_END | ADW_TAB_VIEW_SHORTCUT_CONTROL_SHIFT_PAGE_UP | ADW_TAB_VIEW_SHORTCUT_CONTROL_SHIFT_PAGE_DOWN | ADW_TAB_VIEW_SHORTCUT_CONTROL_SHIFT_HOME | ADW_TAB_VIEW_SHORTCUT_CONTROL_SHIFT_END | ADW_TAB_VIEW_SHORTCUT_ALT_DIGITS | ADW_TAB_VIEW_SHORTCUT_ALT_ZERO">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="2502">The enabled shortcuts.

See [flags@TabViewShortcuts] for the list of the available shortcuts. All
of the shortcuts are enabled by default.

[method@TabView.add_shortcuts] and [method@TabView.remove_shortcuts]
provide a convenient way to manage individual shortcuts.</doc>
        <type name="TabViewShortcuts"/>
      </property>
      <glib:signal name="close-page" when="last">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="2614">Emitted after [method@TabView.close_page] has been called for @page.

The handler is expected to call [method@TabView.close_page_finish] to
confirm or reject the closing.

The default handler will immediately confirm closing for non-pinned pages,
or reject it for pinned pages, equivalent to the following example:

```c
static gboolean
close_page_cb (AdwTabView *view,
               AdwTabPage *page,
               gpointer    user_data)
{
  adw_tab_view_close_page_finish (view, page, !adw_tab_page_get_pinned (page));

  return GDK_EVENT_STOP;
}
```

The [method@TabView.close_page_finish] call doesn't have to happen inside
the handler, so can be used to do asynchronous checks before confirming the
closing.

A typical reason to connect to this signal is to show a confirmation dialog
for closing a tab.

The signal handler should return `GDK_EVENT_STOP` to stop propagation or
`GDK_EVENT_CONTINUE` to invoke the default handler.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-tab-view.c"
               line="2649">whether propagation should be stopped</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="page" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="2617">a page of @self</doc>
            <type name="TabPage"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="create-window" when="last">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="2692">Emitted when a tab should be transferred into a new window.

This can happen after a tab has been dropped on desktop.

The signal handler is expected to create a new window, position it as
needed and return its `AdwTabView` that the page will be transferred into.</doc>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-tab-view.c"
               line="2703">the `AdwTabView` from the new window</doc>
          <type name="TabView"/>
        </return-value>
      </glib:signal>
      <glib:signal name="indicator-activated" when="last">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="2719">Emitted after the indicator icon on @page has been activated.

See [property@TabPage:indicator-icon] and
[property@TabPage:indicator-activatable].</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="page" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="2722">a page of @self</doc>
            <type name="TabPage"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="page-attached" when="last">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="2537">Emitted when a page has been created or transferred to @self.

A typical reason to connect to this signal would be to connect to page
signals for things such as updating window title.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="page" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="2540">a page of @self</doc>
            <type name="TabPage"/>
          </parameter>
          <parameter name="position" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="2541">the position of the page, starting from 0</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="page-detached" when="last">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="2562">Emitted when a page has been removed or transferred to another view.

A typical reason to connect to this signal would be to disconnect signal
handlers connected in the [signal@TabView::page-attached] handler.

It is important not to try and destroy the page child in the handler of
this function as the child might merely be moved to another window; use
child dispose handler for that or do it in sync with your
[method@TabView.close_page_finish] calls.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="page" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="2565">a page of @self</doc>
            <type name="TabPage"/>
          </parameter>
          <parameter name="position" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="2566">the position of the removed page, starting from 0</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="page-reordered" when="last">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="2592">Emitted after @page has been reordered to @position.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="page" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="2595">a page of @self</doc>
            <type name="TabPage"/>
          </parameter>
          <parameter name="position" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="2596">the position @page was moved to, starting at 0</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="setup-menu" when="last">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="2666">Emitted when a context menu is opened or closed for @page.

If the menu has been closed, @page will be set to `NULL`.

It can be used to set up menu actions before showing the menu, for example
disable actions not applicable to @page.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="page"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-tab-view.c"
                 line="2669">a page of @self</doc>
            <type name="TabPage"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="TabViewClass"
            c:type="AdwTabViewClass"
            glib:is-gtype-struct-for="TabView">
      <source-position filename="src/adw-tab-view.h" line="134"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
    </record>
    <bitfield name="TabViewShortcuts"
              version="1.2"
              glib:type-name="AdwTabViewShortcuts"
              glib:get-type="adw_tab_view_shortcuts_get_type"
              c:type="AdwTabViewShortcuts">
      <doc xml:space="preserve"
           filename="src/adw-tab-view.c"
           line="83">Describes available shortcuts in an [class@TabView].

Shortcuts can be set with [property@TabView:shortcuts], or added/removed
individually with [method@TabView.add_shortcuts] and
[method@TabView.remove_shortcuts].

New values may be added to this enumeration over time.</doc>
      <member name="none"
              value="0"
              c:identifier="ADW_TAB_VIEW_SHORTCUT_NONE"
              glib:nick="none"
              glib:name="ADW_TAB_VIEW_SHORTCUT_NONE">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="85">No shortcuts</doc>
      </member>
      <member name="control_tab"
              value="1"
              c:identifier="ADW_TAB_VIEW_SHORTCUT_CONTROL_TAB"
              glib:nick="control-tab"
              glib:name="ADW_TAB_VIEW_SHORTCUT_CONTROL_TAB">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="86">&lt;kbd&gt;Ctrl&lt;/kbd&gt;+&lt;kbd&gt;Tab&lt;/kbd&gt; - switch to the next page</doc>
      </member>
      <member name="control_shift_tab"
              value="2"
              c:identifier="ADW_TAB_VIEW_SHORTCUT_CONTROL_SHIFT_TAB"
              glib:nick="control-shift-tab"
              glib:name="ADW_TAB_VIEW_SHORTCUT_CONTROL_SHIFT_TAB">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="88">&lt;kbd&gt;Shift&lt;/kbd&gt;+&lt;kbd&gt;Ctrl&lt;/kbd&gt;+&lt;kbd&gt;Tab&lt;/kbd&gt; - switch to the previous
  page</doc>
      </member>
      <member name="control_page_up"
              value="4"
              c:identifier="ADW_TAB_VIEW_SHORTCUT_CONTROL_PAGE_UP"
              glib:nick="control-page-up"
              glib:name="ADW_TAB_VIEW_SHORTCUT_CONTROL_PAGE_UP">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="91">&lt;kbd&gt;Ctrl&lt;/kbd&gt;+&lt;kbd&gt;Page Up&lt;/kbd&gt; - switch to the previous page</doc>
      </member>
      <member name="control_page_down"
              value="8"
              c:identifier="ADW_TAB_VIEW_SHORTCUT_CONTROL_PAGE_DOWN"
              glib:nick="control-page-down"
              glib:name="ADW_TAB_VIEW_SHORTCUT_CONTROL_PAGE_DOWN">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="93">&lt;kbd&gt;Ctrl&lt;/kbd&gt;+&lt;kbd&gt;Page Down&lt;/kbd&gt; - switch to the next page</doc>
      </member>
      <member name="control_home"
              value="16"
              c:identifier="ADW_TAB_VIEW_SHORTCUT_CONTROL_HOME"
              glib:nick="control-home"
              glib:name="ADW_TAB_VIEW_SHORTCUT_CONTROL_HOME">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="95">&lt;kbd&gt;Ctrl&lt;/kbd&gt;+&lt;kbd&gt;Home&lt;/kbd&gt; - switch to the first page</doc>
      </member>
      <member name="control_end"
              value="32"
              c:identifier="ADW_TAB_VIEW_SHORTCUT_CONTROL_END"
              glib:nick="control-end"
              glib:name="ADW_TAB_VIEW_SHORTCUT_CONTROL_END">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="97">&lt;kbd&gt;Ctrl&lt;/kbd&gt;+&lt;kbd&gt;End&lt;/kbd&gt; - switch to the last page</doc>
      </member>
      <member name="control_shift_page_up"
              value="64"
              c:identifier="ADW_TAB_VIEW_SHORTCUT_CONTROL_SHIFT_PAGE_UP"
              glib:nick="control-shift-page-up"
              glib:name="ADW_TAB_VIEW_SHORTCUT_CONTROL_SHIFT_PAGE_UP">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="99">&lt;kbd&gt;Ctrl&lt;/kbd&gt;+&lt;kbd&gt;Shift&lt;/kbd&gt;+&lt;kbd&gt;Page Up&lt;/kbd&gt; - move the selected
  page backward</doc>
      </member>
      <member name="control_shift_page_down"
              value="128"
              c:identifier="ADW_TAB_VIEW_SHORTCUT_CONTROL_SHIFT_PAGE_DOWN"
              glib:nick="control-shift-page-down"
              glib:name="ADW_TAB_VIEW_SHORTCUT_CONTROL_SHIFT_PAGE_DOWN">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="102">&lt;kbd&gt;Ctrl&lt;/kbd&gt;+&lt;kbd&gt;Shift&lt;/kbd&gt;+&lt;kbd&gt;Page Down&lt;/kbd&gt; - move the selected
  page forward</doc>
      </member>
      <member name="control_shift_home"
              value="256"
              c:identifier="ADW_TAB_VIEW_SHORTCUT_CONTROL_SHIFT_HOME"
              glib:nick="control-shift-home"
              glib:name="ADW_TAB_VIEW_SHORTCUT_CONTROL_SHIFT_HOME">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="105">&lt;kbd&gt;Ctrl&lt;/kbd&gt;+&lt;kbd&gt;Shift&lt;/kbd&gt;+&lt;kbd&gt;Home&lt;/kbd&gt; - move the selected page
  at the start</doc>
      </member>
      <member name="control_shift_end"
              value="512"
              c:identifier="ADW_TAB_VIEW_SHORTCUT_CONTROL_SHIFT_END"
              glib:nick="control-shift-end"
              glib:name="ADW_TAB_VIEW_SHORTCUT_CONTROL_SHIFT_END">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="108">&lt;kbd&gt;Ctrl&lt;/kbd&gt;+&lt;kbd&gt;Shift&lt;/kbd&gt;+&lt;kbd&gt;End&lt;/kbd&gt; - move the current page at
  the end</doc>
      </member>
      <member name="alt_digits"
              value="1024"
              c:identifier="ADW_TAB_VIEW_SHORTCUT_ALT_DIGITS"
              glib:nick="alt-digits"
              glib:name="ADW_TAB_VIEW_SHORTCUT_ALT_DIGITS">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="111">&lt;kbd&gt;Alt&lt;/kbd&gt;+&lt;kbd&gt;1&lt;/kbd&gt;⋯&lt;kbd&gt;9&lt;/kbd&gt; - switch to pages 1-9</doc>
      </member>
      <member name="alt_zero"
              value="2048"
              c:identifier="ADW_TAB_VIEW_SHORTCUT_ALT_ZERO"
              glib:nick="alt-zero"
              glib:name="ADW_TAB_VIEW_SHORTCUT_ALT_ZERO">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="113">&lt;kbd&gt;Alt&lt;/kbd&gt;+&lt;kbd&gt;0&lt;/kbd&gt; - switch to page 10</doc>
      </member>
      <member name="all_shortcuts"
              value="4095"
              c:identifier="ADW_TAB_VIEW_SHORTCUT_ALL_SHORTCUTS"
              glib:nick="all-shortcuts"
              glib:name="ADW_TAB_VIEW_SHORTCUT_ALL_SHORTCUTS">
        <doc xml:space="preserve"
             filename="src/adw-tab-view.c"
             line="115">All of the shortcuts</doc>
      </member>
    </bitfield>
    <class name="TimedAnimation"
           c:symbol-prefix="timed_animation"
           c:type="AdwTimedAnimation"
           parent="Animation"
           final="1"
           glib:type-name="AdwTimedAnimation"
           glib:get-type="adw_timed_animation_get_type"
           glib:type-struct="TimedAnimationClass">
      <doc xml:space="preserve"
           filename="src/adw-timed-animation.c"
           line="14">A time-based [class@Animation].

`AdwTimedAnimation` implements a simple animation interpolating the given
value from [property@TimedAnimation:value-from] to
[property@TimedAnimation:value-to] over
[property@TimedAnimation:duration] milliseconds using the curve described by
[property@TimedAnimation:easing].

If [property@TimedAnimation:reverse] is set to `TRUE`, `AdwTimedAnimation`
will instead animate from [property@TimedAnimation:value-to] to
[property@TimedAnimation:value-from], and the easing curve will be inverted.

The animation can repeat a certain amount of times, or endlessly, depending
on the [property@TimedAnimation:repeat-count] value. If
[property@TimedAnimation:alternate] is set to `TRUE`, it will also change the
direction every other iteration.</doc>
      <source-position filename="src/adw-timed-animation.h" line="25"/>
      <constructor name="new" c:identifier="adw_timed_animation_new">
        <doc xml:space="preserve"
             filename="src/adw-timed-animation.c"
             line="320">Creates a new `AdwTimedAnimation` on @widget to animate @target from @from
to @to.</doc>
        <source-position filename="src/adw-timed-animation.h" line="28"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-timed-animation.c"
               line="331">the newly created animation</doc>
          <type name="Animation" c:type="AdwAnimation*"/>
        </return-value>
        <parameters>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-timed-animation.c"
                 line="322">a widget to create animation on</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="from" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-timed-animation.c"
                 line="323">a value to animate from</doc>
            <type name="gdouble" c:type="double"/>
          </parameter>
          <parameter name="to" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-timed-animation.c"
                 line="324">a value to animate to</doc>
            <type name="gdouble" c:type="double"/>
          </parameter>
          <parameter name="duration" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-timed-animation.c"
                 line="325">a duration for the animation</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="target" transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/adw-timed-animation.c"
                 line="326">a target value to animate</doc>
            <type name="AnimationTarget" c:type="AdwAnimationTarget*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_alternate"
              c:identifier="adw_timed_animation_get_alternate"
              glib:get-property="alternate">
        <doc xml:space="preserve"
             filename="src/adw-timed-animation.c"
             line="600">Gets whether @self changes direction on every iteration.</doc>
        <source-position filename="src/adw-timed-animation.h" line="71"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-timed-animation.c"
               line="606">whether @self alternates</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-timed-animation.c"
                 line="602">a timed animation</doc>
            <type name="TimedAnimation" c:type="AdwTimedAnimation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_duration"
              c:identifier="adw_timed_animation_get_duration"
              glib:get-property="duration">
        <doc xml:space="preserve"
             filename="src/adw-timed-animation.c"
             line="444">Gets the duration of @self.</doc>
        <source-position filename="src/adw-timed-animation.h" line="47"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-timed-animation.c"
               line="450">the duration of @self, in milliseconds</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-timed-animation.c"
                 line="446">a timed animation</doc>
            <type name="TimedAnimation" c:type="AdwTimedAnimation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_easing"
              c:identifier="adw_timed_animation_get_easing"
              glib:get-property="easing">
        <doc xml:space="preserve"
             filename="src/adw-timed-animation.c"
             line="483">Gets the easing function @self uses.</doc>
        <source-position filename="src/adw-timed-animation.h" line="53"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-timed-animation.c"
               line="489">the easing function @self uses</doc>
          <type name="Easing" c:type="AdwEasing"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-timed-animation.c"
                 line="485">a timed animation</doc>
            <type name="TimedAnimation" c:type="AdwTimedAnimation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_repeat_count"
              c:identifier="adw_timed_animation_get_repeat_count"
              glib:get-property="repeat-count">
        <doc xml:space="preserve"
             filename="src/adw-timed-animation.c"
             line="524">Gets the number of times @self will play.</doc>
        <source-position filename="src/adw-timed-animation.h" line="59"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-timed-animation.c"
               line="530">the number of times @self will play</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-timed-animation.c"
                 line="526">a timed animation</doc>
            <type name="TimedAnimation" c:type="AdwTimedAnimation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_reverse"
              c:identifier="adw_timed_animation_get_reverse"
              glib:get-property="reverse">
        <doc xml:space="preserve"
             filename="src/adw-timed-animation.c"
             line="563">Gets whether @self plays backwards.</doc>
        <source-position filename="src/adw-timed-animation.h" line="65"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-timed-animation.c"
               line="569">whether @self plays backwards</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-timed-animation.c"
                 line="565">a timed animation</doc>
            <type name="TimedAnimation" c:type="AdwTimedAnimation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_value_from"
              c:identifier="adw_timed_animation_get_value_from"
              glib:get-property="value-from">
        <doc xml:space="preserve"
             filename="src/adw-timed-animation.c"
             line="358">Gets the value @self will animate from.</doc>
        <source-position filename="src/adw-timed-animation.h" line="35"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-timed-animation.c"
               line="364">the value to animate from</doc>
          <type name="gdouble" c:type="double"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-timed-animation.c"
                 line="360">a timed animation</doc>
            <type name="TimedAnimation" c:type="AdwTimedAnimation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_value_to"
              c:identifier="adw_timed_animation_get_value_to"
              glib:get-property="value-to">
        <doc xml:space="preserve"
             filename="src/adw-timed-animation.c"
             line="401">Gets the value @self will animate to.</doc>
        <source-position filename="src/adw-timed-animation.h" line="41"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-timed-animation.c"
               line="407">the value to animate to</doc>
          <type name="gdouble" c:type="double"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-timed-animation.c"
                 line="403">a timed animation</doc>
            <type name="TimedAnimation" c:type="AdwTimedAnimation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_alternate"
              c:identifier="adw_timed_animation_set_alternate"
              glib:set-property="alternate">
        <doc xml:space="preserve"
             filename="src/adw-timed-animation.c"
             line="616">Sets whether @self changes direction on every iteration.</doc>
        <source-position filename="src/adw-timed-animation.h" line="73"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-timed-animation.c"
                 line="618">a timed animation</doc>
            <type name="TimedAnimation" c:type="AdwTimedAnimation*"/>
          </instance-parameter>
          <parameter name="alternate" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-timed-animation.c"
                 line="619">whether @self alternates</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_duration"
              c:identifier="adw_timed_animation_set_duration"
              glib:set-property="duration">
        <doc xml:space="preserve"
             filename="src/adw-timed-animation.c"
             line="460">Sets the duration of @self.

If the animation repeats more than once, sets the duration of one iteration.</doc>
        <source-position filename="src/adw-timed-animation.h" line="49"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-timed-animation.c"
                 line="462">a timed animation</doc>
            <type name="TimedAnimation" c:type="AdwTimedAnimation*"/>
          </instance-parameter>
          <parameter name="duration" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-timed-animation.c"
                 line="463">the duration to use, in milliseconds</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_easing"
              c:identifier="adw_timed_animation_set_easing"
              glib:set-property="easing">
        <doc xml:space="preserve"
             filename="src/adw-timed-animation.c"
             line="500">Sets the easing function @self will use.

See [enum@Easing] for the description of specific easing functions.</doc>
        <source-position filename="src/adw-timed-animation.h" line="55"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-timed-animation.c"
                 line="502">a timed animation</doc>
            <type name="TimedAnimation" c:type="AdwTimedAnimation*"/>
          </instance-parameter>
          <parameter name="easing" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-timed-animation.c"
                 line="503">the easing function to use</doc>
            <type name="Easing" c:type="AdwEasing"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_repeat_count"
              c:identifier="adw_timed_animation_set_repeat_count"
              glib:set-property="repeat-count">
        <doc xml:space="preserve"
             filename="src/adw-timed-animation.c"
             line="540">Sets the number of times @self will play.

If set to 0, @self will repeat endlessly.</doc>
        <source-position filename="src/adw-timed-animation.h" line="61"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-timed-animation.c"
                 line="542">a timed animation</doc>
            <type name="TimedAnimation" c:type="AdwTimedAnimation*"/>
          </instance-parameter>
          <parameter name="repeat_count" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-timed-animation.c"
                 line="543">the number of times @self will play</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_reverse"
              c:identifier="adw_timed_animation_set_reverse"
              glib:set-property="reverse">
        <doc xml:space="preserve"
             filename="src/adw-timed-animation.c"
             line="579">Sets whether @self plays backwards.</doc>
        <source-position filename="src/adw-timed-animation.h" line="67"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-timed-animation.c"
                 line="581">a timed animation</doc>
            <type name="TimedAnimation" c:type="AdwTimedAnimation*"/>
          </instance-parameter>
          <parameter name="reverse" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-timed-animation.c"
                 line="582">whether @self plays backwards</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_value_from"
              c:identifier="adw_timed_animation_set_value_from"
              glib:set-property="value-from">
        <doc xml:space="preserve"
             filename="src/adw-timed-animation.c"
             line="374">Sets the value @self will animate from.

The animation will start at this value and end at
[property@TimedAnimation:value-to].

If [property@TimedAnimation:reverse] is `TRUE`, the animation will end at
this value instead.</doc>
        <source-position filename="src/adw-timed-animation.h" line="37"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-timed-animation.c"
                 line="376">a timed animation</doc>
            <type name="TimedAnimation" c:type="AdwTimedAnimation*"/>
          </instance-parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-timed-animation.c"
                 line="377">the value to animate from</doc>
            <type name="gdouble" c:type="double"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_value_to"
              c:identifier="adw_timed_animation_set_value_to"
              glib:set-property="value-to">
        <doc xml:space="preserve"
             filename="src/adw-timed-animation.c"
             line="417">Sets the value @self will animate to.

The animation will start at [property@TimedAnimation:value-from] and end at
this value.

If [property@TimedAnimation:reverse] is `TRUE`, the animation will start
at this value instead.</doc>
        <source-position filename="src/adw-timed-animation.h" line="43"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-timed-animation.c"
                 line="419">a timed animation</doc>
            <type name="TimedAnimation" c:type="AdwTimedAnimation*"/>
          </instance-parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-timed-animation.c"
                 line="420">the value to animate to</doc>
            <type name="gdouble" c:type="double"/>
          </parameter>
        </parameters>
      </method>
      <property name="alternate"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_alternate"
                getter="get_alternate"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-timed-animation.c"
             line="302">Whether the animation changes direction on every iteration.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="duration"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_duration"
                getter="get_duration"
                default-value="0">
        <doc xml:space="preserve"
             filename="src/adw-timed-animation.c"
             line="246">Duration of the animation, in milliseconds.

Describes how much time the animation will take.

If the animation repeats more than once, describes the duration of one
iteration.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="easing"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_easing"
                getter="get_easing"
                default-value="ADW_EASE_OUT_CUBIC">
        <doc xml:space="preserve"
             filename="src/adw-timed-animation.c"
             line="263">Easing function used in the animation.

Describes the curve the value is interpolated on.

See [enum@Easing] for the description of specific easing functions.</doc>
        <type name="Easing"/>
      </property>
      <property name="repeat-count"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_repeat_count"
                getter="get_repeat_count"
                default-value="1">
        <doc xml:space="preserve"
             filename="src/adw-timed-animation.c"
             line="278">Number of times the animation will play.

If set to 0, the animation will repeat endlessly.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="reverse"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_reverse"
                getter="get_reverse"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-timed-animation.c"
             line="292">Whether the animation plays backwards.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="value-from"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_value_from"
                getter="get_value_from"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="src/adw-timed-animation.c"
             line="210">The value to animate from.

The animation will start at this value and end at
[property@TimedAnimation:value-to].

If [property@TimedAnimation:reverse] is `TRUE`, the animation will end at
this value instead.</doc>
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="value-to"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_value_to"
                getter="get_value_to"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="src/adw-timed-animation.c"
             line="228">The value to animate to.

The animation will start at [property@TimedAnimation:value-from] and end at
this value.

If [property@TimedAnimation:reverse] is `TRUE`, the animation will start
at this value instead.</doc>
        <type name="gdouble" c:type="gdouble"/>
      </property>
    </class>
    <record name="TimedAnimationClass"
            c:type="AdwTimedAnimationClass"
            disguised="1"
            opaque="1"
            glib:is-gtype-struct-for="TimedAnimation">
      <source-position filename="src/adw-timed-animation.h" line="25"/>
    </record>
    <class name="Toast"
           c:symbol-prefix="toast"
           c:type="AdwToast"
           parent="GObject.Object"
           final="1"
           glib:type-name="AdwToast"
           glib:get-type="adw_toast_get_type"
           glib:type-struct="ToastClass">
      <doc xml:space="preserve"
           filename="src/adw-toast.c"
           line="24">A helper object for [class@ToastOverlay].

Toasts are meant to be passed into [method@ToastOverlay.add_toast] as
follows:

```c
adw_toast_overlay_add_toast (overlay, adw_toast_new (_("Simple Toast")));
```

&lt;picture&gt;
  &lt;source srcset="toast-simple-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="toast-simple.png" alt="toast-simple"&gt;
&lt;/picture&gt;

Toasts always have a close button. They emit the [signal@Toast::dismissed]
signal when disappearing.

[property@Toast:timeout] determines how long the toast stays on screen, while
[property@Toast:priority] determines how it behaves if another toast is
already being displayed.

Toast titles use Pango markup by default, set [property@Toast:use-markup] to
`FALSE` if this is unwanted.

[property@Toast:custom-title] can be used to replace the title label with a
custom widget.

## Actions

Toasts can have one button on them, with a label and an attached
[iface@Gio.Action].

```c
AdwToast *toast = adw_toast_new (_("Toast with Action"));

adw_toast_set_button_label (toast, _("_Example"));
adw_toast_set_action_name (toast, "win.example");

adw_toast_overlay_add_toast (overlay, toast);
```

&lt;picture&gt;
  &lt;source srcset="toast-action-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="toast-action.png" alt="toast-action"&gt;
&lt;/picture&gt;

## Modifying toasts

Toasts can be modified after they have been shown. For this, an `AdwToast`
reference must be kept around while the toast is visible.

A common use case for this is using toasts as undo prompts that stack with
each other, allowing to batch undo the last deleted items:

```c

static void
toast_undo_cb (GtkWidget  *sender,
               const char *action,
               GVariant   *param)
{
  // Undo the deletion
}

static void
dismissed_cb (MyWindow *self)
{
  self-&gt;undo_toast = NULL;

  // Permanently delete the items
}

static void
delete_item (MyWindow *self,
             MyItem   *item)
{
  g_autofree char *title = NULL;
  int n_items;

  // Mark the item as waiting for deletion
  n_items = ... // The number of waiting items

  if (!self-&gt;undo_toast) {
    self-&gt;undo_toast = adw_toast_new_format (_("‘%s’ deleted"), ...);

    adw_toast_set_priority (self-&gt;undo_toast, ADW_TOAST_PRIORITY_HIGH);
    adw_toast_set_button_label (self-&gt;undo_toast, _("_Undo"));
    adw_toast_set_action_name (self-&gt;undo_toast, "toast.undo");

    g_signal_connect_swapped (self-&gt;undo_toast, "dismissed",
                              G_CALLBACK (dismissed_cb), self);

    adw_toast_overlay_add_toast (self-&gt;toast_overlay, self-&gt;undo_toast);

    return;
  }

  title =
    g_strdup_printf (ngettext ("&lt;span font_features='tnum=1'&gt;%d&lt;/span&gt; item deleted",
                               "&lt;span font_features='tnum=1'&gt;%d&lt;/span&gt; items deleted",
                               n_items), n_items);

  adw_toast_set_title (self-&gt;undo_toast, title);

  // Bump the toast timeout
  adw_toast_overlay_add_toast (self-&gt;toast_overlay, g_object_ref (self-&gt;undo_toast));
}

static void
my_window_class_init (MyWindowClass *klass)
{
  GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);

  gtk_widget_class_install_action (widget_class, "toast.undo", NULL, toast_undo_cb);
}
```

&lt;picture&gt;
  &lt;source srcset="toast-undo-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="toast-undo.png" alt="toast-undo"&gt;
&lt;/picture&gt;</doc>
      <source-position filename="src/adw-toast.h" line="28"/>
      <constructor name="new" c:identifier="adw_toast_new">
        <doc xml:space="preserve"
             filename="src/adw-toast.c"
             line="481">Creates a new `AdwToast`.

The toast will use @title as its title.

@title can be marked up with the Pango text markup language.</doc>
        <source-position filename="src/adw-toast.h" line="31"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/adw-toast.c"
               line="491">the new created `AdwToast`</doc>
          <type name="Toast" c:type="AdwToast*"/>
        </return-value>
        <parameters>
          <parameter name="title" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toast.c"
                 line="483">the title to be displayed</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_format"
                   c:identifier="adw_toast_new_format"
                   version="1.2"
                   introspectable="0">
        <doc xml:space="preserve"
             filename="src/adw-toast.c"
             line="503">Creates a new `AdwToast`.

The toast will use the format string as its title.

See also: [ctor@Toast.new]</doc>
        <source-position filename="src/adw-toast.h" line="33"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/adw-toast.c"
               line="514">the newly created toast object</doc>
          <type name="Toast" c:type="AdwToast*"/>
        </return-value>
        <parameters>
          <parameter name="format" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toast.c"
                 line="505">the formatted string for the toast title</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toast.c"
                 line="506">the parameters to insert into the format string</doc>
            <varargs/>
          </parameter>
        </parameters>
      </constructor>
      <method name="dismiss" c:identifier="adw_toast_dismiss">
        <doc xml:space="preserve"
             filename="src/adw-toast.c"
             line="936">Dismisses @self.

Does nothing if @self has already been dismissed, or hasn't been added to an
[class@ToastOverlay].</doc>
        <source-position filename="src/adw-toast.h" line="92"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toast.c"
                 line="938">a toast</doc>
            <type name="Toast" c:type="AdwToast*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_action_name"
              c:identifier="adw_toast_get_action_name"
              glib:get-property="action-name">
        <doc xml:space="preserve"
             filename="src/adw-toast.c"
             line="636">Gets the name of the associated action.</doc>
        <source-position filename="src/adw-toast.h" line="49"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-toast.c"
               line="642">the action name</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toast.c"
                 line="638">a toast</doc>
            <type name="Toast" c:type="AdwToast*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_action_target_value"
              c:identifier="adw_toast_get_action_target_value"
              glib:get-property="action-target">
        <doc xml:space="preserve"
             filename="src/adw-toast.c"
             line="675">Gets the parameter for action invocations.</doc>
        <source-position filename="src/adw-toast.h" line="55"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-toast.c"
               line="681">the action target</doc>
          <type name="GLib.Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toast.c"
                 line="677">a toast</doc>
            <type name="Toast" c:type="AdwToast*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_button_label"
              c:identifier="adw_toast_get_button_label"
              glib:get-property="button-label">
        <doc xml:space="preserve"
             filename="src/adw-toast.c"
             line="595">Gets the label to show on the button.</doc>
        <source-position filename="src/adw-toast.h" line="43"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-toast.c"
               line="601">the button label</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toast.c"
                 line="597">a toast</doc>
            <type name="Toast" c:type="AdwToast*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_custom_title"
              c:identifier="adw_toast_get_custom_title"
              glib:get-property="custom-title"
              version="1.2">
        <doc xml:space="preserve"
             filename="src/adw-toast.c"
             line="880">Gets the custom title widget of @self.</doc>
        <source-position filename="src/adw-toast.h" line="80"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-toast.c"
               line="886">the custom title widget</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toast.c"
                 line="882">a toast</doc>
            <type name="Toast" c:type="AdwToast*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_priority"
              c:identifier="adw_toast_get_priority"
              glib:get-property="priority">
        <doc xml:space="preserve"
             filename="src/adw-toast.c"
             line="790">Gets priority for @self.</doc>
        <source-position filename="src/adw-toast.h" line="68"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-toast.c"
               line="796">the priority</doc>
          <type name="ToastPriority" c:type="AdwToastPriority"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toast.c"
                 line="792">a toast</doc>
            <type name="Toast" c:type="AdwToast*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_timeout"
              c:identifier="adw_toast_get_timeout"
              glib:get-property="timeout">
        <doc xml:space="preserve"
             filename="src/adw-toast.c"
             line="837">Gets timeout for @self.</doc>
        <source-position filename="src/adw-toast.h" line="74"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-toast.c"
               line="843">the timeout</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toast.c"
                 line="839">a toast</doc>
            <type name="Toast" c:type="AdwToast*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_title"
              c:identifier="adw_toast_get_title"
              glib:get-property="title">
        <doc xml:space="preserve"
             filename="src/adw-toast.c"
             line="539">Gets the title that will be displayed on the toast.

If a custom title has been set with [method@Adw.Toast.set_custom_title]
the return value will be %NULL.</doc>
        <source-position filename="src/adw-toast.h" line="37"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-toast.c"
               line="548">the title</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toast.c"
                 line="541">a toast</doc>
            <type name="Toast" c:type="AdwToast*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_use_markup"
              c:identifier="adw_toast_get_use_markup"
              glib:get-property="use-markup"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-toast.c"
             line="974">Gets whether to use Pango markup for the toast title.</doc>
        <source-position filename="src/adw-toast.h" line="86"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-toast.c"
               line="980">whether the toast uses markup</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toast.c"
                 line="976">a toast</doc>
            <type name="Toast" c:type="AdwToast*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_action_name"
              c:identifier="adw_toast_set_action_name"
              glib:set-property="action-name">
        <doc xml:space="preserve"
             filename="src/adw-toast.c"
             line="652">Sets the name of the associated action.

It will be activated when clicking the button.

See [property@Toast:action-target].</doc>
        <source-position filename="src/adw-toast.h" line="51"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toast.c"
                 line="654">a toast</doc>
            <type name="Toast" c:type="AdwToast*"/>
          </instance-parameter>
          <parameter name="action_name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-toast.c"
                 line="655">the action name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_action_target"
              c:identifier="adw_toast_set_action_target"
              introspectable="0">
        <doc xml:space="preserve"
             filename="src/adw-toast.c"
             line="721">Sets the parameter for action invocations.

This is a convenience function that calls [ctor@GLib.Variant.new] for
@format_string and uses the result to call
[method@Toast.set_action_target_value].

If you are setting a string-valued target and want to set
the action name at the same time, you can use
[method@Toast.set_detailed_action_name].</doc>
        <source-position filename="src/adw-toast.h" line="60"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toast.c"
                 line="723">a toast</doc>
            <type name="Toast" c:type="AdwToast*"/>
          </instance-parameter>
          <parameter name="format_string"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-toast.c"
                 line="724">a variant format string</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toast.c"
                 line="725">arguments appropriate for @target_format</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="set_action_target_value"
              c:identifier="adw_toast_set_action_target_value"
              glib:set-property="action-target">
        <doc xml:space="preserve"
             filename="src/adw-toast.c"
             line="691">Sets the parameter for action invocations.

If the @action_target variant has a floating reference this function
will sink it.</doc>
        <source-position filename="src/adw-toast.h" line="57"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toast.c"
                 line="693">a toast</doc>
            <type name="Toast" c:type="AdwToast*"/>
          </instance-parameter>
          <parameter name="action_target"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-toast.c"
                 line="694">the action target</doc>
            <type name="GLib.Variant" c:type="GVariant*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_button_label"
              c:identifier="adw_toast_set_button_label"
              glib:set-property="button-label">
        <doc xml:space="preserve"
             filename="src/adw-toast.c"
             line="611">Sets the label to show on the button.

Underlines in the button text can be used to indicate a mnemonic.

If set to `NULL`, the button won't be shown.

See [property@Toast:action-name].</doc>
        <source-position filename="src/adw-toast.h" line="45"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toast.c"
                 line="613">a toast</doc>
            <type name="Toast" c:type="AdwToast*"/>
          </instance-parameter>
          <parameter name="button_label"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-toast.c"
                 line="614">a button label</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_custom_title"
              c:identifier="adw_toast_set_custom_title"
              glib:set-property="custom-title"
              version="1.2">
        <doc xml:space="preserve"
             filename="src/adw-toast.c"
             line="898">Sets the custom title widget of @self.

It will be displayed instead of the title if set. In this case,
[property@Toast:title] is ignored.

Setting a custom title will unset [property@Toast:title].</doc>
        <source-position filename="src/adw-toast.h" line="82"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toast.c"
                 line="900">a toast</doc>
            <type name="Toast" c:type="AdwToast*"/>
          </instance-parameter>
          <parameter name="widget"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-toast.c"
                 line="901">the custom title widget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_detailed_action_name"
              c:identifier="adw_toast_set_detailed_action_name">
        <doc xml:space="preserve"
             filename="src/adw-toast.c"
             line="751">Sets the action name and its parameter.

@detailed_action_name is a string in the format accepted by
[func@Gio.Action.parse_detailed_name].</doc>
        <source-position filename="src/adw-toast.h" line="64"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toast.c"
                 line="753">a toast</doc>
            <type name="Toast" c:type="AdwToast*"/>
          </instance-parameter>
          <parameter name="detailed_action_name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-toast.c"
                 line="754">the detailed action name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_priority"
              c:identifier="adw_toast_set_priority"
              glib:set-property="priority">
        <doc xml:space="preserve"
             filename="src/adw-toast.c"
             line="806">Sets priority for @self.

Priority controls how the toast behaves when another toast is already
being displayed.

If @priority is `ADW_TOAST_PRIORITY_NORMAL`, the toast will be queued.

If @priority is `ADW_TOAST_PRIORITY_HIGH`, the toast will be displayed
immediately, pushing the previous toast into the queue instead.</doc>
        <source-position filename="src/adw-toast.h" line="70"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toast.c"
                 line="808">a toast</doc>
            <type name="Toast" c:type="AdwToast*"/>
          </instance-parameter>
          <parameter name="priority" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toast.c"
                 line="809">the priority</doc>
            <type name="ToastPriority" c:type="AdwToastPriority"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_timeout"
              c:identifier="adw_toast_set_timeout"
              glib:set-property="timeout">
        <doc xml:space="preserve"
             filename="src/adw-toast.c"
             line="853">Sets timeout for @self.

If @timeout is 0, the toast is displayed indefinitely until manually
dismissed.

Toasts cannot disappear while being hovered, pressed (on touchscreen), or
have keyboard focus inside them.</doc>
        <source-position filename="src/adw-toast.h" line="76"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toast.c"
                 line="855">a toast</doc>
            <type name="Toast" c:type="AdwToast*"/>
          </instance-parameter>
          <parameter name="timeout" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toast.c"
                 line="856">the timeout</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_title"
              c:identifier="adw_toast_set_title"
              glib:set-property="title">
        <doc xml:space="preserve"
             filename="src/adw-toast.c"
             line="561">Sets the title that will be displayed on the toast.

The title can be marked up with the Pango text markup language.

Setting a title will unset [property@Toast:custom-title].

If [property@Toast:custom-title] is set, it will be used instead.</doc>
        <source-position filename="src/adw-toast.h" line="39"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toast.c"
                 line="563">a toast</doc>
            <type name="Toast" c:type="AdwToast*"/>
          </instance-parameter>
          <parameter name="title" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toast.c"
                 line="564">a title</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_use_markup"
              c:identifier="adw_toast_set_use_markup"
              glib:set-property="use-markup"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-toast.c"
             line="992">Whether to use Pango markup for the toast title.

See also [func@Pango.parse_markup].</doc>
        <source-position filename="src/adw-toast.h" line="88"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toast.c"
                 line="994">a toast</doc>
            <type name="Toast" c:type="AdwToast*"/>
          </instance-parameter>
          <parameter name="use_markup" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toast.c"
                 line="995">whether to use markup</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="action-name"
                writable="1"
                transfer-ownership="none"
                setter="set_action_name"
                getter="get_action_name"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/adw-toast.c"
             line="337">The name of the associated action.

It will be activated when clicking the button.

See [property@Toast:action-target].</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="action-target"
                writable="1"
                transfer-ownership="none"
                setter="set_action_target_value"
                getter="get_action_target_value">
        <doc xml:space="preserve"
             filename="src/adw-toast.c"
             line="351">The parameter for action invocations.</doc>
        <type name="GLib.Variant"/>
      </property>
      <property name="button-label"
                writable="1"
                transfer-ownership="none"
                setter="set_button_label"
                getter="get_button_label"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/adw-toast.c"
             line="321">The label to show on the button.

Underlines in the button text can be used to indicate a mnemonic.

If set to `NULL`, the button won't be shown.

See [property@Toast:action-name].</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="custom-title"
                version="1.2"
                writable="1"
                transfer-ownership="none"
                setter="set_custom_title"
                getter="get_custom_title">
        <doc xml:space="preserve"
             filename="src/adw-toast.c"
             line="397">The custom title widget.

It will be displayed instead of the title if set. In this case,
[property@Toast:title] is ignored.

Setting a custom title will unset [property@Toast:title].</doc>
        <type name="Gtk.Widget"/>
      </property>
      <property name="priority"
                writable="1"
                transfer-ownership="none"
                setter="set_priority"
                getter="get_priority"
                default-value="ADW_TOAST_PRIORITY_NORMAL">
        <doc xml:space="preserve"
             filename="src/adw-toast.c"
             line="362">The priority of the toast.

Priority controls how the toast behaves when another toast is already
being displayed.

If the priority is `ADW_TOAST_PRIORITY_NORMAL`, the toast will be queued.

If the priority is `ADW_TOAST_PRIORITY_HIGH`, the toast will be displayed
immediately, pushing the previous toast into the queue instead.</doc>
        <type name="ToastPriority"/>
      </property>
      <property name="timeout"
                writable="1"
                transfer-ownership="none"
                setter="set_timeout"
                getter="get_timeout"
                default-value="5">
        <doc xml:space="preserve"
             filename="src/adw-toast.c"
             line="381">The timeout of the toast, in seconds.

If timeout is 0, the toast is displayed indefinitely until manually
dismissed.

Toasts cannot disappear while being hovered, pressed (on touchscreen), or
have keyboard focus inside them.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="title"
                writable="1"
                transfer-ownership="none"
                setter="set_title"
                getter="get_title">
        <doc xml:space="preserve"
             filename="src/adw-toast.c"
             line="305">The title of the toast.

The title can be marked up with the Pango text markup language.

Setting a title will unset [property@Toast:custom-title].

If [property@Toast:custom-title] is set, it will be used instead.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="use-markup"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_use_markup"
                getter="get_use_markup"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-toast.c"
             line="414">Whether to use Pango markup for the toast title.

See also [func@Pango.parse_markup].</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <glib:signal name="button-clicked" when="last" version="1.2">
        <doc xml:space="preserve"
             filename="src/adw-toast.c"
             line="447">Emitted after the button has been clicked.

It can be used as an alternative to setting an action.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="dismissed" when="first">
        <doc xml:space="preserve"
             filename="src/adw-toast.c"
             line="430">Emitted when the toast has been dismissed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="ToastClass"
            c:type="AdwToastClass"
            glib:is-gtype-struct-for="Toast">
      <source-position filename="src/adw-toast.h" line="28"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="ToastOverlay"
           c:symbol-prefix="toast_overlay"
           c:type="AdwToastOverlay"
           parent="Gtk.Widget"
           final="1"
           glib:type-name="AdwToastOverlay"
           glib:get-type="adw_toast_overlay_get_type"
           glib:type-struct="ToastOverlayClass">
      <doc xml:space="preserve"
           filename="src/adw-toast-overlay.c"
           line="25">A widget showing toasts above its content.

&lt;picture&gt;
  &lt;source srcset="toast-overlay-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="toast-overlay.png" alt="toast-overlay"&gt;
&lt;/picture&gt;

Much like [class@Gtk.Overlay], `AdwToastOverlay` is a container with a single
main child, on top of which it can display a [class@Toast], overlaid.
Toasts can be shown with [method@ToastOverlay.add_toast].

Use [method@ToastOverlay.dismiss_all] to dismiss all toasts at once, or
[method@Toast.dismiss] to dismiss a single toast.

See [class@Toast] for details.

## CSS nodes

```
toastoverlay
├── [child]
├── toast
┊   ├── widget
┊   │   ├── [label.heading]
    │   ╰── [custom title]
    ├── [button]
    ╰── button.circular.flat
```

`AdwToastOverlay`'s CSS node is called `toastoverlay`. It contains the child,
as well as zero or more `toast` subnodes.

Each of the `toast` nodes contains a `widget` subnode, optionally a `button`
subnode, and another `button` subnode with `.circular` and `.flat` style
classes.

The `widget` subnode contains a `label` subnode with the `.heading` style
class, or a custom widget provided by the application.

## Accessibility

`AdwToastOverlay` uses the [enum@Gtk.AccessibleRole.GROUP] role.</doc>
      <source-position filename="src/adw-toast-overlay.h" line="23"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <constructor name="new" c:identifier="adw_toast_overlay_new">
        <doc xml:space="preserve"
             filename="src/adw-toast-overlay.c"
             line="581">Creates a new `AdwToastOverlay`.</doc>
        <source-position filename="src/adw-toast-overlay.h" line="26"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-toast-overlay.c"
               line="586">the new created `AdwToastOverlay`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="add_toast" c:identifier="adw_toast_overlay_add_toast">
        <doc xml:space="preserve"
             filename="src/adw-toast-overlay.c"
             line="641">Displays @toast.

Only one toast can be shown at a time; if a toast is already being displayed,
either @toast or the original toast will be placed in a queue, depending on
the priority of @toast. See [property@Toast:priority].

If called on a toast that's already displayed, its timeout will be reset.

If called on a toast currently in the queue, the toast will be bumped
forward to be shown as soon as possible.</doc>
        <source-position filename="src/adw-toast-overlay.h" line="35"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toast-overlay.c"
                 line="643">a toast overlay</doc>
            <type name="ToastOverlay" c:type="AdwToastOverlay*"/>
          </instance-parameter>
          <parameter name="toast" transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/adw-toast-overlay.c"
                 line="644">a toast</doc>
            <type name="Toast" c:type="AdwToast*"/>
          </parameter>
        </parameters>
      </method>
      <method name="dismiss_all"
              c:identifier="adw_toast_overlay_dismiss_all"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-toast-overlay.c"
             line="723">Dismisses all displayed toasts.

Use [method@Toast.dismiss] to dismiss a single toast.</doc>
        <source-position filename="src/adw-toast-overlay.h" line="39"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toast-overlay.c"
                 line="725">a toast overlay</doc>
            <type name="ToastOverlay" c:type="AdwToastOverlay*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_child"
              c:identifier="adw_toast_overlay_get_child"
              glib:get-property="child">
        <doc xml:space="preserve"
             filename="src/adw-toast-overlay.c"
             line="594">Gets the child widget of @self.</doc>
        <source-position filename="src/adw-toast-overlay.h" line="29"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-toast-overlay.c"
               line="600">the child widget of @self</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toast-overlay.c"
                 line="596">a toast overlay</doc>
            <type name="ToastOverlay" c:type="AdwToastOverlay*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_child"
              c:identifier="adw_toast_overlay_set_child"
              glib:set-property="child">
        <doc xml:space="preserve"
             filename="src/adw-toast-overlay.c"
             line="610">Sets the child widget of @self.</doc>
        <source-position filename="src/adw-toast-overlay.h" line="31"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toast-overlay.c"
                 line="612">a toast overlay</doc>
            <type name="ToastOverlay" c:type="AdwToastOverlay*"/>
          </instance-parameter>
          <parameter name="child"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-toast-overlay.c"
                 line="613">the child widget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <property name="child"
                writable="1"
                transfer-ownership="none"
                setter="set_child"
                getter="get_child">
        <doc xml:space="preserve"
             filename="src/adw-toast-overlay.c"
             line="531">The child widget.</doc>
        <type name="Gtk.Widget"/>
      </property>
    </class>
    <record name="ToastOverlayClass"
            c:type="AdwToastOverlayClass"
            glib:is-gtype-struct-for="ToastOverlay">
      <source-position filename="src/adw-toast-overlay.h" line="23"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
    </record>
    <enumeration name="ToastPriority"
                 glib:type-name="AdwToastPriority"
                 glib:get-type="adw_toast_priority_get_type"
                 c:type="AdwToastPriority">
      <doc xml:space="preserve"
           filename="src/adw-toast.c"
           line="14">[class@Toast] behavior when another toast is already displayed.</doc>
      <member name="normal"
              value="0"
              c:identifier="ADW_TOAST_PRIORITY_NORMAL"
              glib:nick="normal"
              glib:name="ADW_TOAST_PRIORITY_NORMAL">
        <doc xml:space="preserve"
             filename="src/adw-toast.c"
             line="16">the toast will be queued if another toast is
  already displayed.</doc>
      </member>
      <member name="high"
              value="1"
              c:identifier="ADW_TOAST_PRIORITY_HIGH"
              glib:nick="high"
              glib:name="ADW_TOAST_PRIORITY_HIGH">
        <doc xml:space="preserve"
             filename="src/adw-toast.c"
             line="18">the toast will be displayed immediately, pushing
  the previous toast into the queue instead.</doc>
      </member>
    </enumeration>
    <class name="Toggle"
           c:symbol-prefix="toggle"
           c:type="AdwToggle"
           version="1.7"
           parent="GObject.Object"
           final="1"
           glib:type-name="AdwToggle"
           glib:get-type="adw_toggle_get_type"
           glib:type-struct="ToggleClass">
      <doc xml:space="preserve"
           filename="src/adw-toggle-group.c"
           line="117">A toggle within [class@ToggleGroup].

`AdwToggle` can optionally have a name, set with [property@Toggle:name].
If the name is set, [property@ToggleGroup:active-name] can be used to access
toggles instead of index.</doc>
      <source-position filename="src/adw-toggle-group.h" line="25"/>
      <constructor name="new" c:identifier="adw_toggle_new" version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-toggle-group.c"
             line="1167">Creates a new `AdwToggle`.</doc>
        <source-position filename="src/adw-toggle-group.h" line="28"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/adw-toggle-group.c"
               line="1172">the newly created `AdwToggle`</doc>
          <type name="Toggle" c:type="AdwToggle*"/>
        </return-value>
      </constructor>
      <method name="get_child"
              c:identifier="adw_toggle_get_child"
              glib:get-property="child"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-toggle-group.c"
             line="1422">Gets the child widget of @self.</doc>
        <source-position filename="src/adw-toggle-group.h" line="61"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-toggle-group.c"
               line="1428">the toggle child</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toggle-group.c"
                 line="1424">a toggle</doc>
            <type name="Toggle" c:type="AdwToggle*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_enabled"
              c:identifier="adw_toggle_get_enabled"
              glib:get-property="enabled"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-toggle-group.c"
             line="1473">Gets whether @self is enabled.</doc>
        <source-position filename="src/adw-toggle-group.h" line="67"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-toggle-group.c"
               line="1479">whether the toggle is enabled</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toggle-group.c"
                 line="1475">a toggle</doc>
            <type name="Toggle" c:type="AdwToggle*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_icon_name"
              c:identifier="adw_toggle_get_icon_name"
              glib:get-property="icon-name"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-toggle-group.c"
             line="1335">Gets the icon name of @self.</doc>
        <source-position filename="src/adw-toggle-group.h" line="49"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-toggle-group.c"
               line="1341">the toggle icon name</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toggle-group.c"
                 line="1337">a toggle</doc>
            <type name="Toggle" c:type="AdwToggle*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_index"
              c:identifier="adw_toggle_get_index"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-toggle-group.c"
             line="1522">Gets the index of @self within its toggle group.</doc>
        <source-position filename="src/adw-toggle-group.h" line="73"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-toggle-group.c"
               line="1528">the index, or `GTK_INVALID_LIST_POSITION` if it's not in a group</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toggle-group.c"
                 line="1524">a toggle</doc>
            <type name="Toggle" c:type="AdwToggle*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_label"
              c:identifier="adw_toggle_get_label"
              glib:get-property="label"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-toggle-group.c"
             line="1243">Gets the label of @self.</doc>
        <source-position filename="src/adw-toggle-group.h" line="37"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-toggle-group.c"
               line="1249">the toggle label</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toggle-group.c"
                 line="1245">a toggle</doc>
            <type name="Toggle" c:type="AdwToggle*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name"
              c:identifier="adw_toggle_get_name"
              glib:get-property="name"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-toggle-group.c"
             line="1182">Gets the name of @self.</doc>
        <source-position filename="src/adw-toggle-group.h" line="31"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-toggle-group.c"
               line="1188">the toggle name</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toggle-group.c"
                 line="1184">a toggle</doc>
            <type name="Toggle" c:type="AdwToggle*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_tooltip"
              c:identifier="adw_toggle_get_tooltip"
              glib:get-property="tooltip"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-toggle-group.c"
             line="1379">Gets the tooltip of @self.</doc>
        <source-position filename="src/adw-toggle-group.h" line="55"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-toggle-group.c"
               line="1385">the toggle tooltip</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toggle-group.c"
                 line="1381">a toggle</doc>
            <type name="Toggle" c:type="AdwToggle*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_use_underline"
              c:identifier="adw_toggle_get_use_underline"
              glib:get-property="use-underline"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-toggle-group.c"
             line="1288">Gets whether @self uses underlines.</doc>
        <source-position filename="src/adw-toggle-group.h" line="43"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-toggle-group.c"
               line="1294">whether the toggle uses underlines</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toggle-group.c"
                 line="1290">a toggle</doc>
            <type name="Toggle" c:type="AdwToggle*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_child"
              c:identifier="adw_toggle_set_child"
              glib:set-property="child"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-toggle-group.c"
             line="1440">Sets the child of @self to @child.

When the child is set, icon and label are not displayed.

It's recommended to still set the label, as it can still be used by the
screen reader.</doc>
        <source-position filename="src/adw-toggle-group.h" line="63"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toggle-group.c"
                 line="1442">a toggle</doc>
            <type name="Toggle" c:type="AdwToggle*"/>
          </instance-parameter>
          <parameter name="child"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-toggle-group.c"
                 line="1443">a child widget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_enabled"
              c:identifier="adw_toggle_set_enabled"
              glib:set-property="enabled"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-toggle-group.c"
             line="1491">Sets whether @self is enabled.</doc>
        <source-position filename="src/adw-toggle-group.h" line="69"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toggle-group.c"
                 line="1493">a toggle</doc>
            <type name="Toggle" c:type="AdwToggle*"/>
          </instance-parameter>
          <parameter name="enabled" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toggle-group.c"
                 line="1494">whether the toggle should be enbled</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_icon_name"
              c:identifier="adw_toggle_set_icon_name"
              glib:set-property="icon-name"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-toggle-group.c"
             line="1353">Sets the icon name of @self to @icon_name.

The icon will be displayed alone or next to the label, unless
[property@Toggle:child] is set.</doc>
        <source-position filename="src/adw-toggle-group.h" line="51"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toggle-group.c"
                 line="1355">a toggle</doc>
            <type name="Toggle" c:type="AdwToggle*"/>
          </instance-parameter>
          <parameter name="icon_name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-toggle-group.c"
                 line="1356">the icon name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_label"
              c:identifier="adw_toggle_set_label"
              glib:set-property="label"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-toggle-group.c"
             line="1261">Sets the label of @self to @label.

The label will be displayed alone or next to the icon, unless
[property@Toggle:child] is set, but will still be read out by the screen
reader.</doc>
        <source-position filename="src/adw-toggle-group.h" line="39"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toggle-group.c"
                 line="1263">a toggle</doc>
            <type name="Toggle" c:type="AdwToggle*"/>
          </instance-parameter>
          <parameter name="label"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-toggle-group.c"
                 line="1264">a label</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_name"
              c:identifier="adw_toggle_set_name"
              glib:set-property="name"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-toggle-group.c"
             line="1200">Sets the name of @self to @name.

Allows accessing @self by its name instead of index.

See [property@ToggleGroup:active-name].</doc>
        <source-position filename="src/adw-toggle-group.h" line="33"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toggle-group.c"
                 line="1202">a toggle</doc>
            <type name="Toggle" c:type="AdwToggle*"/>
          </instance-parameter>
          <parameter name="name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-toggle-group.c"
                 line="1203">a name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_tooltip"
              c:identifier="adw_toggle_set_tooltip"
              glib:set-property="tooltip"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-toggle-group.c"
             line="1397">Sets the tooltip of @self to @tooltip.

@tooltip can be marked up with the Pango text markup language.</doc>
        <source-position filename="src/adw-toggle-group.h" line="57"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toggle-group.c"
                 line="1399">a toggle</doc>
            <type name="Toggle" c:type="AdwToggle*"/>
          </instance-parameter>
          <parameter name="tooltip" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toggle-group.c"
                 line="1400">the tooltip</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_use_underline"
              c:identifier="adw_toggle_set_use_underline"
              glib:set-property="use-underline"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-toggle-group.c"
             line="1306">Sets whether an embedded underline in the label indicates a mnemonic.

See [property@Toggle:label].</doc>
        <source-position filename="src/adw-toggle-group.h" line="45"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toggle-group.c"
                 line="1308">a toggle</doc>
            <type name="Toggle" c:type="AdwToggle*"/>
          </instance-parameter>
          <parameter name="use_underline" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toggle-group.c"
                 line="1309">whether an underline in the label indicates a mnemonic</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="child"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_child"
                getter="get_child">
        <doc xml:space="preserve"
             filename="src/adw-toggle-group.c"
             line="452">The toggle child.

When the child is set, icon and label are not displayed.

It's recommended to still set the label, as it can still be used by the
screen reader.</doc>
        <type name="Gtk.Widget"/>
      </property>
      <property name="enabled"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_enabled"
                getter="get_enabled"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-toggle-group.c"
             line="469">Whether this toggle is enabled.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="icon-name"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_icon_name"
                getter="get_icon_name"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/adw-toggle-group.c"
             line="423">The toggle icon name.

The icon will be displayed alone or next to the label, unless
[property@Toggle:child] is set.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="label"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_label"
                getter="get_label"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/adw-toggle-group.c"
             line="393">The toggle label.

The label will be displayed alone or next to the icon, unless
[property@Toggle:child] is set, but will still be read out by the screen
reader.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="name"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_name"
                getter="get_name"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/adw-toggle-group.c"
             line="377">The toggle name.

Allows accessing the toggle by its name instead of index.

See [property@ToggleGroup:active-name].</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="tooltip"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_tooltip"
                getter="get_tooltip">
        <doc xml:space="preserve"
             filename="src/adw-toggle-group.c"
             line="438">The tooltip of the toggle.

The tooltip can be marked up with the Pango text markup language.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="use-underline"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_use_underline"
                getter="get_use_underline"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-toggle-group.c"
             line="409">Whether an embedded underline in the label indicates a mnemonic.

See [property@Toggle:label].</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
    </class>
    <record name="ToggleClass"
            c:type="AdwToggleClass"
            glib:is-gtype-struct-for="Toggle">
      <source-position filename="src/adw-toggle-group.h" line="25"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="ToggleGroup"
           c:symbol-prefix="toggle_group"
           c:type="AdwToggleGroup"
           version="1.7"
           parent="Gtk.Widget"
           final="1"
           glib:type-name="AdwToggleGroup"
           glib:get-type="adw_toggle_group_get_type"
           glib:type-struct="ToggleGroupClass">
      <doc xml:space="preserve"
           filename="src/adw-toggle-group.c"
           line="14">A group of exclusive toggles.

&lt;picture&gt;
  &lt;source srcset="toggle-group-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="toggle-group.png" alt="toggle-group"&gt;
&lt;/picture&gt;

`AdwToggleGroup` presents a set of exclusive toggles, represented as
[class@Toggle] objects. Each toggle can display an icon, a label, an icon
and a label, or a custom child.

Toggles are indexed by their position, with the first toggle being equivalent
to 0, and so on. Use the [property@ToggleGroup:active] to get that position.

Toggles can also have optional names, set via the [property@Toggle:name]
property. The name of the active toggle can be accessed via the
[property@ToggleGroup:active-name] property.

`AdwToggle` objects can be retrieved via their index or name, using
[method@ToggleGroup.get_toggle] or [method@ToggleGroup.get_toggle_by_name]
respectively. `AdwToggleGroup` also provides a [iface@Gtk.SelectionModel] of
its toggles via the [property@ToggleGroup:toggles] property.

`AdwToggleGroup` is orientable, and the toggles can be displayed horizontally
or vertically. This is mostly useful for icon-only toggles.

Use the [property@ToggleGroup:homogeneous] property to make the toggles take
the same size, and the [property@ToggleGroup:can-shrink] to control whether
the toggles can ellipsize.

Example of an `AdwToggleGroup` UI definition:

```xml
 &lt;object class="AdwToggleGroup"&gt;
   &lt;property name="active-name"&gt;picture&lt;/property&gt;
   &lt;child&gt;
     &lt;object class="AdwToggle"&gt;
       &lt;property name="icon-name"&gt;camera-photo-symbolic&lt;/property&gt;
       &lt;property name="tooltip" translatable="yes"&gt;Picture Mode&lt;/property&gt;
       &lt;property name="name"&gt;picture&lt;/property&gt;
     &lt;/object&gt;
   &lt;/child&gt;
   &lt;child&gt;
     &lt;object class="AdwToggle"&gt;
       &lt;property name="icon-name"&gt;camera-video-symbolic&lt;/property&gt;
       &lt;property name="tooltip" translatable="yes"&gt;Recording Mode&lt;/property&gt;
       &lt;property name="name"&gt;recording&lt;/property&gt;
     &lt;/object&gt;
   &lt;/child&gt;
 &lt;/object&gt;
```

See also: [class@InlineViewSwitcher].

## CSS nodes

`AdwToggleGroup` has a main CSS node with the name `toggle-group`.

Its toggles have CSS nodes with the name `toggle`, and its separators have nodes
with the name `separator`.

Toggle nodes will have a different style classes depending on their content:
`.text-button` for labels, `.image-button` for icons, `.image-text-button`
for both or no style class for custom children.

The hidden separators use the `.hidden` style class.

## Style classes

`AdwToggleGroup` can use the [`.flat`](style-classes.html#flat_1) style class
to remove its background and make it look like a group of buttons.

&lt;picture&gt;
  &lt;source srcset="toggle-group-flat-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="toggle-group-flat.png" alt="toggle-group-flat"&gt;
&lt;/picture&gt;

It can also use the [`.round`](style-classes.html#round) style class to make
its toggles and the group itself rounded.

&lt;picture&gt;
  &lt;source srcset="toggle-group-round-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="toggle-group-round.png" alt="toggle-group-round"&gt;
&lt;/picture&gt;

They can also be combined with each other.

&lt;picture&gt;
  &lt;source srcset="toggle-group-flat-round-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="toggle-group-flat-round.png" alt="toggle-group-flat-round"&gt;
&lt;/picture&gt;

## Accessibility

`AdwToggleGroup` uses the `GTK_ACCESSIBLE_ROLE_RADIO_GROUP` role. Its toggles
use the `GTK_ACCESSIBLE_ROLE_RADIO` role.</doc>
      <source-position filename="src/adw-toggle-group.h" line="78"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new"
                   c:identifier="adw_toggle_group_new"
                   version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-toggle-group.c"
             line="1540">Creates a new `AdwToggleGroup`.</doc>
        <source-position filename="src/adw-toggle-group.h" line="81"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-toggle-group.c"
               line="1545">the newly created `AdwToggleGroup`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="add" c:identifier="adw_toggle_group_add" version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-toggle-group.c"
             line="1555">Adds a toggle to @self.</doc>
        <source-position filename="src/adw-toggle-group.h" line="84"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toggle-group.c"
                 line="1557">a toggle group</doc>
            <type name="ToggleGroup" c:type="AdwToggleGroup*"/>
          </instance-parameter>
          <parameter name="toggle" transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/adw-toggle-group.c"
                 line="1558">the toggle to add</doc>
            <type name="Toggle" c:type="AdwToggle*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_active"
              c:identifier="adw_toggle_group_get_active"
              glib:get-property="active"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-toggle-group.c"
             line="1749">Gets the index of the active toggle in @self.

Returns `GTK_INVALID_LIST_POSITION` if no toggle is active.</doc>
        <source-position filename="src/adw-toggle-group.h" line="104"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-toggle-group.c"
               line="1757">the active toggle index</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toggle-group.c"
                 line="1751">a toggle group</doc>
            <type name="ToggleGroup" c:type="AdwToggleGroup*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_active_name"
              c:identifier="adw_toggle_group_get_active_name"
              glib:get-property="active-name"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-toggle-group.c"
             line="1794">Gets the name of the active toggle in @self.

Can be `NULL` if the currently active toggle doesn't have a name.

See [property@Toggle:name].</doc>
        <source-position filename="src/adw-toggle-group.h" line="110"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-toggle-group.c"
               line="1804">the active toggle name</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toggle-group.c"
                 line="1796">a toggle group</doc>
            <type name="ToggleGroup" c:type="AdwToggleGroup*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_can_shrink"
              c:identifier="adw_toggle_group_get_can_shrink"
              glib:get-property="can-shrink"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-toggle-group.c"
             line="1920">Gets whether the toggles can be smaller than the natural size of their
contents.</doc>
        <source-position filename="src/adw-toggle-group.h" line="122"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-toggle-group.c"
               line="1927">whether the toggles can shrink</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toggle-group.c"
                 line="1922">a toggle group</doc>
            <type name="ToggleGroup" c:type="AdwToggleGroup*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_homogeneous"
              c:identifier="adw_toggle_group_get_homogeneous"
              glib:get-property="homogeneous"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-toggle-group.c"
             line="1859">Gets whether all toggles take the same size.</doc>
        <source-position filename="src/adw-toggle-group.h" line="116"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-toggle-group.c"
               line="1865">whether all toggles take the same size</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toggle-group.c"
                 line="1861">a toggle group</doc>
            <type name="ToggleGroup" c:type="AdwToggleGroup*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_n_toggles"
              c:identifier="adw_toggle_group_get_n_toggles"
              glib:get-property="n-toggles"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-toggle-group.c"
             line="1731">Gets the number of toggles within @self.</doc>
        <source-position filename="src/adw-toggle-group.h" line="101"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-toggle-group.c"
               line="1737">the number of toggles</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toggle-group.c"
                 line="1733">a toggle group</doc>
            <type name="ToggleGroup" c:type="AdwToggleGroup*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_toggle"
              c:identifier="adw_toggle_group_get_toggle"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-toggle-group.c"
             line="1687">Gets the toggle with @index from @self.</doc>
        <source-position filename="src/adw-toggle-group.h" line="94"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-toggle-group.c"
               line="1694">the toggle</doc>
          <type name="Toggle" c:type="AdwToggle*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toggle-group.c"
                 line="1689">a toggle group</doc>
            <type name="ToggleGroup" c:type="AdwToggleGroup*"/>
          </instance-parameter>
          <parameter name="index" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toggle-group.c"
                 line="1690">toggle's index</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_toggle_by_name"
              c:identifier="adw_toggle_group_get_toggle_by_name"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-toggle-group.c"
             line="1710">Gets the toggle with the name @name from @self.</doc>
        <source-position filename="src/adw-toggle-group.h" line="97"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-toggle-group.c"
               line="1717">the toggle</doc>
          <type name="Toggle" c:type="AdwToggle*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toggle-group.c"
                 line="1712">a toggle group</doc>
            <type name="ToggleGroup" c:type="AdwToggleGroup*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toggle-group.c"
                 line="1713">toggle name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_toggles"
              c:identifier="adw_toggle_group_get_toggles"
              glib:get-property="toggles">
        <doc xml:space="preserve"
             filename="src/adw-toggle-group.c"
             line="1977">Returns a [iface@Gio.ListModel] that contains the toggles of the group.

This can be used to keep an up-to-date view. The model also implements
[iface@Gtk.SelectionModel] and can be used to track and change the active
toggle.</doc>
        <source-position filename="src/adw-toggle-group.h" line="128"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/adw-toggle-group.c"
               line="1987">a `GtkSelectionModel` for the group's toggles</doc>
          <type name="Gtk.SelectionModel" c:type="GtkSelectionModel*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toggle-group.c"
                 line="1979">a toggle group</doc>
            <type name="ToggleGroup" c:type="AdwToggleGroup*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove"
              c:identifier="adw_toggle_group_remove"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-toggle-group.c"
             line="1575">Removes @toggle from @self.</doc>
        <source-position filename="src/adw-toggle-group.h" line="87"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toggle-group.c"
                 line="1577">a toggle group</doc>
            <type name="ToggleGroup" c:type="AdwToggleGroup*"/>
          </instance-parameter>
          <parameter name="toggle" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toggle-group.c"
                 line="1578">a toggle to remove</doc>
            <type name="Toggle" c:type="AdwToggle*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_all"
              c:identifier="adw_toggle_group_remove_all"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-toggle-group.c"
             line="1642">Removes all toggles from @self.</doc>
        <source-position filename="src/adw-toggle-group.h" line="91"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toggle-group.c"
                 line="1644">a toggle group</doc>
            <type name="ToggleGroup" c:type="AdwToggleGroup*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_active"
              c:identifier="adw_toggle_group_set_active"
              glib:set-property="active"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-toggle-group.c"
             line="1769">Sets the active toggle for @self.

If the index is larger than the number of toggles in @self, unsets the
current active toggle.</doc>
        <source-position filename="src/adw-toggle-group.h" line="106"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toggle-group.c"
                 line="1771">a toggle group</doc>
            <type name="ToggleGroup" c:type="AdwToggleGroup*"/>
          </instance-parameter>
          <parameter name="active" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toggle-group.c"
                 line="1772">toggle index</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_active_name"
              c:identifier="adw_toggle_group_set_active_name"
              glib:set-property="active-name"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-toggle-group.c"
             line="1824">Sets the active toggle for @self.

The name can be set via [property@Toggle:name].

If @name is `NULL`, unset the current active toggle instead.</doc>
        <source-position filename="src/adw-toggle-group.h" line="112"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toggle-group.c"
                 line="1826">a toggle group</doc>
            <type name="ToggleGroup" c:type="AdwToggleGroup*"/>
          </instance-parameter>
          <parameter name="name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-toggle-group.c"
                 line="1827">toggle name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_can_shrink"
              c:identifier="adw_toggle_group_set_can_shrink"
              glib:set-property="can-shrink"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-toggle-group.c"
             line="1939">Sets whether the toggles can be smaller than the natural size of their
contents.

If @can_shrink is `TRUE`, the toggle labels will ellipsize.

See [property@Gtk.Button:can-shrink].</doc>
        <source-position filename="src/adw-toggle-group.h" line="124"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toggle-group.c"
                 line="1941">a toggle group</doc>
            <type name="ToggleGroup" c:type="AdwToggleGroup*"/>
          </instance-parameter>
          <parameter name="can_shrink" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toggle-group.c"
                 line="1942">whether the toggles can shrink</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_homogeneous"
              c:identifier="adw_toggle_group_set_homogeneous"
              glib:set-property="homogeneous"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-toggle-group.c"
             line="1877">Sets whether all toggles take the same size.</doc>
        <source-position filename="src/adw-toggle-group.h" line="118"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toggle-group.c"
                 line="1879">a toggle group</doc>
            <type name="ToggleGroup" c:type="AdwToggleGroup*"/>
          </instance-parameter>
          <parameter name="homogeneous" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toggle-group.c"
                 line="1880">whether all toggles should take the same size</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="active"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_active"
                getter="get_active"
                default-value="4294967295">
        <doc xml:space="preserve"
             filename="src/adw-toggle-group.c"
             line="1006">The index of the active toggle.

Setting the index to a larger value than the number of toggles in the group
unsets the current active toggle.

If no toggle is active, the property will be set to
[const@Gtk.INVALID_LIST_POSITION].</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="active-name"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_active_name"
                getter="get_active_name"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/adw-toggle-group.c"
             line="1024">The name of the active toggle.

The name can be set via [property@Toggle:name]. If the currently active
toggle doesn't have a name, the property will be set to `NULL`.

Set it to `NULL` to unset the current active toggle.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="can-shrink"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_can_shrink"
                getter="get_can_shrink"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-toggle-group.c"
             line="1053">Whether the toggles can be smaller than the natural size of their contents.

If set to `TRUE`, the toggle labels will ellipsize.

See [property@Gtk.Button:can-shrink].</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="homogeneous"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_homogeneous"
                getter="get_homogeneous"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-toggle-group.c"
             line="1041">Whether all toggles take the same size.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="n-toggles"
                version="1.7"
                transfer-ownership="none"
                getter="get_n_toggles"
                default-value="0">
        <doc xml:space="preserve"
             filename="src/adw-toggle-group.c"
             line="994">The number of toggles within the group.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="toggles"
                version="1.7"
                transfer-ownership="none"
                getter="get_toggles">
        <doc xml:space="preserve"
             filename="src/adw-toggle-group.c"
             line="1069">A selection model with the groups's toggles.

This can be used to keep an up-to-date view. The model also implements
[iface@Gtk.SelectionModel] and can be used to track and change the active
toggle.</doc>
        <type name="Gtk.SelectionModel"/>
      </property>
    </class>
    <record name="ToggleGroupClass"
            c:type="AdwToggleGroupClass"
            glib:is-gtype-struct-for="ToggleGroup">
      <source-position filename="src/adw-toggle-group.h" line="78"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
    </record>
    <enumeration name="ToolbarStyle"
                 version="1.4"
                 glib:type-name="AdwToolbarStyle"
                 glib:get-type="adw_toolbar_style_get_type"
                 c:type="AdwToolbarStyle">
      <doc xml:space="preserve"
           filename="src/adw-toolbar-view.c"
           line="119">Describes the possible top or bottom bar styles in an [class@ToolbarView]
widget.

`ADW_TOOLBAR_FLAT` is suitable for simple content, such as
[class@StatusPage] or [class@PreferencesPage], where the background at the
top and bottom parts of the page is uniform. Additionally, windows with
sidebars should always use this style.

&lt;picture style="min-width: 33%; display: inline-block;"&gt;
  &lt;source srcset="toolbar-view-flat-1-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="toolbar-view-flat-1.png" alt="toolbar-view-flat-1"&gt;
&lt;/picture&gt;
&lt;picture style="min-width: 33%; display: inline-block;"&gt;
  &lt;source srcset="toolbar-view-flat-2-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="toolbar-view-flat-2.png" alt="toolbar-view-flat-2"&gt;
&lt;/picture&gt;

`ADW_TOOLBAR_RAISED` style is suitable for content such as
[utility panes](https://developer.gnome.org/hig/patterns/containers/utility-panes.html),
where some elements are directly adjacent to the top/bottom bars, or
[class@TabView], where each page can have a different background.

`ADW_TOOLBAR_RAISED_BORDER` style is similar to `ADW_TOOLBAR_RAISED`, but
with the shadow replaced with a more subtle border. It's intended to be used
in applications like image viewers, where a shadow over the content might be
undesired.

&lt;picture style="min-width: 33%; display: inline-block;"&gt;
  &lt;source srcset="toolbar-view-raised-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="toolbar-view-raised.png" alt="toolbar-view-raised"&gt;
&lt;/picture&gt;
&lt;picture style="min-width: 33%; display: inline-block;"&gt;
  &lt;source srcset="toolbar-view-raised-border-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="toolbar-view-raised-border.png" alt="toolbar-view-raised-border"&gt;
&lt;/picture&gt;

See [property@ToolbarView:top-bar-style] and
[property@ToolbarView:bottom-bar-style].

New values may be added to this enumeration over time.</doc>
      <member name="flat"
              value="0"
              c:identifier="ADW_TOOLBAR_FLAT"
              glib:nick="flat"
              glib:name="ADW_TOOLBAR_FLAT">
        <doc xml:space="preserve"
             filename="src/adw-toolbar-view.c"
             line="121">No background, shadow only for scrolled content</doc>
      </member>
      <member name="raised"
              value="1"
              c:identifier="ADW_TOOLBAR_RAISED"
              glib:nick="raised"
              glib:name="ADW_TOOLBAR_RAISED">
        <doc xml:space="preserve"
             filename="src/adw-toolbar-view.c"
             line="122">Opaque background with a persistent shadow</doc>
      </member>
      <member name="raised_border"
              value="2"
              c:identifier="ADW_TOOLBAR_RAISED_BORDER"
              glib:nick="raised-border"
              glib:name="ADW_TOOLBAR_RAISED_BORDER">
        <doc xml:space="preserve"
             filename="src/adw-toolbar-view.c"
             line="123">Opaque background with a persistent border</doc>
      </member>
    </enumeration>
    <class name="ToolbarView"
           c:symbol-prefix="toolbar_view"
           c:type="AdwToolbarView"
           version="1.4"
           parent="Gtk.Widget"
           final="1"
           glib:type-name="AdwToolbarView"
           glib:get-type="adw_toolbar_view_get_type"
           glib:type-struct="ToolbarViewClass">
      <doc xml:space="preserve"
           filename="src/adw-toolbar-view.c"
           line="14">A widget containing a page, as well as top and/or bottom bars.

&lt;picture&gt;
  &lt;source srcset="toolbar-view-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="toolbar-view.png" alt="toolbar-view"&gt;
&lt;/picture&gt;

`AdwToolbarView` has a single content widget and one or multiple top and
bottom bars, shown at the top and bottom sides respectively.

Example of an `AdwToolbarView` UI definition:
```xml
&lt;object class="AdwToolbarView"&gt;
  &lt;child type="top"&gt;
    &lt;object class="AdwHeaderBar"/&gt;
  &lt;/child&gt;
  &lt;property name="content"&gt;
    &lt;object class="AdwPreferencesPage"&gt;
      &lt;!-- ... --&gt;
    &lt;/object&gt;
  &lt;/property&gt;
&lt;/object&gt;
```

The following kinds of top and bottom bars are supported:

- [class@HeaderBar]
- [class@TabBar]
- [class@ViewSwitcherBar]
- [class@Gtk.ActionBar]
- [class@Gtk.HeaderBar]
- [class@Gtk.PopoverMenuBar]
- [class@Gtk.SearchBar]
- Any [class@Gtk.Box] or a similar widget with the
  [`.toolbar`](style-classes.html#toolbars) style class

By default, top and bottom bars are flat and scrolling content has a subtle
undershoot shadow, same as when using the
[`.undershoot-top`](style-classes.html#undershoot-indicators) and
[`.undershoot-bottom`](style-classes.html#undershoot-indicators) style
classes. This works well in most cases, e.g. with [class@StatusPage] or
[class@PreferencesPage], where the background at the top and bottom parts of
the page is uniform. Additionally, windows with sidebars should always use
this style.

[property@ToolbarView:top-bar-style] and
[property@ToolbarView:bottom-bar-style] properties can be used add an opaque
background and a persistent shadow to top and bottom bars, this can be useful
for content such as [utility panes](https://developer.gnome.org/hig/patterns/containers/utility-panes.html),
where some elements are adjacent to the top/bottom bars, or [class@TabView],
where each page can have a different background.

&lt;picture style="min-width: 33%; display: inline-block;"&gt;
  &lt;source srcset="toolbar-view-flat-1-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="toolbar-view-flat-1.png" alt="toolbar-view-flat-1"&gt;
&lt;/picture&gt;
&lt;picture style="min-width: 33%; display: inline-block;"&gt;
  &lt;source srcset="toolbar-view-flat-2-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="toolbar-view-flat-2.png" alt="toolbar-view-flat-2"&gt;
&lt;/picture&gt;
&lt;picture style="min-width: 33%; display: inline-block;"&gt;
  &lt;source srcset="toolbar-view-raised-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="toolbar-view-raised.png" alt="toolbar-view-raised"&gt;
&lt;/picture&gt;

`AdwToolbarView` ensures the top and bottom bars have consistent backdrop
styles and vertical spacing. For comparison:

&lt;picture style="min-width: 40%; display: inline-block;"&gt;
  &lt;source srcset="toolbar-view-spacing-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="toolbar-view-spacing.png" alt="toolbar-view-spacing"&gt;
&lt;/picture&gt;
&lt;picture style="min-width: 40%; display: inline-block;"&gt;
  &lt;source srcset="toolbar-view-spacing-box-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="toolbar-view-spacing-box.png" alt="toolbar-view-spacing-box"&gt;
&lt;/picture&gt;

Any top and bottom bars can also be dragged to move the window, equivalent
to putting them into a [class@Gtk.WindowHandle].

Content is typically place between top and bottom bars, but can also extend
behind them. This is controlled with the
[property@ToolbarView:extend-content-to-top-edge] and
[property@ToolbarView:extend-content-to-bottom-edge] properties.

Top and bottom bars can be hidden and revealed with an animation using the
[property@ToolbarView:reveal-top-bars] and
[property@ToolbarView:reveal-bottom-bars] properties.

## `AdwToolbarView` as `GtkBuildable`

The `AdwToolbarView` implementation of the [iface@Gtk.Buildable] interface
supports adding a top bar by specifying “top” as the “type” attribute of a
`&lt;child&gt;` element, or adding a bottom bar by specifying “bottom”.

## Accessibility

`AdwToolbarView` uses the `GTK_ACCESSIBLE_ROLE_GROUP` role.</doc>
      <source-position filename="src/adw-toolbar-view.h" line="31"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <constructor name="new"
                   c:identifier="adw_toolbar_view_new"
                   version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-toolbar-view.c"
             line="790">Creates a new `AdwToolbarView`.</doc>
        <source-position filename="src/adw-toolbar-view.h" line="34"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-toolbar-view.c"
               line="795">the newly created `AdwToolbarView`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="add_bottom_bar"
              c:identifier="adw_toolbar_view_add_bottom_bar"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-toolbar-view.c"
             line="881">Adds a bottom bar to @self.</doc>
        <source-position filename="src/adw-toolbar-view.h" line="47"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toolbar-view.c"
                 line="883">a toolbar view</doc>
            <type name="ToolbarView" c:type="AdwToolbarView*"/>
          </instance-parameter>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toolbar-view.c"
                 line="884">a widget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_top_bar"
              c:identifier="adw_toolbar_view_add_top_bar"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-toolbar-view.c"
             line="856">Adds a top bar to @self.</doc>
        <source-position filename="src/adw-toolbar-view.h" line="43"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toolbar-view.c"
                 line="858">a toolbar view</doc>
            <type name="ToolbarView" c:type="AdwToolbarView*"/>
          </instance-parameter>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toolbar-view.c"
                 line="859">a widget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_bottom_bar_height"
              c:identifier="adw_toolbar_view_get_bottom_bar_height"
              glib:get-property="bottom-bar-height"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-toolbar-view.c"
             line="1347">Gets the current bottom bar height for @self.

Bottom bar height does change depending on
[property@ToolbarView:reveal-bottom-bars], including during the transition.

See [method@ToolbarView.get_top_bar_height].</doc>
        <source-position filename="src/adw-toolbar-view.h" line="93"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-toolbar-view.c"
               line="1358">the current bottom bar height</doc>
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toolbar-view.c"
                 line="1349">a toolbar view</doc>
            <type name="ToolbarView" c:type="AdwToolbarView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_bottom_bar_style"
              c:identifier="adw_toolbar_view_get_bottom_bar_style"
              glib:get-property="bottom-bar-style"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-toolbar-view.c"
             line="1032">Gets appearance of the bottom bars for @self.</doc>
        <source-position filename="src/adw-toolbar-view.h" line="61"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-toolbar-view.c"
               line="1038">bottom bar style</doc>
          <type name="ToolbarStyle" c:type="AdwToolbarStyle"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toolbar-view.c"
                 line="1034">a toolbar view</doc>
            <type name="ToolbarView" c:type="AdwToolbarView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_content"
              c:identifier="adw_toolbar_view_get_content"
              glib:get-property="content"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-toolbar-view.c"
             line="805">Gets the content widget for @self.</doc>
        <source-position filename="src/adw-toolbar-view.h" line="37"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-toolbar-view.c"
               line="811">the content widget</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toolbar-view.c"
                 line="807">a toolbar view</doc>
            <type name="ToolbarView" c:type="AdwToolbarView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_extend_content_to_bottom_edge"
              c:identifier="adw_toolbar_view_get_extend_content_to_bottom_edge"
              glib:get-property="extend-content-to-bottom-edge"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-toolbar-view.c"
             line="1272">Gets whether the content widget can extend behind bottom bars.</doc>
        <source-position filename="src/adw-toolbar-view.h" line="85"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-toolbar-view.c"
               line="1278">whether content extends behind bottom bars</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toolbar-view.c"
                 line="1274">a toolbar view</doc>
            <type name="ToolbarView" c:type="AdwToolbarView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_extend_content_to_top_edge"
              c:identifier="adw_toolbar_view_get_extend_content_to_top_edge"
              glib:get-property="extend-content-to-top-edge"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-toolbar-view.c"
             line="1220">Gets whether the content widget can extend behind top bars.</doc>
        <source-position filename="src/adw-toolbar-view.h" line="79"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-toolbar-view.c"
               line="1226">whether content extends behind top bars</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toolbar-view.c"
                 line="1222">a toolbar view</doc>
            <type name="ToolbarView" c:type="AdwToolbarView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_reveal_bottom_bars"
              c:identifier="adw_toolbar_view_get_reveal_bottom_bars"
              glib:get-property="reveal-bottom-bars"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-toolbar-view.c"
             line="1169">Gets whether bottom bars are revealed for @self.</doc>
        <source-position filename="src/adw-toolbar-view.h" line="73"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-toolbar-view.c"
               line="1175">whether bottom bars are revealed</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toolbar-view.c"
                 line="1171">a toolbar view</doc>
            <type name="ToolbarView" c:type="AdwToolbarView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_reveal_top_bars"
              c:identifier="adw_toolbar_view_get_reveal_top_bars"
              glib:get-property="reveal-top-bars"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-toolbar-view.c"
             line="1118">Gets whether top bars are revealed for @self.</doc>
        <source-position filename="src/adw-toolbar-view.h" line="67"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-toolbar-view.c"
               line="1124">whether top bars are revealed</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toolbar-view.c"
                 line="1120">a toolbar view</doc>
            <type name="ToolbarView" c:type="AdwToolbarView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_top_bar_height"
              c:identifier="adw_toolbar_view_get_top_bar_height"
              glib:get-property="top-bar-height"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-toolbar-view.c"
             line="1324">Gets the current top bar height for @self.

Top bar height does change depending on
[property@ToolbarView:reveal-top-bars], including during the transition.

See [method@ToolbarView.get_bottom_bar_height].</doc>
        <source-position filename="src/adw-toolbar-view.h" line="91"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-toolbar-view.c"
               line="1335">the current top bar height</doc>
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toolbar-view.c"
                 line="1326">a toolbar view</doc>
            <type name="ToolbarView" c:type="AdwToolbarView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_top_bar_style"
              c:identifier="adw_toolbar_view_get_top_bar_style"
              glib:get-property="top-bar-style"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-toolbar-view.c"
             line="946">Gets appearance of the top bars for @self.</doc>
        <source-position filename="src/adw-toolbar-view.h" line="55"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-toolbar-view.c"
               line="952">top bar style</doc>
          <type name="ToolbarStyle" c:type="AdwToolbarStyle"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toolbar-view.c"
                 line="948">a toolbar view</doc>
            <type name="ToolbarView" c:type="AdwToolbarView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove"
              c:identifier="adw_toolbar_view_remove"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-toolbar-view.c"
             line="906">Removes a child from @self.</doc>
        <source-position filename="src/adw-toolbar-view.h" line="51"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toolbar-view.c"
                 line="908">a toolbar view</doc>
            <type name="ToolbarView" c:type="AdwToolbarView*"/>
          </instance-parameter>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toolbar-view.c"
                 line="909">the child to be removed</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_bottom_bar_style"
              c:identifier="adw_toolbar_view_set_bottom_bar_style"
              glib:set-property="bottom-bar-style"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-toolbar-view.c"
             line="1050">Sets appearance of the bottom bars for @self.

If set to `ADW_TOOLBAR_FLAT`, bottom bars are flat and scrolling content has
a subtle undershoot shadow when touching them, same as the
[`.undershoot-bottom`](style-classes.html#undershoot-indicators)
style class. This works well for simple content, e.g. [class@StatusPage] or
[class@PreferencesPage], where the background at the bottom of the page is
uniform. Additionally, windows with sidebars should always use this style.

Undershoot shadow is only present if a bottom bar is actually present and
visible. It is also never present if
[property@ToolbarView:extend-content-to-bottom-edge] is set to `TRUE`.

If set to `ADW_TOOLBAR_RAISED`, bottom bars have an opaque background and a
persistent shadow, this is suitable for content such as
[utility panes](https://developer.gnome.org/hig/patterns/containers/utility-panes.html),
where some elements are directly adjacent to the bottom bars, or
[class@TabView], where each page can have a different background.

`ADW_TOOLBAR_RAISED_BORDER` is similar to `ADW_TOOLBAR_RAISED`, but the
shadow is replaced with a more subtle border. This can be useful for
applications like image viewers.

See also [method@ToolbarView.set_top_bar_style].</doc>
        <source-position filename="src/adw-toolbar-view.h" line="63"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toolbar-view.c"
                 line="1052">a toolbar view</doc>
            <type name="ToolbarView" c:type="AdwToolbarView*"/>
          </instance-parameter>
          <parameter name="style" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toolbar-view.c"
                 line="1053">bottom bar style</doc>
            <type name="ToolbarStyle" c:type="AdwToolbarStyle"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_content"
              c:identifier="adw_toolbar_view_set_content"
              glib:set-property="content"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-toolbar-view.c"
             line="823">Sets the content widget for @self.</doc>
        <source-position filename="src/adw-toolbar-view.h" line="39"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toolbar-view.c"
                 line="825">a toolbar view</doc>
            <type name="ToolbarView" c:type="AdwToolbarView*"/>
          </instance-parameter>
          <parameter name="content"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-toolbar-view.c"
                 line="826">the content widget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_extend_content_to_bottom_edge"
              c:identifier="adw_toolbar_view_set_extend_content_to_bottom_edge"
              glib:set-property="extend-content-to-bottom-edge"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-toolbar-view.c"
             line="1290">Sets whether the content widget can extend behind bottom bars.

This can be used in combination with [property@ToolbarView:reveal-bottom-bars]
to show and hide toolbars in fullscreen.

See [method@ToolbarView.set_extend_content_to_top_edge].</doc>
        <source-position filename="src/adw-toolbar-view.h" line="87"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toolbar-view.c"
                 line="1292">a toolbar view</doc>
            <type name="ToolbarView" c:type="AdwToolbarView*"/>
          </instance-parameter>
          <parameter name="extend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toolbar-view.c"
                 line="1293">whether content extends behind bottom bars</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_extend_content_to_top_edge"
              c:identifier="adw_toolbar_view_set_extend_content_to_top_edge"
              glib:set-property="extend-content-to-top-edge"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-toolbar-view.c"
             line="1238">Sets whether the content widget can extend behind top bars.

This can be used in combination with [property@ToolbarView:reveal-top-bars]
to show and hide toolbars in fullscreen.

See [method@ToolbarView.set_extend_content_to_bottom_edge].</doc>
        <source-position filename="src/adw-toolbar-view.h" line="81"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toolbar-view.c"
                 line="1240">a toolbar view</doc>
            <type name="ToolbarView" c:type="AdwToolbarView*"/>
          </instance-parameter>
          <parameter name="extend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toolbar-view.c"
                 line="1241">whether content extends behind top bars</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_reveal_bottom_bars"
              c:identifier="adw_toolbar_view_set_reveal_bottom_bars"
              glib:set-property="reveal-bottom-bars"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-toolbar-view.c"
             line="1187">Sets whether bottom bars are revealed for @self.

The transition will be animated.

This can be used in combination with
[property@ToolbarView:extend-content-to-bottom-edge] to show and hide
toolbars in fullscreen.

See [method@ToolbarView.set_reveal_top_bars].</doc>
        <source-position filename="src/adw-toolbar-view.h" line="75"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toolbar-view.c"
                 line="1189">a toolbar view</doc>
            <type name="ToolbarView" c:type="AdwToolbarView*"/>
          </instance-parameter>
          <parameter name="reveal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toolbar-view.c"
                 line="1190">whether to reveal bottom bars</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_reveal_top_bars"
              c:identifier="adw_toolbar_view_set_reveal_top_bars"
              glib:set-property="reveal-top-bars"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-toolbar-view.c"
             line="1136">Sets whether top bars are revealed for @self.

The transition will be animated.

This can be used in combination with
[property@ToolbarView:extend-content-to-top-edge] to show and hide toolbars
in fullscreen.

See [method@ToolbarView.set_reveal_bottom_bars].</doc>
        <source-position filename="src/adw-toolbar-view.h" line="69"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toolbar-view.c"
                 line="1138">a toolbar view</doc>
            <type name="ToolbarView" c:type="AdwToolbarView*"/>
          </instance-parameter>
          <parameter name="reveal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toolbar-view.c"
                 line="1139">whether to reveal top bars</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_top_bar_style"
              c:identifier="adw_toolbar_view_set_top_bar_style"
              glib:set-property="top-bar-style"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-toolbar-view.c"
             line="964">Sets appearance of the top bars for @self.

If set to `ADW_TOOLBAR_FLAT`, top bars are flat and scrolling content has a
subtle undershoot shadow when touching them, same as the
[`.undershoot-top`](style-classes.html#undershoot-indicators)
style class. This works well for simple content, e.g. [class@StatusPage] or
[class@PreferencesPage], where the background at the top of the page is
uniform. Additionally, windows with sidebars should always use this style.

Undershoot shadow is only present if a top bar is actually present and
visible. It is also never present if
[property@ToolbarView:extend-content-to-top-edge] is set to `TRUE`.

If set to `ADW_TOOLBAR_RAISED`, top bars have an opaque background and a
persistent shadow, this is suitable for content such as
[utility panes](https://developer.gnome.org/hig/patterns/containers/utility-panes.html),
where some elements are directly adjacent to the top bars, or
[class@TabView], where each page can have a different background.

`ADW_TOOLBAR_RAISED_BORDER` is similar to `ADW_TOOLBAR_RAISED`, but the
shadow is replaced with a more subtle border. This can be useful for
applications like image viewers.

See also [method@ToolbarView.set_bottom_bar_style].</doc>
        <source-position filename="src/adw-toolbar-view.h" line="57"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toolbar-view.c"
                 line="966">a toolbar view</doc>
            <type name="ToolbarView" c:type="AdwToolbarView*"/>
          </instance-parameter>
          <parameter name="style" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-toolbar-view.c"
                 line="967">top bar style</doc>
            <type name="ToolbarStyle" c:type="AdwToolbarStyle"/>
          </parameter>
        </parameters>
      </method>
      <property name="bottom-bar-height"
                version="1.4"
                transfer-ownership="none"
                getter="get_bottom_bar_height"
                default-value="0">
        <doc xml:space="preserve"
             filename="src/adw-toolbar-view.c"
             line="702">The current bottom bar height.

Bottom bar height does change depending on
[property@ToolbarView:reveal-bottom-bars], including during the transition.

See [property@ToolbarView:top-bar-height].</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="bottom-bar-style"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_bottom_bar_style"
                getter="get_bottom_bar_style"
                default-value="ADW_TOOLBAR_FLAT">
        <doc xml:space="preserve"
             filename="src/adw-toolbar-view.c"
             line="574">Appearance of the bottom bars.

If set to `ADW_TOOLBAR_FLAT`, bottom bars are flat and scrolling content
has a subtle undershoot shadow when touching them, same as the
[`.undershoot-bottom`](style-classes.html#undershoot-indicators)
style class. This works well for simple content, e.g. [class@StatusPage] or
[class@PreferencesPage], where the background at the bottom of the page is
uniform. Additionally, windows with sidebars should always use this style.

Undershoot shadow is only present if a bottom bar is actually present and
visible. It is also never present if
[property@ToolbarView:extend-content-to-bottom-edge] is set to `TRUE`.

If set to `ADW_TOOLBAR_RAISED`, bottom bars have an opaque background and a
persistent shadow, this is suitable for content such as
[utility panes](https://developer.gnome.org/hig/patterns/containers/utility-panes.html),
where some elements are directly adjacent to the bottom bars, or
[class@TabView], where each page can have a different background.

`ADW_TOOLBAR_RAISED_BORDER` is similar to `ADW_TOOLBAR_RAISED`, but the
shadow is replaced with a more subtle border. This can be useful for
applications like image viewers.

See also [property@ToolbarView:top-bar-style].</doc>
        <type name="ToolbarStyle"/>
      </property>
      <property name="content"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_content"
                getter="get_content">
        <doc xml:space="preserve"
             filename="src/adw-toolbar-view.c"
             line="526">The content widget.</doc>
        <type name="Gtk.Widget"/>
      </property>
      <property name="extend-content-to-bottom-edge"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_extend_content_to_bottom_edge"
                getter="get_extend_content_to_bottom_edge"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-toolbar-view.c"
             line="667">Whether the content widget can extend behind bottom bars.

This can be used in combination with
[property@ToolbarView:reveal-bottom-bars] to show and hide toolbars in
fullscreen.

See [property@ToolbarView:extend-content-to-top-edge].</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="extend-content-to-top-edge"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_extend_content_to_top_edge"
                getter="get_extend_content_to_top_edge"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-toolbar-view.c"
             line="650">Whether the content widget can extend behind top bars.

This can be used in combination with [property@ToolbarView:reveal-top-bars]
to show and hide toolbars in fullscreen.

See [property@ToolbarView:extend-content-to-bottom-edge].</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="reveal-bottom-bars"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_reveal_bottom_bars"
                getter="get_reveal_bottom_bars"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-toolbar-view.c"
             line="630">Whether bottom bars are visible.

The transition will be animated.

This can be used in combination with
[property@ToolbarView:extend-content-to-bottom-edge] to show and hide
toolbars in fullscreen.

See [property@ToolbarView:reveal-top-bars].</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="reveal-top-bars"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_reveal_top_bars"
                getter="get_reveal_top_bars"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-toolbar-view.c"
             line="610">Whether top bars are revealed.

The transition will be animated.

This can be used in combination with
[property@ToolbarView:extend-content-to-top-edge] to show and hide toolbars
in fullscreen.

See [property@ToolbarView:reveal-bottom-bars].</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="top-bar-height"
                version="1.4"
                transfer-ownership="none"
                getter="get_top_bar_height"
                default-value="0">
        <doc xml:space="preserve"
             filename="src/adw-toolbar-view.c"
             line="685">The current top bar height.

Top bar height does change depending [property@ToolbarView:reveal-top-bars],
including during the transition.

See [property@ToolbarView:bottom-bar-height].</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="top-bar-style"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_top_bar_style"
                getter="get_top_bar_style"
                default-value="ADW_TOOLBAR_FLAT">
        <doc xml:space="preserve"
             filename="src/adw-toolbar-view.c"
             line="538">Appearance of the top bars.

If set to `ADW_TOOLBAR_FLAT`, top bars are flat and scrolling content has a
subtle undershoot shadow when touching them, same as the
[`.undershoot-top`](style-classes.html#undershoot-indicators)
style class. This works well for simple content, e.g. [class@StatusPage] or
[class@PreferencesPage], where the background at the top of the page is
uniform. Additionally, windows with sidebars should always use this style.

Undershoot shadow is only present if a top bar is actually present and
visible. It is also never present if
[property@ToolbarView:extend-content-to-top-edge] is set to `TRUE`.

If set to `ADW_TOOLBAR_RAISED`, top bars have an opaque background and a
persistent shadow, this is suitable for content such as
[utility panes](https://developer.gnome.org/hig/patterns/containers/utility-panes.html),
where some elements are directly adjacent to the top bars, or
[class@TabView], where each page can have a different background.

`ADW_TOOLBAR_RAISED_BORDER` is similar to `ADW_TOOLBAR_RAISED`, but the
shadow is replaced with a more subtle border. This can be useful for
applications like image viewers.

See also [property@ToolbarView:bottom-bar-style].</doc>
        <type name="ToolbarStyle"/>
      </property>
    </class>
    <record name="ToolbarViewClass"
            c:type="AdwToolbarViewClass"
            glib:is-gtype-struct-for="ToolbarView">
      <source-position filename="src/adw-toolbar-view.h" line="31"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
    </record>
    <function-macro name="UNAVAILABLE"
                    c:identifier="ADW_UNAVAILABLE"
                    introspectable="0">
      <source-position filename="src/adw-version.h" line="299"/>
      <parameters>
        <parameter name="major">
        </parameter>
        <parameter name="minor">
        </parameter>
      </parameters>
    </function-macro>
    <constant name="VERSION_S" value="1.7.4" c:type="ADW_VERSION_S">
      <doc xml:space="preserve"
           filename="src/adw-version.h"
           line="45">Adwaita version, encoded as a string, useful for printing and
concatenation.</doc>
      <source-position filename="src/adw-version.h" line="51"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <class name="ViewStack"
           c:symbol-prefix="view_stack"
           c:type="AdwViewStack"
           parent="Gtk.Widget"
           final="1"
           glib:type-name="AdwViewStack"
           glib:get-type="adw_view_stack_get_type"
           glib:type-struct="ViewStackClass">
      <doc xml:space="preserve"
           filename="src/adw-view-stack.c"
           line="22">A view container for [class@ViewSwitcher].

`AdwViewStack` is a container which only shows one page at a time.
It is typically used to hold an application's main views.

It doesn't provide a way to transition between pages.
Instead, a separate widget such as [class@ViewSwitcher] can be used with
`AdwViewStack` to provide this functionality.

`AdwViewStack` pages can have a title, an icon, an attention request, and a
numbered badge that [class@ViewSwitcher] will use to let users identify which
page is which. Set them using the [property@ViewStackPage:title],
[property@ViewStackPage:icon-name],
[property@ViewStackPage:needs-attention], and
[property@ViewStackPage:badge-number] properties.

Unlike [class@Gtk.Stack], transitions between views can only be animated via
a crossfade and size changes are always interpolated. Animations are disabled
by default. Use [property@ViewStack:enable-transitions] to enable them.

`AdwViewStack` maintains a [class@ViewStackPage] object for each added child,
which holds additional per-child properties. You obtain the
[class@ViewStackPage] for a child with [method@ViewStack.get_page] and you
can obtain a [iface@Gtk.SelectionModel] containing all the pages with
[method@ViewStack.get_pages].

## AdwViewStack as GtkBuildable

To set child-specific properties in a .ui file, create
[class@ViewStackPage] objects explicitly, and set the child widget as a
property on it:

```xml
  &lt;object class="AdwViewStack" id="stack"&gt;
    &lt;child&gt;
      &lt;object class="AdwViewStackPage"&gt;
        &lt;property name="name"&gt;overview&lt;/property&gt;
        &lt;property name="title"&gt;Overview&lt;/property&gt;
        &lt;property name="child"&gt;
          &lt;object class="AdwStatusPage"&gt;
            &lt;property name="title"&gt;Welcome!&lt;/property&gt;
          &lt;/object&gt;
        &lt;/property&gt;
      &lt;/object&gt;
    &lt;/child&gt;
  &lt;/object&gt;
```

## CSS nodes

`AdwViewStack` has a single CSS node named `stack`.

## Accessibility

`AdwViewStack` uses the `GTK_ACCESSIBLE_ROLE_TAB_PANEL` for the stack pages
which are the accessible parent objects of the child widgets.</doc>
      <source-position filename="src/adw-view-stack.h" line="78"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <constructor name="new" c:identifier="adw_view_stack_new">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="1875">Creates a new `AdwViewStack`.</doc>
        <source-position filename="src/adw-view-stack.h" line="81"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-view-stack.c"
               line="1880">the newly created `AdwViewStack`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="add" c:identifier="adw_view_stack_add">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="1888">Adds a child to @self.</doc>
        <source-position filename="src/adw-view-stack.h" line="84"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-view-stack.c"
               line="1895">the [class@ViewStackPage] for @child</doc>
          <type name="ViewStackPage" c:type="AdwViewStackPage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="1890">a view stack</doc>
            <type name="ViewStack" c:type="AdwViewStack*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="1891">the widget to add</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_named" c:identifier="adw_view_stack_add_named">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="1908">Adds a child to @self.

The child is identified by the @name.</doc>
        <source-position filename="src/adw-view-stack.h" line="87"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-view-stack.c"
               line="1918">the `AdwViewStackPage` for @child</doc>
          <type name="ViewStackPage" c:type="AdwViewStackPage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="1910">a view stack</doc>
            <type name="ViewStack" c:type="AdwViewStack*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="1911">the widget to add</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="1912">the name for @child</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_titled" c:identifier="adw_view_stack_add_titled">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="1932">Adds a child to @self.

The child is identified by the @name. The @title will be used by
[class@ViewSwitcher] to represent @child, so it should be short.</doc>
        <source-position filename="src/adw-view-stack.h" line="91"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-view-stack.c"
               line="1944">the `AdwViewStackPage` for @child</doc>
          <type name="ViewStackPage" c:type="AdwViewStackPage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="1934">a view stack</doc>
            <type name="ViewStack" c:type="AdwViewStack*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="1935">the widget to add</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="1936">the name for @child</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="title" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="1937">a human-readable title for @child</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_titled_with_icon"
              c:identifier="adw_view_stack_add_titled_with_icon"
              version="1.2">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="1959">Adds a child to @self.

The child is identified by the @name. The @title and @icon_name will be used
by [class@ViewSwitcher] to represent @child.</doc>
        <source-position filename="src/adw-view-stack.h" line="96"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-view-stack.c"
               line="1972">the `AdwViewStackPage` for @child</doc>
          <type name="ViewStackPage" c:type="AdwViewStackPage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="1961">a view stack</doc>
            <type name="ViewStack" c:type="AdwViewStack*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="1962">the widget to add</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="1963">the name for @child</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="title" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="1964">a human-readable title for @child</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="icon_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="1965">an icon name for @child</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_child_by_name"
              c:identifier="adw_view_stack_get_child_by_name">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="2040">Finds the child with @name in @self.</doc>
        <source-position filename="src/adw-view-stack.h" line="111"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-view-stack.c"
               line="2047">the requested child</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="2042">a view stack</doc>
            <type name="ViewStack" c:type="AdwViewStack*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="2043">the name of the child to find</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_enable_transitions"
              c:identifier="adw_view_stack_get_enable_transitions"
              glib:get-property="enable-transitions"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="2251">Gets whether @self uses a crossfade transition between pages.

Use [property@ViewStack:transition-duration] to control the duration, and
[property@ViewStack:transition-running] to know when the transition is
running.</doc>
        <source-position filename="src/adw-view-stack.h" line="139"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-view-stack.c"
               line="2261">whether to enable page transitions</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="2253">a view stack</doc>
            <type name="ViewStack" c:type="AdwViewStack*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_hhomogeneous"
              c:identifier="adw_view_stack_get_hhomogeneous"
              glib:get-property="hhomogeneous">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="2155">Gets whether @self is horizontally homogeneous.</doc>
        <source-position filename="src/adw-view-stack.h" line="127"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-view-stack.c"
               line="2161">whether @self is horizontally homogeneous</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="2157">a view stack</doc>
            <type name="ViewStack" c:type="AdwViewStack*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_page" c:identifier="adw_view_stack_get_page">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="2021">Gets the [class@ViewStackPage] object for @child.</doc>
        <source-position filename="src/adw-view-stack.h" line="107"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-view-stack.c"
               line="2028">the page object for @child</doc>
          <type name="ViewStackPage" c:type="AdwViewStackPage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="2023">a view stack</doc>
            <type name="ViewStack" c:type="AdwViewStack*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="2024">a child of @self</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_pages"
              c:identifier="adw_view_stack_get_pages"
              glib:get-property="pages">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="2377">Returns a [iface@Gio.ListModel] that contains the pages of the stack.

This can be used to keep an up-to-date view. The model also implements
[iface@Gtk.SelectionModel] and can be used to track and change the visible
page.</doc>
        <source-position filename="src/adw-view-stack.h" line="154"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/adw-view-stack.c"
               line="2387">a `GtkSelectionModel` for the stack's children</doc>
          <type name="Gtk.SelectionModel" c:type="GtkSelectionModel*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="2379">a view stack</doc>
            <type name="ViewStack" c:type="AdwViewStack*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_transition_duration"
              c:identifier="adw_view_stack_get_transition_duration"
              glib:get-property="transition-duration"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="2305">Gets the transition animation duration for @self.</doc>
        <source-position filename="src/adw-view-stack.h" line="145"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-view-stack.c"
               line="2311">the transition duration, in milliseconds</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="2307">a view stack</doc>
            <type name="ViewStack" c:type="AdwViewStack*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_transition_running"
              c:identifier="adw_view_stack_get_transition_running"
              glib:get-property="transition-running"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="2355">Gets whether a transition is currently running for @self.

If a transition is impossible, the property value will be set to `TRUE` and
then immediately to `FALSE`, so it's possible to rely on its notifications
to know that a transition has happened.</doc>
        <source-position filename="src/adw-view-stack.h" line="151"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-view-stack.c"
               line="2365">whether a transition is currently running</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="2357">a view stack</doc>
            <type name="ViewStack" c:type="AdwViewStack*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_vhomogeneous"
              c:identifier="adw_view_stack_get_vhomogeneous"
              glib:get-property="vhomogeneous">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="2203">Gets whether @self is vertically homogeneous.</doc>
        <source-position filename="src/adw-view-stack.h" line="133"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-view-stack.c"
               line="2209">whether @self is vertically homogeneous</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="2205">a view stack</doc>
            <type name="ViewStack" c:type="AdwViewStack*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_visible_child"
              c:identifier="adw_view_stack_get_visible_child"
              glib:get-property="visible-child">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="2063">Gets the currently visible child of @self.</doc>
        <source-position filename="src/adw-view-stack.h" line="115"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-view-stack.c"
               line="2069">the visible child</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="2065">a view stack</doc>
            <type name="ViewStack" c:type="AdwViewStack*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_visible_child_name"
              c:identifier="adw_view_stack_get_visible_child_name"
              glib:get-property="visible-child-name">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="2107">Returns the name of the currently visible child of @self.</doc>
        <source-position filename="src/adw-view-stack.h" line="121"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-view-stack.c"
               line="2113">the name of the visible child</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="2109">a view stack</doc>
            <type name="ViewStack" c:type="AdwViewStack*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove" c:identifier="adw_view_stack_remove">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="1990">Removes a child widget from @self.</doc>
        <source-position filename="src/adw-view-stack.h" line="103"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="1992">a view stack</doc>
            <type name="ViewStack" c:type="AdwViewStack*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="1993">the child to remove</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_enable_transitions"
              c:identifier="adw_view_stack_set_enable_transitions"
              glib:set-property="enable-transitions"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="2273">Sets whether @self uses a crossfade transition between pages.</doc>
        <source-position filename="src/adw-view-stack.h" line="141"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="2275">a view stack</doc>
            <type name="ViewStack" c:type="AdwViewStack*"/>
          </instance-parameter>
          <parameter name="enable_transitions" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="2276">whether to enable page transitions</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_hhomogeneous"
              c:identifier="adw_view_stack_set_hhomogeneous"
              glib:set-property="hhomogeneous">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="2171">Sets @self to be horizontally homogeneous or not.

If the stack is horizontally homogeneous, it allocates the same width for
all children.

If it's `FALSE`, the stack may change width when a different child becomes
visible.</doc>
        <source-position filename="src/adw-view-stack.h" line="129"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="2173">a view stack</doc>
            <type name="ViewStack" c:type="AdwViewStack*"/>
          </instance-parameter>
          <parameter name="hhomogeneous" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="2174">whether to make @self horizontally homogeneous</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_transition_duration"
              c:identifier="adw_view_stack_set_transition_duration"
              glib:set-property="transition-duration"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="2323">Sets the transition animation duration for @self.

Only used when [property@ViewStack:enable-transitions] is set to `TRUE`.</doc>
        <source-position filename="src/adw-view-stack.h" line="147"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="2325">a view stack</doc>
            <type name="ViewStack" c:type="AdwViewStack*"/>
          </instance-parameter>
          <parameter name="duration" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="2326">the new duration, in milliseconds</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_vhomogeneous"
              c:identifier="adw_view_stack_set_vhomogeneous"
              glib:set-property="vhomogeneous">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="2219">Sets @self to be vertically homogeneous or not.

If the stack is vertically homogeneous, it allocates the same height for
all children.

If it's `FALSE`, the stack may change height when a different child becomes
visible.</doc>
        <source-position filename="src/adw-view-stack.h" line="135"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="2221">a view stack</doc>
            <type name="ViewStack" c:type="AdwViewStack*"/>
          </instance-parameter>
          <parameter name="vhomogeneous" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="2222">whether to make @self vertically homogeneous</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_visible_child"
              c:identifier="adw_view_stack_set_visible_child"
              glib:set-property="visible-child">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="2079">Makes @child the visible child of @self.</doc>
        <source-position filename="src/adw-view-stack.h" line="117"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="2081">a view stack</doc>
            <type name="ViewStack" c:type="AdwViewStack*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="2082">a child of @self</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_visible_child_name"
              c:identifier="adw_view_stack_set_visible_child_name"
              glib:set-property="visible-child-name">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="2123">Makes the child with @name visible.

See [property@ViewStack:visible-child].</doc>
        <source-position filename="src/adw-view-stack.h" line="123"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="2125">a view stack</doc>
            <type name="ViewStack" c:type="AdwViewStack*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="2126">the name of the child</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <property name="enable-transitions"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_enable_transitions"
                getter="get_enable_transitions"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="1432">Whether the stack uses a crossfade transition between pages.

Use [property@ViewStack:transition-duration] to control the duration, and
[property@ViewStack:transition-running] to know when the transition is
running.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="hhomogeneous"
                writable="1"
                transfer-ownership="none"
                setter="set_hhomogeneous"
                getter="get_hhomogeneous"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="1378">Whether the stack is horizontally homogeneous.

If the stack is horizontally homogeneous, it allocates the same width for
all children.

If it's `FALSE`, the stack may change width when a different child becomes
visible.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="pages" transfer-ownership="none" getter="get_pages">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="1478">A selection model with the stack's pages.

This can be used to keep an up-to-date view. The model also implements
[iface@Gtk.SelectionModel] and can be used to track and change the visible
page.</doc>
        <type name="Gtk.SelectionModel"/>
      </property>
      <property name="transition-duration"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_transition_duration"
                getter="get_transition_duration"
                default-value="200">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="1448">The transition animation duration, in milliseconds.

Only used when [property@ViewStack:enable-transitions] is set to `TRUE`.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="transition-running"
                version="1.7"
                transfer-ownership="none"
                getter="get_transition_running"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="1462">Whether a transition is currently running.

If a transition is impossible, the property value will be set to `TRUE` and
then immediately to `FALSE`, so it's possible to rely on its notifications
to know that a transition has happened.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="vhomogeneous"
                writable="1"
                transfer-ownership="none"
                setter="set_vhomogeneous"
                getter="get_vhomogeneous"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="1394">Whether the stack is vertically homogeneous.

If the stack is vertically homogeneous, it allocates the same height for
all children.

If it's `FALSE`, the stack may change height when a different child becomes
visible.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="visible-child"
                writable="1"
                transfer-ownership="none"
                setter="set_visible_child"
                getter="get_visible_child">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="1410">The widget currently visible in the stack.</doc>
        <type name="Gtk.Widget"/>
      </property>
      <property name="visible-child-name"
                writable="1"
                transfer-ownership="none"
                setter="set_visible_child_name"
                getter="get_visible_child_name"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="1420">The name of the widget currently visible in the stack.

See [property@ViewStack:visible-child].</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
    </class>
    <record name="ViewStackClass"
            c:type="AdwViewStackClass"
            glib:is-gtype-struct-for="ViewStack">
      <source-position filename="src/adw-view-stack.h" line="78"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
    </record>
    <class name="ViewStackPage"
           c:symbol-prefix="view_stack_page"
           c:type="AdwViewStackPage"
           parent="GObject.Object"
           final="1"
           glib:type-name="AdwViewStackPage"
           glib:get-type="adw_view_stack_page_get_type"
           glib:type-struct="ViewStackPageClass">
      <doc xml:space="preserve"
           filename="src/adw-view-stack.c"
           line="83">An auxiliary class used by [class@ViewStack].</doc>
      <source-position filename="src/adw-view-stack.h" line="28"/>
      <implements name="Gtk.Accessible"/>
      <method name="get_badge_number"
              c:identifier="adw_view_stack_page_get_badge_number"
              glib:get-property="badge-number">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="1785">Gets the badge number for this page.</doc>
        <source-position filename="src/adw-view-stack.h" line="64"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-view-stack.c"
               line="1791">the badge number for this page</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="1787">a view stack page</doc>
            <type name="ViewStackPage" c:type="AdwViewStackPage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_child"
              c:identifier="adw_view_stack_page_get_child"
              glib:get-property="child">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="1558">Gets the stack child to which @self belongs.</doc>
        <source-position filename="src/adw-view-stack.h" line="31"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-view-stack.c"
               line="1564">the child to which @self belongs</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="1560">a view stack page</doc>
            <type name="ViewStackPage" c:type="AdwViewStackPage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_icon_name"
              c:identifier="adw_view_stack_page_get_icon_name"
              glib:get-property="icon-name">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="1709">Gets the icon name of the page.</doc>
        <source-position filename="src/adw-view-stack.h" line="52"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-view-stack.c"
               line="1715">the icon name of the page</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="1711">a view stack page</doc>
            <type name="ViewStackPage" c:type="AdwViewStackPage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name"
              c:identifier="adw_view_stack_page_get_name"
              glib:get-property="name">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="1574">Gets the name of the page.</doc>
        <source-position filename="src/adw-view-stack.h" line="34"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-view-stack.c"
               line="1580">the name of the page</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="1576">a view stack page</doc>
            <type name="ViewStackPage" c:type="AdwViewStackPage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_needs_attention"
              c:identifier="adw_view_stack_page_get_needs_attention"
              glib:get-property="needs-attention">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="1744">Gets whether the page requires the user attention.</doc>
        <source-position filename="src/adw-view-stack.h" line="58"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-view-stack.c"
               line="1750">whether the page needs attention</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="1746">a view stack page</doc>
            <type name="ViewStackPage" c:type="AdwViewStackPage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_title"
              c:identifier="adw_view_stack_page_get_title"
              glib:get-property="title">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="1635">Gets the page title.</doc>
        <source-position filename="src/adw-view-stack.h" line="40"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-view-stack.c"
               line="1641">the page title</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="1637">a view stack page</doc>
            <type name="ViewStackPage" c:type="AdwViewStackPage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_use_underline"
              c:identifier="adw_view_stack_page_get_use_underline"
              glib:get-property="use-underline">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="1674">Gets whether underlines in the page title indicate mnemonics.</doc>
        <source-position filename="src/adw-view-stack.h" line="46"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-view-stack.c"
               line="1680">whether underlines in the page title indicate mnemonics</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="1676">a view stack page</doc>
            <type name="ViewStackPage" c:type="AdwViewStackPage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_visible"
              c:identifier="adw_view_stack_page_get_visible"
              glib:get-property="visible">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="1827">Gets whether @self is visible in its `AdwViewStack`.

This is independent from the [property@Gtk.Widget:visible]
property of its widget.</doc>
        <source-position filename="src/adw-view-stack.h" line="70"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-view-stack.c"
               line="1836">whether @self is visible</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="1829">a view stack page</doc>
            <type name="ViewStackPage" c:type="AdwViewStackPage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_badge_number"
              c:identifier="adw_view_stack_page_set_badge_number"
              glib:set-property="badge-number">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="1801">Sets the badge number for this page.

[class@ViewSwitcher] can display it as a badge next to the page icon. It is
commonly used to display a number of unread items within the page.

It can be used together with [property@ViewStack{age}:needs-attention].</doc>
        <source-position filename="src/adw-view-stack.h" line="66"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="1803">a view stack page</doc>
            <type name="ViewStackPage" c:type="AdwViewStackPage*"/>
          </instance-parameter>
          <parameter name="badge_number" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="1804">the new value to set</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_icon_name"
              c:identifier="adw_view_stack_page_set_icon_name"
              glib:set-property="icon-name">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="1725">Sets the icon name of the page.</doc>
        <source-position filename="src/adw-view-stack.h" line="54"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="1727">a view stack page</doc>
            <type name="ViewStackPage" c:type="AdwViewStackPage*"/>
          </instance-parameter>
          <parameter name="icon_name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="1728">the icon name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_name"
              c:identifier="adw_view_stack_page_set_name"
              glib:set-property="name">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="1590">Sets the name of the page.</doc>
        <source-position filename="src/adw-view-stack.h" line="36"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="1592">a view stack page</doc>
            <type name="ViewStackPage" c:type="AdwViewStackPage*"/>
          </instance-parameter>
          <parameter name="name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="1593">the page name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_needs_attention"
              c:identifier="adw_view_stack_page_set_needs_attention"
              glib:set-property="needs-attention">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="1760">Sets whether the page requires the user attention.

[class@ViewSwitcher] will display it as a dot next to the page icon.</doc>
        <source-position filename="src/adw-view-stack.h" line="60"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="1762">a view stack page</doc>
            <type name="ViewStackPage" c:type="AdwViewStackPage*"/>
          </instance-parameter>
          <parameter name="needs_attention" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="1763">the new value to set</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_title"
              c:identifier="adw_view_stack_page_set_title"
              glib:set-property="title">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="1651">Sets the page title.</doc>
        <source-position filename="src/adw-view-stack.h" line="42"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="1653">a view stack page</doc>
            <type name="ViewStackPage" c:type="AdwViewStackPage*"/>
          </instance-parameter>
          <parameter name="title"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="1654">the page title</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_use_underline"
              c:identifier="adw_view_stack_page_set_use_underline"
              glib:set-property="use-underline">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="1688">Sets whether underlines in the page title indicate mnemonics.</doc>
        <source-position filename="src/adw-view-stack.h" line="48"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="1690">a view stack page</doc>
            <type name="ViewStackPage" c:type="AdwViewStackPage*"/>
          </instance-parameter>
          <parameter name="use_underline" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="1691">the new value to set</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_visible"
              c:identifier="adw_view_stack_page_set_visible"
              glib:set-property="visible">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="1846">Sets whether @page is visible in its `AdwViewStack`.

This is independent from the [property@Gtk.Widget:visible] property of
[property@ViewStackPage:child].</doc>
        <source-position filename="src/adw-view-stack.h" line="72"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="1848">a view stack page</doc>
            <type name="ViewStackPage" c:type="AdwViewStackPage*"/>
          </instance-parameter>
          <parameter name="visible" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="1849">whether @self is visible</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="badge-number"
                writable="1"
                transfer-ownership="none"
                setter="set_badge_number"
                getter="get_badge_number"
                default-value="0">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="384">The badge number for this page.

[class@ViewSwitcher] can display it as a badge next to the page icon. It is
commonly used to display a number of unread items within the page.

It can be used together with [property@ViewStack{age}:needs-attention].</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="child"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_child">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="322">The stack child to which the page belongs.</doc>
        <type name="Gtk.Widget"/>
      </property>
      <property name="icon-name"
                writable="1"
                transfer-ownership="none"
                setter="set_icon_name"
                getter="get_icon_name"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="362">The icon name of the child page.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="name"
                writable="1"
                transfer-ownership="none"
                setter="set_name"
                getter="get_name"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="332">The name of the child page.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="needs-attention"
                writable="1"
                transfer-ownership="none"
                setter="set_needs_attention"
                getter="get_needs_attention"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="372">Whether the page requires the user attention.

[class@ViewSwitcher] will display it as a dot next to the page icon.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="title"
                writable="1"
                transfer-ownership="none"
                setter="set_title"
                getter="get_title"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="342">The title of the child page.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="use-underline"
                writable="1"
                transfer-ownership="none"
                setter="set_use_underline"
                getter="get_use_underline"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="352">Whether an embedded underline in the title indicates a mnemonic.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="visible"
                writable="1"
                transfer-ownership="none"
                setter="set_visible"
                getter="get_visible"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="399">Whether this page is visible.

This is independent from the [property@Gtk.Widget:visible] property of
[property@ViewStackPage:child].</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
    </class>
    <record name="ViewStackPageClass"
            c:type="AdwViewStackPageClass"
            glib:is-gtype-struct-for="ViewStackPage">
      <source-position filename="src/adw-view-stack.h" line="28"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="ViewStackPages"
           c:symbol-prefix="view_stack_pages"
           c:type="AdwViewStackPages"
           version="1.4"
           parent="GObject.Object"
           final="1"
           glib:type-name="AdwViewStackPages"
           glib:get-type="adw_view_stack_pages_get_type"
           glib:type-struct="ViewStackPagesClass">
      <doc xml:space="preserve"
           filename="src/adw-view-stack.c"
           line="89">An auxiliary class used by [class@ViewStack].

See [property@ViewStack:pages].</doc>
      <source-position filename="src/adw-view-stack.h" line="159"/>
      <implements name="Gio.ListModel"/>
      <implements name="Gtk.SelectionModel"/>
      <method name="get_selected_page"
              c:identifier="adw_view_stack_pages_get_selected_page"
              glib:get-property="selected-page"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="593">Gets the [class@ViewStackPage] for the visible child of a view stack

Gets the [class@ViewStackPage] for the visible child of the associated stack.

Returns `NULL` if there's no selected page.</doc>
        <source-position filename="src/adw-view-stack.h" line="162"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-view-stack.c"
               line="603">the stack page</doc>
          <type name="ViewStackPage" c:type="AdwViewStackPage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="595">a [class@ViewStackPages]</doc>
            <type name="ViewStackPages" c:type="AdwViewStackPages*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_selected_page"
              c:identifier="adw_view_stack_pages_set_selected_page"
              glib:set-property="selected-page"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="623">Sets the visible child in the associated [class@ViewStack].

See [property@ViewStack:visible-child].</doc>
        <source-position filename="src/adw-view-stack.h" line="164"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="625">a [class@ViewStackPages]</doc>
            <type name="ViewStackPages" c:type="AdwViewStackPages*"/>
          </instance-parameter>
          <parameter name="page" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-stack.c"
                 line="626">a stack page within the associated stack</doc>
            <type name="ViewStackPage" c:type="AdwViewStackPage*"/>
          </parameter>
        </parameters>
      </method>
      <property name="selected-page"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_selected_page"
                getter="get_selected_page">
        <doc xml:space="preserve"
             filename="src/adw-view-stack.c"
             line="702">The selected [class@ViewStackPage] within the [class@ViewStackPages].

This can be used to keep an up-to-date view of the [class@ViewStackPage] for
The visible [class@ViewStackPage] within the associated [class@ViewStackPages].

This can be used to keep an up-to-date view of the visible child.</doc>
        <type name="ViewStackPage"/>
      </property>
    </class>
    <record name="ViewStackPagesClass"
            c:type="AdwViewStackPagesClass"
            glib:is-gtype-struct-for="ViewStackPages">
      <source-position filename="src/adw-view-stack.h" line="159"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="ViewSwitcher"
           c:symbol-prefix="view_switcher"
           c:type="AdwViewSwitcher"
           parent="Gtk.Widget"
           final="1"
           glib:type-name="AdwViewSwitcher"
           glib:get-type="adw_view_switcher_get_type"
           glib:type-struct="ViewSwitcherClass">
      <doc xml:space="preserve"
           filename="src/adw-view-switcher.c"
           line="18">An adaptive view switcher.

&lt;picture&gt;
  &lt;source srcset="view-switcher-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="view-switcher.png" alt="view-switcher"&gt;
&lt;/picture&gt;

An adaptive view switcher designed to switch between multiple views
contained in a [class@ViewStack] in a similar fashion to
[class@Gtk.StackSwitcher].

`AdwViewSwitcher` buttons always have an icon and a label. They can be
displayed side by side, or icon on top of the label. This can be controlled
via the [property@ViewSwitcher:policy] property.

`AdwViewSwitcher` is intended to be used in a header bar together with
[class@ViewSwitcherBar] at the bottom of the window, and a [class@Breakpoint]
showing the view switcher bar on narrow sizes, while removing the view
switcher from the header bar, as follows:

```xml
&lt;object class="AdwWindow"&gt;
  &lt;child&gt;
    &lt;object class="AdwBreakpoint"&gt;
      &lt;condition&gt;max-width: 550sp&lt;/condition&gt;
      &lt;setter object="switcher_bar" property="reveal"&gt;True&lt;/setter&gt;
      &lt;setter object="header_bar" property="title-widget"/&gt;
    &lt;/object&gt;
  &lt;/child&gt;
  &lt;property name="content"&gt;
    &lt;object class="AdwToolbarView"&gt;
      &lt;child type="top"&gt;
        &lt;object class="AdwHeaderBar" id="header_bar"&gt;
          &lt;property name="title-widget"&gt;
            &lt;object class="AdwViewSwitcher"&gt;
              &lt;property name="stack"&gt;stack&lt;/property&gt;
              &lt;property name="policy"&gt;wide&lt;/property&gt;
            &lt;/object&gt;
          &lt;/property&gt;
        &lt;/object&gt;
      &lt;/child&gt;
      &lt;property name="content"&gt;
        &lt;object class="AdwViewStack" id="stack"/&gt;
      &lt;/property&gt;
      &lt;child type="bottom"&gt;
        &lt;object class="AdwViewSwitcherBar" id="switcher_bar"&gt;
          &lt;property name="stack"&gt;stack&lt;/property&gt;
        &lt;/object&gt;
      &lt;/child&gt;
    &lt;/object&gt;
  &lt;/property&gt;
&lt;/object&gt;
```

It's recommended to set [property@ViewSwitcher:policy] to
`ADW_VIEW_SWITCHER_POLICY_WIDE` in this case.

You may have to adjust the breakpoint condition for your specific pages.

## CSS nodes

`AdwViewSwitcher` has a single CSS node with name `viewswitcher`. It can have
the style classes `.wide` and `.narrow`, matching its policy.

## Accessibility

`AdwViewSwitcher` uses the `GTK_ACCESSIBLE_ROLE_TAB_LIST` role and uses the
`GTK_ACCESSIBLE_ROLE_TAB` for its buttons.</doc>
      <source-position filename="src/adw-view-switcher.h" line="25"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <constructor name="new" c:identifier="adw_view_switcher_new">
        <doc xml:space="preserve"
             filename="src/adw-view-switcher.c"
             line="479">Creates a new `AdwViewSwitcher`.</doc>
        <source-position filename="src/adw-view-switcher.h" line="33"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-view-switcher.c"
               line="484">the newly created `AdwViewSwitcher`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="get_policy"
              c:identifier="adw_view_switcher_get_policy"
              glib:get-property="policy">
        <doc xml:space="preserve"
             filename="src/adw-view-switcher.c"
             line="492">Gets the policy of @self.</doc>
        <source-position filename="src/adw-view-switcher.h" line="36"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-view-switcher.c"
               line="498">the policy of @self</doc>
          <type name="ViewSwitcherPolicy" c:type="AdwViewSwitcherPolicy"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-switcher.c"
                 line="494">a view switcher</doc>
            <type name="ViewSwitcher" c:type="AdwViewSwitcher*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_stack"
              c:identifier="adw_view_switcher_get_stack"
              glib:get-property="stack">
        <doc xml:space="preserve"
             filename="src/adw-view-switcher.c"
             line="547">Gets the stack controlled by @self.</doc>
        <source-position filename="src/adw-view-switcher.h" line="42"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-view-switcher.c"
               line="553">the stack</doc>
          <type name="ViewStack" c:type="AdwViewStack*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-switcher.c"
                 line="549">a view switcher</doc>
            <type name="ViewSwitcher" c:type="AdwViewSwitcher*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_policy"
              c:identifier="adw_view_switcher_set_policy"
              glib:set-property="policy">
        <doc xml:space="preserve"
             filename="src/adw-view-switcher.c"
             line="508">Sets the policy of @self.</doc>
        <source-position filename="src/adw-view-switcher.h" line="38"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-switcher.c"
                 line="510">a view switcher</doc>
            <type name="ViewSwitcher" c:type="AdwViewSwitcher*"/>
          </instance-parameter>
          <parameter name="policy" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-switcher.c"
                 line="511">the new policy</doc>
            <type name="ViewSwitcherPolicy" c:type="AdwViewSwitcherPolicy"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_stack"
              c:identifier="adw_view_switcher_set_stack"
              glib:set-property="stack">
        <doc xml:space="preserve"
             filename="src/adw-view-switcher.c"
             line="563">Sets the stack controlled by @self.</doc>
        <source-position filename="src/adw-view-switcher.h" line="44"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-switcher.c"
                 line="565">a view switcher</doc>
            <type name="ViewSwitcher" c:type="AdwViewSwitcher*"/>
          </instance-parameter>
          <parameter name="stack"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-view-switcher.c"
                 line="566">a stack</doc>
            <type name="ViewStack" c:type="AdwViewStack*"/>
          </parameter>
        </parameters>
      </method>
      <property name="policy"
                writable="1"
                transfer-ownership="none"
                setter="set_policy"
                getter="get_policy"
                default-value="ADW_VIEW_SWITCHER_POLICY_NARROW">
        <doc xml:space="preserve"
             filename="src/adw-view-switcher.c"
             line="439">The policy to determine which mode to use.</doc>
        <type name="ViewSwitcherPolicy"/>
      </property>
      <property name="stack"
                writable="1"
                transfer-ownership="none"
                setter="set_stack"
                getter="get_stack">
        <doc xml:space="preserve"
             filename="src/adw-view-switcher.c"
             line="450">The stack the view switcher controls.</doc>
        <type name="ViewStack"/>
      </property>
    </class>
    <class name="ViewSwitcherBar"
           c:symbol-prefix="view_switcher_bar"
           c:type="AdwViewSwitcherBar"
           parent="Gtk.Widget"
           final="1"
           glib:type-name="AdwViewSwitcherBar"
           glib:get-type="adw_view_switcher_bar_get_type"
           glib:type-struct="ViewSwitcherBarClass">
      <doc xml:space="preserve"
           filename="src/adw-view-switcher-bar.c"
           line="14">A view switcher action bar.

&lt;picture&gt;
  &lt;source srcset="view-switcher-bar-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="view-switcher-bar.png" alt="view-switcher-bar"&gt;
&lt;/picture&gt;

An action bar letting you switch between multiple views contained in a
[class@ViewStack], via an [class@ViewSwitcher]. It is designed to be put at
the bottom of a window and to be revealed only on really narrow windows, e.g.
on mobile phones. It can't be revealed if there are less than two pages.

`AdwViewSwitcherBar` is intended to be used together with
`AdwViewSwitcher` in a header bar, and a [class@Breakpoint] showing the view
switcher bar on narrow sizes, while removing the view switcher from the
header bar, as follows:

```xml
&lt;object class="AdwWindow"&gt;
  &lt;child&gt;
    &lt;object class="AdwBreakpoint"&gt;
      &lt;condition&gt;max-width: 550sp&lt;/condition&gt;
      &lt;setter object="switcher_bar" property="reveal"&gt;True&lt;/setter&gt;
      &lt;setter object="header_bar" property="title-widget"/&gt;
    &lt;/object&gt;
  &lt;/child&gt;
  &lt;property name="content"&gt;
    &lt;object class="AdwToolbarView"&gt;
      &lt;child type="top"&gt;
        &lt;object class="AdwHeaderBar" id="header_bar"&gt;
          &lt;property name="title-widget"&gt;
            &lt;object class="AdwViewSwitcher"&gt;
              &lt;property name="stack"&gt;stack&lt;/property&gt;
              &lt;property name="policy"&gt;wide&lt;/property&gt;
            &lt;/object&gt;
          &lt;/property&gt;
        &lt;/object&gt;
      &lt;/child&gt;
      &lt;property name="content"&gt;
        &lt;object class="AdwViewStack" id="stack"/&gt;
      &lt;/property&gt;
      &lt;child type="bottom"&gt;
        &lt;object class="AdwViewSwitcherBar" id="switcher_bar"&gt;
          &lt;property name="stack"&gt;stack&lt;/property&gt;
        &lt;/object&gt;
      &lt;/child&gt;
    &lt;/object&gt;
  &lt;/property&gt;
&lt;/object&gt;
```

It's recommended to set [property@ViewSwitcher:policy] to
`ADW_VIEW_SWITCHER_POLICY_WIDE` in this case.

You may have to adjust the breakpoint condition for your specific pages.

## CSS nodes

`AdwViewSwitcherBar` has a single CSS node with name` viewswitcherbar`.</doc>
      <source-position filename="src/adw-view-switcher-bar.h" line="25"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <constructor name="new" c:identifier="adw_view_switcher_bar_new">
        <doc xml:space="preserve"
             filename="src/adw-view-switcher-bar.c"
             line="277">Creates a new `AdwViewSwitcherBar`.</doc>
        <source-position filename="src/adw-view-switcher-bar.h" line="28"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-view-switcher-bar.c"
               line="282">the newly created `AdwViewSwitcherBar`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="get_reveal"
              c:identifier="adw_view_switcher_bar_get_reveal"
              glib:get-property="reveal">
        <doc xml:space="preserve"
             filename="src/adw-view-switcher-bar.c"
             line="345">Gets whether @self should be revealed or hidden.</doc>
        <source-position filename="src/adw-view-switcher-bar.h" line="37"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-view-switcher-bar.c"
               line="351">whether @self is revealed</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-switcher-bar.c"
                 line="347">a view switcher bar</doc>
            <type name="ViewSwitcherBar" c:type="AdwViewSwitcherBar*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_stack"
              c:identifier="adw_view_switcher_bar_get_stack"
              glib:get-property="stack">
        <doc xml:space="preserve"
             filename="src/adw-view-switcher-bar.c"
             line="290">Gets the stack controlled by @self.</doc>
        <source-position filename="src/adw-view-switcher-bar.h" line="31"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-view-switcher-bar.c"
               line="296">the stack</doc>
          <type name="ViewStack" c:type="AdwViewStack*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-switcher-bar.c"
                 line="292">a view switcher bar</doc>
            <type name="ViewSwitcherBar" c:type="AdwViewSwitcherBar*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_reveal"
              c:identifier="adw_view_switcher_bar_set_reveal"
              glib:set-property="reveal">
        <doc xml:space="preserve"
             filename="src/adw-view-switcher-bar.c"
             line="361">Sets whether @self should be revealed or hidden.</doc>
        <source-position filename="src/adw-view-switcher-bar.h" line="39"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-switcher-bar.c"
                 line="363">a view switcher bar</doc>
            <type name="ViewSwitcherBar" c:type="AdwViewSwitcherBar*"/>
          </instance-parameter>
          <parameter name="reveal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-switcher-bar.c"
                 line="364">whether to reveal @self</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_stack"
              c:identifier="adw_view_switcher_bar_set_stack"
              glib:set-property="stack">
        <doc xml:space="preserve"
             filename="src/adw-view-switcher-bar.c"
             line="306">Sets the stack controlled by @self.</doc>
        <source-position filename="src/adw-view-switcher-bar.h" line="33"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-switcher-bar.c"
                 line="308">a view switcher bar</doc>
            <type name="ViewSwitcherBar" c:type="AdwViewSwitcherBar*"/>
          </instance-parameter>
          <parameter name="stack"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-view-switcher-bar.c"
                 line="309">a stack</doc>
            <type name="ViewStack" c:type="AdwViewStack*"/>
          </parameter>
        </parameters>
      </method>
      <property name="reveal"
                writable="1"
                transfer-ownership="none"
                setter="set_reveal"
                getter="get_reveal"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-view-switcher-bar.c"
             line="248">Whether the bar should be revealed or hidden.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="stack"
                writable="1"
                transfer-ownership="none"
                setter="set_stack"
                getter="get_stack">
        <doc xml:space="preserve"
             filename="src/adw-view-switcher-bar.c"
             line="238">The stack the view switcher controls.</doc>
        <type name="ViewStack"/>
      </property>
    </class>
    <record name="ViewSwitcherBarClass"
            c:type="AdwViewSwitcherBarClass"
            glib:is-gtype-struct-for="ViewSwitcherBar">
      <source-position filename="src/adw-view-switcher-bar.h" line="25"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
    </record>
    <record name="ViewSwitcherClass"
            c:type="AdwViewSwitcherClass"
            glib:is-gtype-struct-for="ViewSwitcher">
      <source-position filename="src/adw-view-switcher.h" line="25"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
    </record>
    <enumeration name="ViewSwitcherPolicy"
                 glib:type-name="AdwViewSwitcherPolicy"
                 glib:get-type="adw_view_switcher_policy_get_type"
                 c:type="AdwViewSwitcherPolicy">
      <doc xml:space="preserve"
           filename="src/adw-view-switcher.c"
           line="91">Describes the adaptive modes of [class@ViewSwitcher].</doc>
      <member name="narrow"
              value="0"
              c:identifier="ADW_VIEW_SWITCHER_POLICY_NARROW"
              glib:nick="narrow"
              glib:name="ADW_VIEW_SWITCHER_POLICY_NARROW">
        <doc xml:space="preserve"
             filename="src/adw-view-switcher.c"
             line="93">Force the narrow mode</doc>
      </member>
      <member name="wide"
              value="1"
              c:identifier="ADW_VIEW_SWITCHER_POLICY_WIDE"
              glib:nick="wide"
              glib:name="ADW_VIEW_SWITCHER_POLICY_WIDE">
        <doc xml:space="preserve"
             filename="src/adw-view-switcher.c"
             line="94">Force the wide mode</doc>
      </member>
    </enumeration>
    <class name="ViewSwitcherTitle"
           c:symbol-prefix="view_switcher_title"
           c:type="AdwViewSwitcherTitle"
           deprecated="1"
           deprecated-version="1.4"
           parent="Gtk.Widget"
           final="1"
           glib:type-name="AdwViewSwitcherTitle"
           glib:get-type="adw_view_switcher_title_get_type"
           glib:type-struct="ViewSwitcherTitleClass">
      <doc xml:space="preserve"
           filename="src/adw-view-switcher-title.c"
           line="15">A view switcher title.

&lt;picture&gt;
  &lt;source srcset="view-switcher-title-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="view-switcher-title.png" alt="view-switcher-title"&gt;
&lt;/picture&gt;

A widget letting you switch between multiple views contained by a
[class@ViewStack] via an [class@ViewSwitcher].

It is designed to be used as the title widget of a [class@HeaderBar], and
will display the window's title when the window is too narrow to fit the view
switcher e.g. on mobile phones, or if there are less than two views.

In order to center the title in narrow windows, the header bar should have
[property@HeaderBar:centering-policy] set to
`ADW_CENTERING_POLICY_STRICT`.

`AdwViewSwitcherTitle` is intended to be used together with
[class@ViewSwitcherBar].

A common use case is to bind the [property@ViewSwitcherBar:reveal] property
to [property@ViewSwitcherTitle:title-visible] to automatically reveal the
view switcher bar when the title label is displayed in place of the view
switcher, as follows:

```xml
&lt;object class="AdwWindow"&gt;
  &lt;property name="content"&gt;
    &lt;object class="AdwToolbarView"&gt;
      &lt;child type="top"&gt;
        &lt;object class="AdwHeaderBar"&gt;
          &lt;property name="centering-policy"&gt;strict&lt;/property&gt;
          &lt;property name="title-widget"&gt;
            &lt;object class="AdwViewSwitcherTitle" id="title"&gt;
              &lt;property name="stack"&gt;stack&lt;/property&gt;
            &lt;/object&gt;
          &lt;/property&gt;
        &lt;/object&gt;
      &lt;/child&gt;
      &lt;property name="content"&gt;
        &lt;object class="AdwViewStack" id="stack"/&gt;
      &lt;/property&gt;
      &lt;child type="bottom"&gt;
        &lt;object class="AdwViewSwitcherBar"&gt;
          &lt;property name="stack"&gt;stack&lt;/property&gt;
          &lt;binding name="reveal"&gt;
            &lt;lookup name="title-visible"&gt;title&lt;/lookup&gt;
          &lt;/binding&gt;
        &lt;/object&gt;
      &lt;/child&gt;
    &lt;/object&gt;
  &lt;/property&gt;
&lt;/object&gt;
```

## CSS nodes

`AdwViewSwitcherTitle` has a single CSS node with name `viewswitchertitle`.</doc>
      <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwviewswitchertitle)</doc-deprecated>
      <source-position filename="src/adw-view-switcher-title.h" line="25"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <constructor name="new"
                   c:identifier="adw_view_switcher_title_new"
                   deprecated="1"
                   deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-view-switcher-title.c"
             line="387">Creates a new `AdwViewSwitcherTitle`.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwviewswitchertitle)</doc-deprecated>
        <source-position filename="src/adw-view-switcher-title.h" line="28"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-view-switcher-title.c"
               line="392">the newly created `AdwViewSwitcherTitle`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="get_stack"
              c:identifier="adw_view_switcher_title_get_stack"
              glib:get-property="stack"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-view-switcher-title.c"
             line="402">Gets the stack controlled by @self.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwviewswitchertitle)</doc-deprecated>
        <source-position filename="src/adw-view-switcher-title.h" line="31"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-view-switcher-title.c"
               line="408">the stack</doc>
          <type name="ViewStack" c:type="AdwViewStack*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-switcher-title.c"
                 line="404">a view switcher title</doc>
            <type name="ViewSwitcherTitle" c:type="AdwViewSwitcherTitle*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_subtitle"
              c:identifier="adw_view_switcher_title_get_subtitle"
              glib:get-property="subtitle"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-view-switcher-title.c"
             line="506">Gets the subtitle of @self.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwviewswitchertitle)</doc-deprecated>
        <source-position filename="src/adw-view-switcher-title.h" line="43"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-view-switcher-title.c"
               line="512">the subtitle</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-switcher-title.c"
                 line="508">a view switcher title</doc>
            <type name="ViewSwitcherTitle" c:type="AdwViewSwitcherTitle*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_title"
              c:identifier="adw_view_switcher_title_get_title"
              glib:get-property="title"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-view-switcher-title.c"
             line="462">Gets the title of @self.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwviewswitchertitle)</doc-deprecated>
        <source-position filename="src/adw-view-switcher-title.h" line="37"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-view-switcher-title.c"
               line="468">the title</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-switcher-title.c"
                 line="464">a view switcher title</doc>
            <type name="ViewSwitcherTitle" c:type="AdwViewSwitcherTitle*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_title_visible"
              c:identifier="adw_view_switcher_title_get_title_visible"
              glib:get-property="title-visible"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-view-switcher-title.c"
             line="600">Gets whether the title of @self is currently visible.

If the title is visible, it means the view switcher is hidden an it may be
wanted to show an alternative switcher, e.g. a [class@ViewSwitcherBar].</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwviewswitchertitle)</doc-deprecated>
        <source-position filename="src/adw-view-switcher-title.h" line="55"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-view-switcher-title.c"
               line="609">whether the title of @self is currently visible</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-switcher-title.c"
                 line="602">a view switcher title</doc>
            <type name="ViewSwitcherTitle" c:type="AdwViewSwitcherTitle*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_view_switcher_enabled"
              c:identifier="adw_view_switcher_title_get_view_switcher_enabled"
              glib:get-property="view-switcher-enabled"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-view-switcher-title.c"
             line="549">Gets whether @self's view switcher is enabled.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwviewswitchertitle)</doc-deprecated>
        <source-position filename="src/adw-view-switcher-title.h" line="49"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-view-switcher-title.c"
               line="555">whether the view switcher is enabled</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-switcher-title.c"
                 line="551">a view switcher title</doc>
            <type name="ViewSwitcherTitle" c:type="AdwViewSwitcherTitle*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_stack"
              c:identifier="adw_view_switcher_title_set_stack"
              glib:set-property="stack"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-view-switcher-title.c"
             line="420">Sets the stack controlled by @self.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwviewswitchertitle)</doc-deprecated>
        <source-position filename="src/adw-view-switcher-title.h" line="33"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-switcher-title.c"
                 line="422">a view switcher title</doc>
            <type name="ViewSwitcherTitle" c:type="AdwViewSwitcherTitle*"/>
          </instance-parameter>
          <parameter name="stack"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-view-switcher-title.c"
                 line="423">a stack</doc>
            <type name="ViewStack" c:type="AdwViewStack*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_subtitle"
              c:identifier="adw_view_switcher_title_set_subtitle"
              glib:set-property="subtitle"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-view-switcher-title.c"
             line="524">Sets the subtitle of @self.

The subtitle should give the user additional details.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwviewswitchertitle)</doc-deprecated>
        <source-position filename="src/adw-view-switcher-title.h" line="45"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-switcher-title.c"
                 line="526">a view switcher title</doc>
            <type name="ViewSwitcherTitle" c:type="AdwViewSwitcherTitle*"/>
          </instance-parameter>
          <parameter name="subtitle" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-switcher-title.c"
                 line="527">a subtitle</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_title"
              c:identifier="adw_view_switcher_title_set_title"
              glib:set-property="title"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-view-switcher-title.c"
             line="480">Sets the title of @self.

The title typically identifies the current view or content item, and
generally does not use the application name.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwviewswitchertitle)</doc-deprecated>
        <source-position filename="src/adw-view-switcher-title.h" line="39"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-switcher-title.c"
                 line="482">a view switcher title</doc>
            <type name="ViewSwitcherTitle" c:type="AdwViewSwitcherTitle*"/>
          </instance-parameter>
          <parameter name="title" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-switcher-title.c"
                 line="483">a title</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_view_switcher_enabled"
              c:identifier="adw_view_switcher_title_set_view_switcher_enabled"
              glib:set-property="view-switcher-enabled"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-view-switcher-title.c"
             line="567">Sets whether @self's view switcher is enabled.

If it is disabled, the title will be displayed instead. This allows to
programmatically hide the view switcher even if it fits in the available
space.

This can be used e.g. to ensure the view switcher is hidden below a certain
window width, or any other constraint you find suitable.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwviewswitchertitle)</doc-deprecated>
        <source-position filename="src/adw-view-switcher-title.h" line="51"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-switcher-title.c"
                 line="569">a view switcher title</doc>
            <type name="ViewSwitcherTitle" c:type="AdwViewSwitcherTitle*"/>
          </instance-parameter>
          <parameter name="enabled" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-view-switcher-title.c"
                 line="570">whether the view switcher is enabled</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="stack"
                deprecated="1"
                deprecated-version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_stack"
                getter="get_stack">
        <doc xml:space="preserve"
             filename="src/adw-view-switcher-title.c"
             line="285">The stack the view switcher controls.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwviewswitchertitle)</doc-deprecated>
        <type name="ViewStack"/>
      </property>
      <property name="subtitle"
                deprecated="1"
                deprecated-version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_subtitle"
                getter="get_subtitle">
        <doc xml:space="preserve"
             filename="src/adw-view-switcher-title.c"
             line="312">The subtitle to display.

The subtitle should give the user additional details.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwviewswitchertitle)</doc-deprecated>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="title"
                deprecated="1"
                deprecated-version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_title"
                getter="get_title">
        <doc xml:space="preserve"
             filename="src/adw-view-switcher-title.c"
             line="297">The title to display.

The title typically identifies the current view or content item, and
generally does not use the application name.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwviewswitchertitle)</doc-deprecated>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="title-visible"
                deprecated="1"
                deprecated-version="1.4"
                transfer-ownership="none"
                getter="get_title_visible"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-view-switcher-title.c"
             line="345">Whether the title is currently visible.

If the title is visible, it means the view switcher is hidden an it may be
wanted to show an alternative switcher, e.g. a [class@ViewSwitcherBar].</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwviewswitchertitle)</doc-deprecated>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="view-switcher-enabled"
                deprecated="1"
                deprecated-version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_view_switcher_enabled"
                getter="get_view_switcher_enabled"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="src/adw-view-switcher-title.c"
             line="326">Whether the view switcher is enabled.

If it is disabled, the title will be displayed instead. This allows to
programmatically hide the view switcher even if it fits in the available
space.

This can be used e.g. to ensure the view switcher is hidden below a certain
window width, or any other constraint you find suitable.</doc>
        <doc-deprecated xml:space="preserve">See [the migration guide](migrating-to-breakpoints.html#replace-adwviewswitchertitle)</doc-deprecated>
        <type name="gboolean" c:type="gboolean"/>
      </property>
    </class>
    <record name="ViewSwitcherTitleClass"
            c:type="AdwViewSwitcherTitleClass"
            glib:is-gtype-struct-for="ViewSwitcherTitle">
      <source-position filename="src/adw-view-switcher-title.h" line="25"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
    </record>
    <class name="Window"
           c:symbol-prefix="window"
           c:type="AdwWindow"
           parent="Gtk.Window"
           glib:type-name="AdwWindow"
           glib:get-type="adw_window_get_type"
           glib:type-struct="WindowClass">
      <doc xml:space="preserve"
           filename="src/adw-window.c"
           line="20">A freeform window.

&lt;picture&gt;
  &lt;source srcset="window-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="window.png" alt="window"&gt;
&lt;/picture&gt;

The `AdwWindow` widget is a subclass of [class@Gtk.Window] which has no
titlebar area. Instead, [class@ToolbarView] can be used together with
[class@HeaderBar] or [class@Gtk.HeaderBar] as follows:

```xml
&lt;object class="AdwWindow"&gt;
  &lt;property name="content"&gt;
    &lt;object class="AdwToolbarView"&gt;
      &lt;child type="top"&gt;
        &lt;object class="AdwHeaderBar"/&gt;
      &lt;/child&gt;
      &lt;property name="content"&gt;
        &lt;!-- ... --&gt;
      &lt;/property&gt;
    &lt;/object&gt;
  &lt;/property&gt;
&lt;/object&gt;
```

Using [property@Gtk.Window:titlebar] or [property@Gtk.Window:child]
is not supported and will result in a crash. Use [property@Window:content]
instead.

## Dialogs

`AdwWindow` can contain [class@Dialog]. Use [method@Dialog.present] with the
window or a widget within a window to show a dialog.

## Breakpoints

`AdwWindow` can be used with [class@Breakpoint] the same way as
[class@BreakpointBin]. Refer to that widget's documentation for details.

Example:

```xml
&lt;object class="AdwWindow"&gt;
  &lt;property name="content"&gt;
    &lt;object class="AdwToolbarView"&gt;
      &lt;child type="top"&gt;
        &lt;object class="AdwHeaderBar"/&gt;
      &lt;/child&gt;
      &lt;property name="content"&gt;
        &lt;!-- ... --&gt;
      &lt;/property&gt;
      &lt;child type="bottom"&gt;
        &lt;object class="GtkActionBar" id="bottom_bar"&gt;
          &lt;property name="revealed"&gt;True&lt;/property&gt;
          &lt;property name="visible"&gt;False&lt;/property&gt;
        &lt;/object&gt;
      &lt;/child&gt;
    &lt;/object&gt;
  &lt;/property&gt;
  &lt;child&gt;
    &lt;object class="AdwBreakpoint"&gt;
      &lt;condition&gt;max-width: 500px&lt;/condition&gt;
      &lt;setter object="bottom_bar" property="visible"&gt;True&lt;/setter&gt;
    &lt;/object&gt;
  &lt;/child&gt;
&lt;/object&gt;
```

When breakpoints are used, the minimum size must be larger than the smallest
UI state. `AdwWindow` defaults to the minimum size of 360×200 px. If that's
too small, set the [property@Gtk.Widget:width-request] and
[property@Gtk.Widget:height-request] properties manually.

## Adaptive Preview

`AdwWindow` has a debug tool called adaptive preview. It can be opened from
GTK Inspector or by pressing &lt;kbd&gt;Ctrl&lt;/kbd&gt;+&lt;kbd&gt;Shift&lt;/kbd&gt;+&lt;kbd&gt;M&lt;/kbd&gt;,
and controlled via the [property@Window:adaptive-preview] property.</doc>
      <source-position filename="src/adw-window.h" line="33"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <implements name="Gtk.Native"/>
      <implements name="Gtk.Root"/>
      <implements name="Gtk.ShortcutManager"/>
      <constructor name="new" c:identifier="adw_window_new">
        <doc xml:space="preserve"
             filename="src/adw-window.c"
             line="382">Creates a new `AdwWindow`.</doc>
        <source-position filename="src/adw-window.h" line="36"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-window.c"
               line="387">the newly created `AdwWindow`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="add_breakpoint"
              c:identifier="adw_window_add_breakpoint"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-window.c"
             line="448">Adds @breakpoint to @self.</doc>
        <source-position filename="src/adw-window.h" line="45"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-window.c"
                 line="450">a window</doc>
            <type name="Window" c:type="AdwWindow*"/>
          </instance-parameter>
          <parameter name="breakpoint" transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/adw-window.c"
                 line="451">the breakpoint to add</doc>
            <type name="Breakpoint" c:type="AdwBreakpoint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_adaptive_preview"
              c:identifier="adw_window_get_adaptive_preview"
              glib:get-property="adaptive-preview"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-window.c"
             line="539">Gets whether adaptive preview for @self is currently open.</doc>
        <source-position filename="src/adw-window.h" line="58"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-window.c"
               line="545">whether adaptive preview is open.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-window.c"
                 line="541">a window</doc>
            <type name="Window" c:type="AdwWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_content"
              c:identifier="adw_window_get_content"
              glib:get-property="content">
        <doc xml:space="preserve"
             filename="src/adw-window.c"
             line="426">Gets the content widget of @self.

This method should always be used instead of [method@Gtk.Window.get_child].</doc>
        <source-position filename="src/adw-window.h" line="39"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-window.c"
               line="434">the content widget of @self</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-window.c"
                 line="428">a window</doc>
            <type name="Window" c:type="AdwWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_current_breakpoint"
              c:identifier="adw_window_get_current_breakpoint"
              glib:get-property="current-breakpoint"
              version="1.4">
        <doc xml:space="preserve"
             filename="src/adw-window.c"
             line="471">Gets the current breakpoint.</doc>
        <source-position filename="src/adw-window.h" line="49"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-window.c"
               line="477">the current breakpoint</doc>
          <type name="Breakpoint" c:type="AdwBreakpoint*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-window.c"
                 line="473">a window</doc>
            <type name="Window" c:type="AdwWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_dialogs"
              c:identifier="adw_window_get_dialogs"
              glib:get-property="dialogs"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-window.c"
             line="493">Returns a [iface@Gio.ListModel] that contains the open dialogs of @self.

This can be used to keep an up-to-date view.</doc>
        <source-position filename="src/adw-window.h" line="52"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/adw-window.c"
               line="501">a list model for the dialogs of @self</doc>
          <type name="Gio.ListModel" c:type="GListModel*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-window.c"
                 line="495">a window</doc>
            <type name="Window" c:type="AdwWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_visible_dialog"
              c:identifier="adw_window_get_visible_dialog"
              glib:get-property="visible-dialog"
              version="1.5">
        <doc xml:space="preserve"
             filename="src/adw-window.c"
             line="517">Returns the currently visible dialog in @self, if there's one.</doc>
        <source-position filename="src/adw-window.h" line="55"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/adw-window.c"
               line="523">the visible dialog</doc>
          <type name="Dialog" c:type="AdwDialog*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-window.c"
                 line="519">a window</doc>
            <type name="Window" c:type="AdwWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_adaptive_preview"
              c:identifier="adw_window_set_adaptive_preview"
              glib:set-property="adaptive-preview"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-window.c"
             line="561">Sets whether adaptive preview for @self is currently open.

Adaptive preview is a debugging tool used for testing the window
contents at specific screen sizes, simulating mobile environment.

Adaptive preview can always be accessed from inspector. This function
allows applications to open it manually.

Most applications should not use this function.</doc>
        <source-position filename="src/adw-window.h" line="60"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-window.c"
                 line="563">a window</doc>
            <type name="Window" c:type="AdwWindow*"/>
          </instance-parameter>
          <parameter name="adaptive_preview" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-window.c"
                 line="564">whether to open adaptive preview</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_content"
              c:identifier="adw_window_set_content"
              glib:set-property="content">
        <doc xml:space="preserve"
             filename="src/adw-window.c"
             line="395">Sets the content widget of @self.

This method should always be used instead of [method@Gtk.Window.set_child].</doc>
        <source-position filename="src/adw-window.h" line="41"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-window.c"
                 line="397">a window</doc>
            <type name="Window" c:type="AdwWindow*"/>
          </instance-parameter>
          <parameter name="content"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-window.c"
                 line="398">the content widget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <property name="adaptive-preview"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_adaptive_preview"
                getter="get_adaptive_preview"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-window.c"
             line="294">Whether adaptive preview is currently open.

Adaptive preview is a debugging tool used for testing the window
contents at specific screen sizes, simulating mobile environment.

Adaptive preview can always be accessed from inspector. This function
allows applications to open it manually.

Most applications should not use this property.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="content"
                writable="1"
                transfer-ownership="none"
                setter="set_content"
                getter="get_content">
        <doc xml:space="preserve"
             filename="src/adw-window.c"
             line="246">The content widget.

This property should always be used instead of [property@Gtk.Window:child].</doc>
        <type name="Gtk.Widget"/>
      </property>
      <property name="current-breakpoint"
                version="1.4"
                transfer-ownership="none"
                getter="get_current_breakpoint">
        <doc xml:space="preserve"
             filename="src/adw-window.c"
             line="258">The current breakpoint.</doc>
        <type name="Breakpoint"/>
      </property>
      <property name="dialogs"
                version="1.5"
                transfer-ownership="none"
                getter="get_dialogs">
        <doc xml:space="preserve"
             filename="src/adw-window.c"
             line="270">The open dialogs.</doc>
        <type name="Gio.ListModel"/>
      </property>
      <property name="visible-dialog"
                version="1.5"
                transfer-ownership="none"
                getter="get_visible_dialog">
        <doc xml:space="preserve"
             filename="src/adw-window.c"
             line="282">The currently visible dialog</doc>
        <type name="Dialog"/>
      </property>
      <field name="parent_instance">
        <type name="Gtk.Window" c:type="GtkWindow"/>
      </field>
    </class>
    <record name="WindowClass"
            c:type="AdwWindowClass"
            glib:is-gtype-struct-for="Window">
      <source-position filename="src/adw-window.h" line="33"/>
      <field name="parent_class">
        <type name="Gtk.WindowClass" c:type="GtkWindowClass"/>
      </field>
      <field name="padding" readable="0" private="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <class name="WindowTitle"
           c:symbol-prefix="window_title"
           c:type="AdwWindowTitle"
           parent="Gtk.Widget"
           final="1"
           glib:type-name="AdwWindowTitle"
           glib:get-type="adw_window_title_get_type"
           glib:type-struct="WindowTitleClass">
      <doc xml:space="preserve"
           filename="src/adw-window-title.c"
           line="11">A helper widget for setting a window's title and subtitle.

&lt;picture&gt;
  &lt;source srcset="window-title-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="window-title.png" alt="window-title"&gt;
&lt;/picture&gt;

`AdwWindowTitle` shows a title and subtitle. It's intended to be used as the
title child of [class@Gtk.HeaderBar] or [class@HeaderBar].

## CSS nodes

`AdwWindowTitle` has a single CSS node with name `windowtitle`.</doc>
      <source-position filename="src/adw-window-title.h" line="22"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <constructor name="new" c:identifier="adw_window_title_new">
        <doc xml:space="preserve"
             filename="src/adw-window-title.c"
             line="152">Creates a new `AdwWindowTitle`.</doc>
        <source-position filename="src/adw-window-title.h" line="25"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-window-title.c"
               line="159">the newly created `AdwWindowTitle`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="title" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-window-title.c"
                 line="154">a title</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="subtitle" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-window-title.c"
                 line="155">a subtitle</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_subtitle"
              c:identifier="adw_window_title_get_subtitle"
              glib:get-property="subtitle">
        <doc xml:space="preserve"
             filename="src/adw-window-title.c"
             line="213">Gets the subtitle of @self.</doc>
        <source-position filename="src/adw-window-title.h" line="35"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-window-title.c"
               line="219">the subtitle</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-window-title.c"
                 line="215">a window title</doc>
            <type name="WindowTitle" c:type="AdwWindowTitle*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_title"
              c:identifier="adw_window_title_get_title"
              glib:get-property="title">
        <doc xml:space="preserve"
             filename="src/adw-window-title.c"
             line="171">Gets the title of @self.</doc>
        <source-position filename="src/adw-window-title.h" line="29"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-window-title.c"
               line="177">the title</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-window-title.c"
                 line="173">a window title</doc>
            <type name="WindowTitle" c:type="AdwWindowTitle*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_subtitle"
              c:identifier="adw_window_title_set_subtitle"
              glib:set-property="subtitle">
        <doc xml:space="preserve"
             filename="src/adw-window-title.c"
             line="229">Sets the subtitle of @self.

The subtitle should give the user additional details.</doc>
        <source-position filename="src/adw-window-title.h" line="37"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-window-title.c"
                 line="231">a window title</doc>
            <type name="WindowTitle" c:type="AdwWindowTitle*"/>
          </instance-parameter>
          <parameter name="subtitle" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-window-title.c"
                 line="232">a subtitle</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_title"
              c:identifier="adw_window_title_set_title"
              glib:set-property="title">
        <doc xml:space="preserve"
             filename="src/adw-window-title.c"
             line="187">Sets the title of @self.

The title typically identifies the current view or content item, and
generally does not use the application name.</doc>
        <source-position filename="src/adw-window-title.h" line="31"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-window-title.c"
                 line="189">a window title</doc>
            <type name="WindowTitle" c:type="AdwWindowTitle*"/>
          </instance-parameter>
          <parameter name="title" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-window-title.c"
                 line="190">a title</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <property name="subtitle"
                writable="1"
                transfer-ownership="none"
                setter="set_subtitle"
                getter="get_subtitle">
        <doc xml:space="preserve"
             filename="src/adw-window-title.c"
             line="128">The subtitle to display.

The subtitle should give the user additional details.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="title"
                writable="1"
                transfer-ownership="none"
                setter="set_title"
                getter="get_title">
        <doc xml:space="preserve"
             filename="src/adw-window-title.c"
             line="115">The title to display.

The title typically identifies the current view or content item, and
generally does not use the application name.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
    </class>
    <record name="WindowTitleClass"
            c:type="AdwWindowTitleClass"
            glib:is-gtype-struct-for="WindowTitle">
      <source-position filename="src/adw-window-title.h" line="22"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
    </record>
    <class name="WrapBox"
           c:symbol-prefix="wrap_box"
           c:type="AdwWrapBox"
           version="1.7"
           parent="Gtk.Widget"
           glib:type-name="AdwWrapBox"
           glib:get-type="adw_wrap_box_get_type"
           glib:type-struct="WrapBoxClass">
      <doc xml:space="preserve"
           filename="src/adw-wrap-box.c"
           line="17">A box-like widget that can wrap into multiple lines.

&lt;picture&gt;
  &lt;source srcset="wrap-box-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="wrap-box.png" alt="wrap-box"&gt;
&lt;/picture&gt;

`AdwWrapBox` is similar to [class@Gtk.Box], but can wrap lines when the
widgets cannot fit otherwise. Unlike [class@Gtk.FlowBox], the children aren't
arranged into a grid and behave more like words in a wrapping label.

Like `GtkBox`, `AdwWrapBox` is orientable and has spacing:

- [property@WrapBox:child-spacing] between children in the same line;
- [property@WrapBox:line-spacing] between lines.

::: note
    Unlike `GtkBox`, `AdwWrapBox` cannot follow the CSS `border-spacing`
    property.

Use the [property@WrapBox:natural-line-length] property to determine the
layout's natural size, e.g. when using it in a [class@Gtk.Popover].

Normally, a horizontal `AdwWrapBox` wraps left to right and top to bottom
for left-to-right languages. Both of these directions can be reversed, using
the [property@WrapBox:pack-direction] and [property@WrapBox:wrap-reverse]
properties. Additionally, the alignment of each line can be controlled with
the [property@WrapBox:align] property.

Lines can be justified using the [property@WrapBox:justify] property, filling
the entire line by either increasing child size or spacing depending on the
value. Set [property@WrapBox:justify-last-line] to justify the last line as
well.

By default, `AdwWrapBox` wraps as soon as the previous line cannot fit any
more children without shrinking them past their natural size. Set
[property@WrapBox:wrap-policy] to [enum@Adw.WrapPolicy.MINIMUM] to only wrap
once all the children in the previous line have been shrunk to their minimum
size.

To make each line take the same amount of space, set
[property@WrapBox:line-homogeneous] to `TRUE`.

Spacing and natural line length can scale with the text scale factor, use the
[property@WrapBox:child-spacing-unit], [property@WrapBox:line-spacing-unit]
and/or [property@WrapBox:natural-line-length-unit] properties to enable that
behavior.

See [class@WrapLayout].

## CSS nodes

`AdwWrapBox` uses a single CSS node with name `wrap-box`.

## Accessibility

`AdwWrapBox` uses the `GTK_ACCESSIBLE_ROLE_GROUP` role.</doc>
      <source-position filename="src/adw-wrap-box.h" line="28"/>
      <implements name="Gtk.Accessible"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.ConstraintTarget"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new" c:identifier="adw_wrap_box_new" version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-box.c"
             line="530">Creates a new `AdwWrapBox`.</doc>
        <source-position filename="src/adw-wrap-box.h" line="31"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-wrap-box.c"
               line="535">the newly created `AdwWrapBox`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="append" c:identifier="adw_wrap_box_append" version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-box.c"
             line="1332">Adds @child as the last child to @self.</doc>
        <source-position filename="src/adw-wrap-box.h" line="121"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="1334">a wrap box</doc>
            <type name="WrapBox" c:type="AdwWrapBox*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="1335">the widget to append</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_align"
              c:identifier="adw_wrap_box_get_align"
              glib:get-property="align"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-box.c"
             line="705">Gets the alignment of the children within each line.</doc>
        <source-position filename="src/adw-wrap-box.h" line="52"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-wrap-box.c"
               line="711">the child alignment</doc>
          <type name="gfloat" c:type="float"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="707">a wrap box</doc>
            <type name="WrapBox" c:type="AdwWrapBox*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_child_spacing"
              c:identifier="adw_wrap_box_get_child_spacing"
              glib:get-property="child-spacing"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-box.c"
             line="545">Gets spacing between widgets on the same line.</doc>
        <source-position filename="src/adw-wrap-box.h" line="34"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-wrap-box.c"
               line="551">spacing between widgets on the same line</doc>
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="547">a wrap box</doc>
            <type name="WrapBox" c:type="AdwWrapBox*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_child_spacing_unit"
              c:identifier="adw_wrap_box_get_child_spacing_unit"
              glib:get-property="child-spacing-unit"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-box.c"
             line="599">Gets the length unit for child spacing.</doc>
        <source-position filename="src/adw-wrap-box.h" line="40"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-wrap-box.c"
               line="605">the length unit</doc>
          <type name="LengthUnit" c:type="AdwLengthUnit"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="601">a wrap box</doc>
            <type name="WrapBox" c:type="AdwWrapBox*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_justify"
              c:identifier="adw_wrap_box_get_justify"
              glib:get-property="justify"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-box.c"
             line="762">Gets whether and how each complete line is stretched to fill the entire widget.</doc>
        <source-position filename="src/adw-wrap-box.h" line="58"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-wrap-box.c"
               line="768">the justify mode</doc>
          <type name="JustifyMode" c:type="AdwJustifyMode"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="764">a wrap box</doc>
            <type name="WrapBox" c:type="AdwWrapBox*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_justify_last_line"
              c:identifier="adw_wrap_box_get_justify_last_line"
              glib:get-property="justify-last-line"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-box.c"
             line="829">Gets whether the last line should be stretched to fill the entire widget.</doc>
        <source-position filename="src/adw-wrap-box.h" line="64"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-wrap-box.c"
               line="835">whether the last line is justified</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="831">a wrap box</doc>
            <type name="WrapBox" c:type="AdwWrapBox*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_line_homogeneous"
              c:identifier="adw_wrap_box_get_line_homogeneous"
              glib:get-property="line-homogeneous"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-box.c"
             line="991">Gets whether all lines should take the same amount of space.</doc>
        <source-position filename="src/adw-wrap-box.h" line="82"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-wrap-box.c"
               line="997">whether lines should be homogeneous</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="993">a wrap box</doc>
            <type name="WrapBox" c:type="AdwWrapBox*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_line_spacing"
              c:identifier="adw_wrap_box_get_line_spacing"
              glib:get-property="line-spacing"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-box.c"
             line="882">Gets the spacing between lines.

See [property@WrapBox:line-spacing-unit].</doc>
        <source-position filename="src/adw-wrap-box.h" line="70"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-wrap-box.c"
               line="890">the line spacing</doc>
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="884">a wrap box</doc>
            <type name="WrapBox" c:type="AdwWrapBox*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_line_spacing_unit"
              c:identifier="adw_wrap_box_get_line_spacing_unit"
              glib:get-property="line-spacing-unit"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-box.c"
             line="936">Gets the length unit for line spacing.</doc>
        <source-position filename="src/adw-wrap-box.h" line="76"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-wrap-box.c"
               line="942">the length unit</doc>
          <type name="LengthUnit" c:type="AdwLengthUnit"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="938">a wrap box</doc>
            <type name="WrapBox" c:type="AdwWrapBox*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_natural_line_length"
              c:identifier="adw_wrap_box_get_natural_line_length"
              glib:get-property="natural-line-length"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-box.c"
             line="1042">Gets the natural size for each line.</doc>
        <source-position filename="src/adw-wrap-box.h" line="88"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-wrap-box.c"
               line="1048">the natural length</doc>
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="1044">a wrap box</doc>
            <type name="WrapBox" c:type="AdwWrapBox*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_natural_line_length_unit"
              c:identifier="adw_wrap_box_get_natural_line_length_unit"
              glib:get-property="natural-line-length-unit"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-box.c"
             line="1099">Gets the length unit for line spacing.</doc>
        <source-position filename="src/adw-wrap-box.h" line="94"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-wrap-box.c"
               line="1105">the length unit</doc>
          <type name="LengthUnit" c:type="AdwLengthUnit"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="1101">a wrap box</doc>
            <type name="WrapBox" c:type="AdwWrapBox*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_pack_direction"
              c:identifier="adw_wrap_box_get_pack_direction"
              glib:get-property="pack-direction"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-box.c"
             line="654">Gets the direction children are packed in each line.</doc>
        <source-position filename="src/adw-wrap-box.h" line="46"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-wrap-box.c"
               line="660">the line direction</doc>
          <type name="PackDirection" c:type="AdwPackDirection"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="656">a wrap box</doc>
            <type name="WrapBox" c:type="AdwWrapBox*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_wrap_policy"
              c:identifier="adw_wrap_box_get_wrap_policy"
              glib:get-property="wrap-policy"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-box.c"
             line="1209">Gets the policy for line wrapping.</doc>
        <source-position filename="src/adw-wrap-box.h" line="106"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-wrap-box.c"
               line="1215">the wrap policy</doc>
          <type name="WrapPolicy" c:type="AdwWrapPolicy"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="1211">a wrap box</doc>
            <type name="WrapBox" c:type="AdwWrapBox*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_wrap_reverse"
              c:identifier="adw_wrap_box_get_wrap_reverse"
              glib:get-property="wrap-reverse"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-box.c"
             line="1154">Gets whether wrap direction is reversed.</doc>
        <source-position filename="src/adw-wrap-box.h" line="100"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-wrap-box.c"
               line="1160">whether wrap direction is reversed</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="1156">a wrap box</doc>
            <type name="WrapBox" c:type="AdwWrapBox*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="insert_child_after"
              c:identifier="adw_wrap_box_insert_child_after"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-box.c"
             line="1268">Inserts @child in the position after @sibling in the list of @self children.

If @sibling is `NULL`, inserts @child at the first position.</doc>
        <source-position filename="src/adw-wrap-box.h" line="112"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="1270">a wrap box</doc>
            <type name="WrapBox" c:type="AdwWrapBox*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="1271">the widget to insert</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="sibling"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="1272">the sibling after which to insert @child</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="prepend" c:identifier="adw_wrap_box_prepend" version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-box.c"
             line="1352">Adds @child as the first child to @self.</doc>
        <source-position filename="src/adw-wrap-box.h" line="124"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="1354">a wrap box</doc>
            <type name="WrapBox" c:type="AdwWrapBox*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="1355">the widget to prepend</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove" c:identifier="adw_wrap_box_remove" version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-box.c"
             line="1372">Removes a child widget from @self.

The child must have been added before with [method@Adw.WrapBox.append],
[method@Adw.WrapBox.prepend], or [method@Adw.WrapBox.insert_child_after].</doc>
        <source-position filename="src/adw-wrap-box.h" line="127"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="1374">a wrap box</doc>
            <type name="WrapBox" c:type="AdwWrapBox*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="1375">the child to remove</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="reorder_child_after"
              c:identifier="adw_wrap_box_reorder_child_after"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-box.c"
             line="1300">Moves @child to the position after @sibling in the list of @self children.

If @sibling is `NULL`, moves @child to the first position.</doc>
        <source-position filename="src/adw-wrap-box.h" line="116"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="1302">a wrap box</doc>
            <type name="WrapBox" c:type="AdwWrapBox*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="1303">the widget to move, must be a child of @self</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="sibling"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="1304">the sibling to move @child after</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_align"
              c:identifier="adw_wrap_box_set_align"
              glib:set-property="align"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-box.c"
             line="727">Sets the alignment of the children within each line.

0 means the children are placed at the start of the line, 1 means they are
placed at the end of the line. 0.5 means they are placed in the middle of the
line.

Alignment is only used when [property@WrapBox:justify] is set to
`ADW_JUSTIFY_NONE`, or on the last line when the
[property@WrapBox:justify-last-line] is `FALSE`.</doc>
        <source-position filename="src/adw-wrap-box.h" line="54"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="729">a wrap box</doc>
            <type name="WrapBox" c:type="AdwWrapBox*"/>
          </instance-parameter>
          <parameter name="align" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="730">the child alignment</doc>
            <type name="gfloat" c:type="float"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_child_spacing"
              c:identifier="adw_wrap_box_set_child_spacing"
              glib:set-property="child-spacing"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-box.c"
             line="567">Sets the spacing between widgets on the same line.

See [property@WrapBox:child-spacing-unit].</doc>
        <source-position filename="src/adw-wrap-box.h" line="36"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="569">a wrap box</doc>
            <type name="WrapBox" c:type="AdwWrapBox*"/>
          </instance-parameter>
          <parameter name="child_spacing" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="570">the child spacing</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_child_spacing_unit"
              c:identifier="adw_wrap_box_set_child_spacing_unit"
              glib:set-property="child-spacing-unit"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-box.c"
             line="621">Sets the length unit for child spacing.

Allows the spacing to vary depending on the text scale factor.

See [property@WrapBox:child-spacing].</doc>
        <source-position filename="src/adw-wrap-box.h" line="42"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="623">a wrap box</doc>
            <type name="WrapBox" c:type="AdwWrapBox*"/>
          </instance-parameter>
          <parameter name="unit" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="624">the length unit</doc>
            <type name="LengthUnit" c:type="AdwLengthUnit"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_justify"
              c:identifier="adw_wrap_box_set_justify"
              glib:set-property="justify"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-box.c"
             line="784">Determines whether and how each complete line should be stretched to fill
the entire widget.

If set to `ADW_JUSTIFY_FILL`, each widget in the line will be stretched,
keeping consistent spacing, so that the line fills the entire widget.

If set to `ADW_JUSTIFY_SPREAD`, the spacing between widgets will be
increased, keeping widget sizes intact. The first and last widget will be
aligned with the beginning and end of the line. If the line only contains a
single widget, it will be stretched regardless.

If set to `ADW_JUSTIFY_NONE`, the line will not be stretched and the children
will be placed together within the line, according to
[property@WrapBox:align].

By default this doesn't affect the last line, as it will be incomplete. Use
[property@WrapBox:justify-last-line] to justify it as well.</doc>
        <source-position filename="src/adw-wrap-box.h" line="60"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="786">a wrap box</doc>
            <type name="WrapBox" c:type="AdwWrapBox*"/>
          </instance-parameter>
          <parameter name="justify" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="787">the justify mode</doc>
            <type name="JustifyMode" c:type="AdwJustifyMode"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_justify_last_line"
              c:identifier="adw_wrap_box_set_justify_last_line"
              glib:set-property="justify-last-line"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-box.c"
             line="851">Sets whether the last line should be stretched to fill the entire widget.

See [property@WrapBox:justify].</doc>
        <source-position filename="src/adw-wrap-box.h" line="66"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="853">a wrap box</doc>
            <type name="WrapBox" c:type="AdwWrapBox*"/>
          </instance-parameter>
          <parameter name="justify_last_line" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="854">whether to justify the last line</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_line_homogeneous"
              c:identifier="adw_wrap_box_set_line_homogeneous"
              glib:set-property="line-homogeneous"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-box.c"
             line="1013">Sets whether all lines should take the same amount of space.</doc>
        <source-position filename="src/adw-wrap-box.h" line="84"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="1015">a wrap box</doc>
            <type name="WrapBox" c:type="AdwWrapBox*"/>
          </instance-parameter>
          <parameter name="homogeneous" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="1016">whether lines should be homogeneous</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_line_spacing"
              c:identifier="adw_wrap_box_set_line_spacing"
              glib:set-property="line-spacing"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-box.c"
             line="906">Sets the spacing between lines.</doc>
        <source-position filename="src/adw-wrap-box.h" line="72"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="908">a wrap box</doc>
            <type name="WrapBox" c:type="AdwWrapBox*"/>
          </instance-parameter>
          <parameter name="line_spacing" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="909">the line spacing</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_line_spacing_unit"
              c:identifier="adw_wrap_box_set_line_spacing_unit"
              glib:set-property="line-spacing-unit"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-box.c"
             line="958">Sets the length unit for line spacing.

Allows the spacing to vary depending on the text scale factor.

See [property@WrapBox:line-spacing].</doc>
        <source-position filename="src/adw-wrap-box.h" line="78"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="960">a wrap box</doc>
            <type name="WrapBox" c:type="AdwWrapBox*"/>
          </instance-parameter>
          <parameter name="unit" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="961">the length unit</doc>
            <type name="LengthUnit" c:type="AdwLengthUnit"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_natural_line_length"
              c:identifier="adw_wrap_box_set_natural_line_length"
              glib:set-property="natural-line-length"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-box.c"
             line="1064">Sets the natural size for each line.

It should be used to limit the line lengths, for example when used in
popovers.

See [property@WrapBox:natural-line-length-unit].</doc>
        <source-position filename="src/adw-wrap-box.h" line="90"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="1066">a wrap box</doc>
            <type name="WrapBox" c:type="AdwWrapBox*"/>
          </instance-parameter>
          <parameter name="natural_line_length" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="1067">the natural length</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_natural_line_length_unit"
              c:identifier="adw_wrap_box_set_natural_line_length_unit"
              glib:set-property="natural-line-length-unit"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-box.c"
             line="1121">Sets the length unit for natural line length.

Allows the length to vary depending on the text scale factor.

See [property@WrapBox:natural-line-length].</doc>
        <source-position filename="src/adw-wrap-box.h" line="96"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="1123">a wrap box</doc>
            <type name="WrapBox" c:type="AdwWrapBox*"/>
          </instance-parameter>
          <parameter name="unit" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="1124">the length unit</doc>
            <type name="LengthUnit" c:type="AdwLengthUnit"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_pack_direction"
              c:identifier="adw_wrap_box_set_pack_direction"
              glib:set-property="pack-direction"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-box.c"
             line="676">Sets the direction children are packed in each line.</doc>
        <source-position filename="src/adw-wrap-box.h" line="48"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="678">a wrap box</doc>
            <type name="WrapBox" c:type="AdwWrapBox*"/>
          </instance-parameter>
          <parameter name="pack_direction" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="679">the new line direction</doc>
            <type name="PackDirection" c:type="AdwPackDirection"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_wrap_policy"
              c:identifier="adw_wrap_box_set_wrap_policy"
              glib:set-property="wrap-policy"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-box.c"
             line="1231">Sets the policy for line wrapping.

If set to `ADW_WRAP_NATURAL`, the box will wrap to the next line as soon as
the previous line cannot fit any more children without shrinking them past
their natural size.

If set to `ADW_WRAP_MINIMUM`, the box will try to fit as many children into
each line as possible, shrinking them down to their minimum size before
wrapping to the next line.</doc>
        <source-position filename="src/adw-wrap-box.h" line="108"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="1233">a wrap box</doc>
            <type name="WrapBox" c:type="AdwWrapBox*"/>
          </instance-parameter>
          <parameter name="wrap_policy" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="1234">the new wrap policy</doc>
            <type name="WrapPolicy" c:type="AdwWrapPolicy"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_wrap_reverse"
              c:identifier="adw_wrap_box_set_wrap_reverse"
              glib:set-property="wrap-reverse"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-box.c"
             line="1176">Sets whether wrap direction should be reversed.

By default, lines wrap downwards in a horizontal box, and towards the end
in a vertical box. If set to `TRUE`, they wrap upwards or towards the start
respectively.</doc>
        <source-position filename="src/adw-wrap-box.h" line="102"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="1178">a wrap box</doc>
            <type name="WrapBox" c:type="AdwWrapBox*"/>
          </instance-parameter>
          <parameter name="wrap_reverse" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-box.c"
                 line="1179">whether to reverse wrap direction</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="align"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_align"
                getter="get_align"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="src/adw-wrap-box.c"
             line="319">The alignment of the children within each line.

0 means the children are placed at the start of the line, 1 means they are
placed at the end of the line. 0.5 means they are placed in the middle of
the line.

Alignment is only used when [property@WrapBox:justify] is set to
`ADW_JUSTIFY_NONE`, or on the last line when the
[property@WrapBox:justify-last-line] is `FALSE`.</doc>
        <type name="gfloat" c:type="gfloat"/>
      </property>
      <property name="child-spacing"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_child_spacing"
                getter="get_child_spacing"
                default-value="0">
        <doc xml:space="preserve"
             filename="src/adw-wrap-box.c"
             line="275">The spacing between widgets on the same line.

See [property@WrapBox:child-spacing-unit].</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="child-spacing-unit"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_child_spacing_unit"
                getter="get_child_spacing_unit"
                default-value="ADW_LENGTH_UNIT_PX">
        <doc xml:space="preserve"
             filename="src/adw-wrap-box.c"
             line="289">The length unit for child spacing.

Allows the spacing to vary depending on the text scale factor.

See [property@WrapBox:child-spacing].</doc>
        <type name="LengthUnit"/>
      </property>
      <property name="justify"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_justify"
                getter="get_justify"
                default-value="ADW_JUSTIFY_NONE">
        <doc xml:space="preserve"
             filename="src/adw-wrap-box.c"
             line="339">Determines whether and how each complete line should be stretched to fill
the entire widget.

If set to `ADW_JUSTIFY_FILL`, each widget in the line will be stretched,
keeping consistent spacing, so that the line fills the entire widget.

If set to `ADW_JUSTIFY_SPREAD`, the spacing between widgets will be
increased, keeping widget sizes intact. The first and last widget will be
aligned with the beginning and end of the line. If the line only contains
a single widget, it will be stretched regardless.

If set to `ADW_JUSTIFY_NONE`, the line will not be stretched and the
children will be placed together within the line, according to
[property@WrapBox:align].

By default this doesn't affect the last line, as it will be incomplete. Use
[property@WrapBox:justify-last-line] to justify it as well.</doc>
        <type name="JustifyMode"/>
      </property>
      <property name="justify-last-line"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_justify_last_line"
                getter="get_justify_last_line"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-wrap-box.c"
             line="368">Whether the last line should be stretched to fill the entire widget.

See [property@WrapBox:justify].</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="line-homogeneous"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_line_homogeneous"
                getter="get_line_homogeneous"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-wrap-box.c"
             line="413">Whether all lines should take the same amount of space.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="line-spacing"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_line_spacing"
                getter="get_line_spacing"
                default-value="0">
        <doc xml:space="preserve"
             filename="src/adw-wrap-box.c"
             line="382">The spacing between lines.

See [property@WrapBox:line-spacing-unit].</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="line-spacing-unit"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_line_spacing_unit"
                getter="get_line_spacing_unit"
                default-value="ADW_LENGTH_UNIT_PX">
        <doc xml:space="preserve"
             filename="src/adw-wrap-box.c"
             line="396">The length unit for line spacing.

Allows the spacing to vary depending on the text scale factor.

See [property@WrapBox:line-spacing].</doc>
        <type name="LengthUnit"/>
      </property>
      <property name="natural-line-length"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_natural_line_length"
                getter="get_natural_line_length"
                default-value="-1">
        <doc xml:space="preserve"
             filename="src/adw-wrap-box.c"
             line="425">Determines the natural size for each line.

It should be used to limit the line lengths, for example when used in
popovers.

See [property@WrapBox:natural-line-length-unit].</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="natural-line-length-unit"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_natural_line_length_unit"
                getter="get_natural_line_length_unit"
                default-value="ADW_LENGTH_UNIT_PX">
        <doc xml:space="preserve"
             filename="src/adw-wrap-box.c"
             line="442">The length unit for natural line length.

Allows the length to vary depending on the text scale factor.

See [property@WrapBox:natural-line-length].</doc>
        <type name="LengthUnit"/>
      </property>
      <property name="pack-direction"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_pack_direction"
                getter="get_pack_direction"
                default-value="ADW_PACK_START_TO_END">
        <doc xml:space="preserve"
             filename="src/adw-wrap-box.c"
             line="306">The direction children are packed in each line.</doc>
        <type name="PackDirection"/>
      </property>
      <property name="wrap-policy"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_wrap_policy"
                getter="get_wrap_policy"
                default-value="ADW_WRAP_NATURAL">
        <doc xml:space="preserve"
             filename="src/adw-wrap-box.c"
             line="475">The policy for line wrapping.

   + If set to `ADW_WRAP_NATURAL`, the box will wrap to the next line as soon as
the previous line cannot fit any more children without shrinking them past
their natural size.

If set to `ADW_WRAP_MINIMUM`, the box will try to fit as many children into
each line as possible, shrinking them down to their minimum size before
wrapping to the next line.</doc>
        <type name="WrapPolicy"/>
      </property>
      <property name="wrap-reverse"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_wrap_reverse"
                getter="get_wrap_reverse"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-wrap-box.c"
             line="459">Whether wrap direction should be reversed.

By default, lines wrap downwards in a horizontal box, and towards the end
in a vertical box. If set to `TRUE`, they wrap upwards or towards the start
respectively.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
    </class>
    <record name="WrapBoxClass"
            c:type="AdwWrapBoxClass"
            glib:is-gtype-struct-for="WrapBox">
      <source-position filename="src/adw-wrap-box.h" line="28"/>
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
    </record>
    <class name="WrapLayout"
           c:symbol-prefix="wrap_layout"
           c:type="AdwWrapLayout"
           version="1.7"
           parent="Gtk.LayoutManager"
           glib:type-name="AdwWrapLayout"
           glib:get-type="adw_wrap_layout_get_type"
           glib:type-struct="WrapLayoutClass">
      <doc xml:space="preserve"
           filename="src/adw-wrap-layout.c"
           line="17">A box-like layout that can wrap into multiple lines.

&lt;picture&gt;
  &lt;source srcset="wrap-box-dark.png" media="(prefers-color-scheme: dark)"&gt;
  &lt;img src="wrap-box.png" alt="wrap-box"&gt;
&lt;/picture&gt;

`AdwWrapLayout` is similar to [class@Gtk.BoxLayout], but can wrap lines when
the widgets cannot fit otherwise. Unlike [class@Gtk.FlowBox], the children
aren't arranged into a grid and behave more like words in a wrapping label.

Like `GtkBoxLayout`, `AdwWrapLayout` is orientable and has spacing:

- [property@WrapLayout:child-spacing] between children in the same line;
- [property@WrapLayout:line-spacing] between lines.

::: note
    Unlike `GtkBoxLayout`, `AdwWrapLayout` cannot follow the CSS
    `border-spacing` property.

Use the [property@WrapLayout:natural-line-length] property to determine the
layout's natural size, e.g. when using it in a [class@Gtk.Popover].

Normally, a horizontal `AdwWrapLayout` wraps left to right and top to bottom
for left-to-right languages. Both of these directions can be reversed, using
the [property@WrapLayout:pack-direction] and
[property@WrapLayout:wrap-reverse] properties. Additionally, the alignment
of each line can be controlled with the [property@WrapLayout:align] property.

Lines can be justified using the [property@WrapLayout:justify] property,
filling the entire line by either increasing child size or spacing depending
on the value. Set [property@WrapLayout:justify-last-line] to justify the last
line as well.

By default, `AdwWrapLayout` wraps as soon as the previous line cannot fit
any more children without shrinking them past their natural size. Set
[property@WrapLayout:wrap-policy] to [enum@Adw.WrapPolicy.MINIMUM] to only
wrap once all the children in the previous line have been shrunk to their
minimum size.

To make each line take the same amount of space, set
[property@WrapLayout:line-homogeneous] to `TRUE`.

Spacing and natural line length can scale with the text scale factor, use the
[property@WrapLayout:child-spacing-unit],
[property@WrapLayout:line-spacing-unit] and/or
[property@WrapLayout:natural-line-length-unit] properties to enable that
behavior.

See [class@WrapBox].</doc>
      <source-position filename="src/adw-wrap-layout.h" line="27"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new" c:identifier="adw_wrap_layout_new" version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-layout.c"
             line="1221">Creates a new `AdwWrapLayout`.</doc>
        <source-position filename="src/adw-wrap-layout.h" line="46"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/adw-wrap-layout.c"
               line="1226">the newly created `AdwWrapLayout`</doc>
          <type name="Gtk.LayoutManager" c:type="GtkLayoutManager*"/>
        </return-value>
      </constructor>
      <method name="get_align"
              c:identifier="adw_wrap_layout_get_align"
              glib:get-property="align"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-layout.c"
             line="1378">Gets the alignment of the children within each line.</doc>
        <source-position filename="src/adw-wrap-layout.h" line="67"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-wrap-layout.c"
               line="1384">the child alignment</doc>
          <type name="gfloat" c:type="float"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-layout.c"
                 line="1380">a wrap layout</doc>
            <type name="WrapLayout" c:type="AdwWrapLayout*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_child_spacing"
              c:identifier="adw_wrap_layout_get_child_spacing"
              glib:get-property="child-spacing"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-layout.c"
             line="1236">Gets spacing between widgets on the same line.</doc>
        <source-position filename="src/adw-wrap-layout.h" line="49"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-wrap-layout.c"
               line="1242">spacing between widgets on the same line</doc>
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-layout.c"
                 line="1238">a wrap layout</doc>
            <type name="WrapLayout" c:type="AdwWrapLayout*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_child_spacing_unit"
              c:identifier="adw_wrap_layout_get_child_spacing_unit"
              glib:get-property="child-spacing-unit"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-layout.c"
             line="1284">Gets the length unit for child spacing.</doc>
        <source-position filename="src/adw-wrap-layout.h" line="55"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-wrap-layout.c"
               line="1290">the length unit</doc>
          <type name="LengthUnit" c:type="AdwLengthUnit"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-layout.c"
                 line="1286">a wrap layout</doc>
            <type name="WrapLayout" c:type="AdwWrapLayout*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_justify"
              c:identifier="adw_wrap_layout_get_justify"
              glib:get-property="justify"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-layout.c"
             line="1429">Gets whether and how each complete line is stretched to fill the entire widget.</doc>
        <source-position filename="src/adw-wrap-layout.h" line="73"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-wrap-layout.c"
               line="1435">the justify mode</doc>
          <type name="JustifyMode" c:type="AdwJustifyMode"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-layout.c"
                 line="1431">a wrap layout</doc>
            <type name="WrapLayout" c:type="AdwWrapLayout*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_justify_last_line"
              c:identifier="adw_wrap_layout_get_justify_last_line"
              glib:get-property="justify-last-line"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-layout.c"
             line="1490">Gets whether the last line should be stretched to fill the entire widget.</doc>
        <source-position filename="src/adw-wrap-layout.h" line="79"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-wrap-layout.c"
               line="1496">whether the last line is justified</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-layout.c"
                 line="1492">a wrap layout</doc>
            <type name="WrapLayout" c:type="AdwWrapLayout*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_line_homogeneous"
              c:identifier="adw_wrap_layout_get_line_homogeneous"
              glib:get-property="line-homogeneous"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-layout.c"
             line="1634">Gets whether all lines should take the same amount of space.</doc>
        <source-position filename="src/adw-wrap-layout.h" line="97"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-wrap-layout.c"
               line="1640">whether lines should be homogeneous</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-layout.c"
                 line="1636">a wrap layout</doc>
            <type name="WrapLayout" c:type="AdwWrapLayout*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_line_spacing"
              c:identifier="adw_wrap_layout_get_line_spacing"
              glib:get-property="line-spacing"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-layout.c"
             line="1537">Gets the spacing between lines.</doc>
        <source-position filename="src/adw-wrap-layout.h" line="85"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-wrap-layout.c"
               line="1543">the line spacing</doc>
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-layout.c"
                 line="1539">a wrap layout</doc>
            <type name="WrapLayout" c:type="AdwWrapLayout*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_line_spacing_unit"
              c:identifier="adw_wrap_layout_get_line_spacing_unit"
              glib:get-property="line-spacing-unit"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-layout.c"
             line="1585">Gets the length unit for line spacing.</doc>
        <source-position filename="src/adw-wrap-layout.h" line="91"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-wrap-layout.c"
               line="1591">the length unit</doc>
          <type name="LengthUnit" c:type="AdwLengthUnit"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-layout.c"
                 line="1587">a wrap layout</doc>
            <type name="WrapLayout" c:type="AdwWrapLayout*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_natural_line_length"
              c:identifier="adw_wrap_layout_get_natural_line_length"
              glib:get-property="natural-line-length"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-layout.c"
             line="1679">Gets the natural size for each line.</doc>
        <source-position filename="src/adw-wrap-layout.h" line="103"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-wrap-layout.c"
               line="1685">the natural length</doc>
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-layout.c"
                 line="1681">a wrap layout</doc>
            <type name="WrapLayout" c:type="AdwWrapLayout*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_natural_line_length_unit"
              c:identifier="adw_wrap_layout_get_natural_line_length_unit"
              glib:get-property="natural-line-length-unit"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-layout.c"
             line="1730">Gets the length unit for line spacing.</doc>
        <source-position filename="src/adw-wrap-layout.h" line="109"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-wrap-layout.c"
               line="1736">the length unit</doc>
          <type name="LengthUnit" c:type="AdwLengthUnit"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-layout.c"
                 line="1732">a wrap layout</doc>
            <type name="WrapLayout" c:type="AdwWrapLayout*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_pack_direction"
              c:identifier="adw_wrap_layout_get_pack_direction"
              glib:get-property="pack-direction"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-layout.c"
             line="1333">Gets the direction children are packed in each line.</doc>
        <source-position filename="src/adw-wrap-layout.h" line="61"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-wrap-layout.c"
               line="1339">the line direction</doc>
          <type name="PackDirection" c:type="AdwPackDirection"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-layout.c"
                 line="1335">a wrap layout</doc>
            <type name="WrapLayout" c:type="AdwWrapLayout*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_wrap_policy"
              c:identifier="adw_wrap_layout_get_wrap_policy"
              glib:get-property="wrap-policy"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-layout.c"
             line="1828">Gets the policy for line wrapping.</doc>
        <source-position filename="src/adw-wrap-layout.h" line="121"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-wrap-layout.c"
               line="1834">the wrap policy</doc>
          <type name="WrapPolicy" c:type="AdwWrapPolicy"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-layout.c"
                 line="1830">a wrap layout</doc>
            <type name="WrapLayout" c:type="AdwWrapLayout*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_wrap_reverse"
              c:identifier="adw_wrap_layout_get_wrap_reverse"
              glib:get-property="wrap-reverse"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-layout.c"
             line="1779">Gets whether wrap direction is reversed.</doc>
        <source-position filename="src/adw-wrap-layout.h" line="115"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-wrap-layout.c"
               line="1785">whether wrap direction is reversed</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-layout.c"
                 line="1781">a wrap layout</doc>
            <type name="WrapLayout" c:type="AdwWrapLayout*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_align"
              c:identifier="adw_wrap_layout_set_align"
              glib:set-property="align"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-layout.c"
             line="1396">Sets the alignment of the children within each line.

0 means the children are placed at the start of the line, 1 means they are
placed at the end of the line. 0.5 means they are placed in the middle of the
line.

Alignment is only used when [property@WrapLayout:justify] is set to
`ADW_JUSTIFY_NONE`, or on the last line when the
[property@WrapLayout:justify-last-line] is `FALSE`.</doc>
        <source-position filename="src/adw-wrap-layout.h" line="69"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-layout.c"
                 line="1398">a wrap layout</doc>
            <type name="WrapLayout" c:type="AdwWrapLayout*"/>
          </instance-parameter>
          <parameter name="align" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-layout.c"
                 line="1399">the child alignment</doc>
            <type name="gfloat" c:type="float"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_child_spacing"
              c:identifier="adw_wrap_layout_set_child_spacing"
              glib:set-property="child-spacing"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-layout.c"
             line="1254">Sets the spacing between widgets on the same line.

See [property@WrapLayout:child-spacing-unit].</doc>
        <source-position filename="src/adw-wrap-layout.h" line="51"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-layout.c"
                 line="1256">a wrap layout</doc>
            <type name="WrapLayout" c:type="AdwWrapLayout*"/>
          </instance-parameter>
          <parameter name="child_spacing" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-layout.c"
                 line="1257">the child spacing</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_child_spacing_unit"
              c:identifier="adw_wrap_layout_set_child_spacing_unit"
              glib:set-property="child-spacing-unit"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-layout.c"
             line="1302">Sets the length unit for child spacing.

Allows the spacing to vary depending on the text scale factor.

See [property@WrapLayout:child-spacing].</doc>
        <source-position filename="src/adw-wrap-layout.h" line="57"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-layout.c"
                 line="1304">a wrap layout</doc>
            <type name="WrapLayout" c:type="AdwWrapLayout*"/>
          </instance-parameter>
          <parameter name="unit" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-layout.c"
                 line="1305">the length unit</doc>
            <type name="LengthUnit" c:type="AdwLengthUnit"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_justify"
              c:identifier="adw_wrap_layout_set_justify"
              glib:set-property="justify"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-layout.c"
             line="1447">Sets whether and how each complete line should be stretched to fill the
entire widget.

If set to `ADW_JUSTIFY_FILL`, each widget in the line will be stretched,
keeping consistent spacing, so that the line fills the entire widget.

If set to `ADW_JUSTIFY_SPREAD`, the spacing between widgets will be
increased, keeping widget sizes intact. The first and last widget will be
aligned with the beginning and end of the line. If the line only contains a
single widget, it will be stretched regardless.

If set to `ADW_JUSTIFY_NONE`, the line will not be stretched and the children
will be placed together within the line, according to
[property@WrapLayout:align].

By default this doesn't affect the last line, as it will be incomplete. Use
[property@WrapLayout:justify-last-line] to justify it as well.</doc>
        <source-position filename="src/adw-wrap-layout.h" line="75"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-layout.c"
                 line="1449">a wrap layout</doc>
            <type name="WrapLayout" c:type="AdwWrapLayout*"/>
          </instance-parameter>
          <parameter name="justify" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-layout.c"
                 line="1450">the justify mode</doc>
            <type name="JustifyMode" c:type="AdwJustifyMode"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_justify_last_line"
              c:identifier="adw_wrap_layout_set_justify_last_line"
              glib:set-property="justify-last-line"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-layout.c"
             line="1508">Sets whether the last line should be stretched to fill the entire widget.

See [property@WrapLayout:justify].</doc>
        <source-position filename="src/adw-wrap-layout.h" line="81"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-layout.c"
                 line="1510">a wrap layout</doc>
            <type name="WrapLayout" c:type="AdwWrapLayout*"/>
          </instance-parameter>
          <parameter name="justify_last_line" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-layout.c"
                 line="1511">whether to justify the last line</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_line_homogeneous"
              c:identifier="adw_wrap_layout_set_line_homogeneous"
              glib:set-property="line-homogeneous"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-layout.c"
             line="1652">Sets whether all lines should take the same amount of space.</doc>
        <source-position filename="src/adw-wrap-layout.h" line="99"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-layout.c"
                 line="1654">a wrap layout</doc>
            <type name="WrapLayout" c:type="AdwWrapLayout*"/>
          </instance-parameter>
          <parameter name="homogeneous" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-layout.c"
                 line="1655">whether lines should be homogeneous</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_line_spacing"
              c:identifier="adw_wrap_layout_set_line_spacing"
              glib:set-property="line-spacing"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-layout.c"
             line="1555">Sets the spacing between lines.

See [property@WrapLayout:line-spacing-unit].</doc>
        <source-position filename="src/adw-wrap-layout.h" line="87"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-layout.c"
                 line="1557">a wrap layout</doc>
            <type name="WrapLayout" c:type="AdwWrapLayout*"/>
          </instance-parameter>
          <parameter name="line_spacing" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-layout.c"
                 line="1558">the line spacing</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_line_spacing_unit"
              c:identifier="adw_wrap_layout_set_line_spacing_unit"
              glib:set-property="line-spacing-unit"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-layout.c"
             line="1603">Sets the length unit for line spacing.

Allows the spacing to vary depending on the text scale factor.

See [property@WrapLayout:line-spacing].</doc>
        <source-position filename="src/adw-wrap-layout.h" line="93"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-layout.c"
                 line="1605">a wrap layout</doc>
            <type name="WrapLayout" c:type="AdwWrapLayout*"/>
          </instance-parameter>
          <parameter name="unit" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-layout.c"
                 line="1606">the length unit</doc>
            <type name="LengthUnit" c:type="AdwLengthUnit"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_natural_line_length"
              c:identifier="adw_wrap_layout_set_natural_line_length"
              glib:set-property="natural-line-length"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-layout.c"
             line="1697">Sets the natural size for each line.

It should be used to limit the line lengths, for example when used in
popovers.

See [property@WrapLayout:natural-line-length-unit].</doc>
        <source-position filename="src/adw-wrap-layout.h" line="105"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-layout.c"
                 line="1699">a wrap layout</doc>
            <type name="WrapLayout" c:type="AdwWrapLayout*"/>
          </instance-parameter>
          <parameter name="natural_line_length" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-layout.c"
                 line="1700">the natural length</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_natural_line_length_unit"
              c:identifier="adw_wrap_layout_set_natural_line_length_unit"
              glib:set-property="natural-line-length-unit"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-layout.c"
             line="1748">Sets the length unit for natural line length.

Allows the length to vary depending on the text scale factor.

See [property@WrapLayout:natural-line-length].</doc>
        <source-position filename="src/adw-wrap-layout.h" line="111"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-layout.c"
                 line="1750">a wrap layout</doc>
            <type name="WrapLayout" c:type="AdwWrapLayout*"/>
          </instance-parameter>
          <parameter name="unit" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-layout.c"
                 line="1751">the length unit</doc>
            <type name="LengthUnit" c:type="AdwLengthUnit"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_pack_direction"
              c:identifier="adw_wrap_layout_set_pack_direction"
              glib:set-property="pack-direction"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-layout.c"
             line="1351">Sets the direction children are packed in each line.</doc>
        <source-position filename="src/adw-wrap-layout.h" line="63"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-layout.c"
                 line="1353">a wrap layout</doc>
            <type name="WrapLayout" c:type="AdwWrapLayout*"/>
          </instance-parameter>
          <parameter name="pack_direction" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-layout.c"
                 line="1354">the new line direction</doc>
            <type name="PackDirection" c:type="AdwPackDirection"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_wrap_policy"
              c:identifier="adw_wrap_layout_set_wrap_policy"
              glib:set-property="wrap-policy"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-layout.c"
             line="1846">Sets the policy for line wrapping.

If set to `ADW_WRAP_NATURAL`, the box will wrap to the next line as soon as
the previous line cannot fit any more children without shrinking them past
their natural size.

If set to `ADW_WRAP_MINIMUM`, the box will try to fit as many children into
each line as possible, shrinking them down to their minimum size before
wrapping to the next line.</doc>
        <source-position filename="src/adw-wrap-layout.h" line="123"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-layout.c"
                 line="1848">a wrap layout</doc>
            <type name="WrapLayout" c:type="AdwWrapLayout*"/>
          </instance-parameter>
          <parameter name="wrap_policy" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-layout.c"
                 line="1849">the new wrap policy</doc>
            <type name="WrapPolicy" c:type="AdwWrapPolicy"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_wrap_reverse"
              c:identifier="adw_wrap_layout_set_wrap_reverse"
              glib:set-property="wrap-reverse"
              version="1.7">
        <doc xml:space="preserve"
             filename="src/adw-wrap-layout.c"
             line="1797">Sets whether wrap direction should be reversed.

By default, lines wrap downwards in a horizontal box, and towards the end
in a vertical box. If set to `TRUE`, they wrap upwards or towards the start
respectively.</doc>
        <source-position filename="src/adw-wrap-layout.h" line="117"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-layout.c"
                 line="1799">a wrap layout</doc>
            <type name="WrapLayout" c:type="AdwWrapLayout*"/>
          </instance-parameter>
          <parameter name="wrap_reverse" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/adw-wrap-layout.c"
                 line="1800">whether to reverse wrap direction</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="align"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_align"
                getter="get_align"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="src/adw-wrap-layout.c"
             line="1026">The alignment of the children within each line.

0 means the children are placed at the start of the line, 1 means they are
placed at the end of the line. 0.5 means they are placed in the middle of
the line.

Alignment is only used when [property@WrapLayout:justify] is set to
`ADW_JUSTIFY_NONE`, or on the last line when the
[property@WrapLayout:justify-last-line] is `FALSE`.</doc>
        <type name="gfloat" c:type="gfloat"/>
      </property>
      <property name="child-spacing"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_child_spacing"
                getter="get_child_spacing"
                default-value="0">
        <doc xml:space="preserve"
             filename="src/adw-wrap-layout.c"
             line="982">The spacing between widgets on the same line.

See [property@WrapLayout:child-spacing-unit].</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="child-spacing-unit"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_child_spacing_unit"
                getter="get_child_spacing_unit"
                default-value="ADW_LENGTH_UNIT_PX">
        <doc xml:space="preserve"
             filename="src/adw-wrap-layout.c"
             line="996">The length unit for child spacing.

Allows the spacing to vary depending on the text scale factor.

See [property@WrapLayout:child-spacing].</doc>
        <type name="LengthUnit"/>
      </property>
      <property name="justify"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_justify"
                getter="get_justify"
                default-value="ADW_JUSTIFY_NONE">
        <doc xml:space="preserve"
             filename="src/adw-wrap-layout.c"
             line="1046">Determines whether and how each complete line should be stretched to fill
the entire widget.

If set to `ADW_JUSTIFY_FILL`, each widget in the line will be stretched,
keeping consistent spacing, so that the line fills the entire widget.

If set to `ADW_JUSTIFY_SPREAD`, the spacing between widgets will be
increased, keeping widget sizes intact. The first and last widget will be
aligned with the beginning and end of the line. If the line only contains a
single widget, it will be stretched regardless.

If set to `ADW_JUSTIFY_NONE`, the line will not be stretched and the
children will be placed together within the line, according to
[property@WrapLayout:align].

By default this doesn't affect the last line, as it will be incomplete. Use
[property@WrapLayout:justify-last-line] to justify it as well.</doc>
        <type name="JustifyMode"/>
      </property>
      <property name="justify-last-line"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_justify_last_line"
                getter="get_justify_last_line"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-wrap-layout.c"
             line="1075">Whether the last line should be stretched to fill the entire widget.

See [property@WrapLayout:justify].</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="line-homogeneous"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_line_homogeneous"
                getter="get_line_homogeneous"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-wrap-layout.c"
             line="1120">Whether all lines should take the same amount of space.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="line-spacing"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_line_spacing"
                getter="get_line_spacing"
                default-value="0">
        <doc xml:space="preserve"
             filename="src/adw-wrap-layout.c"
             line="1089">The spacing between lines.

See [property@WrapLayout:line-spacing-unit].</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="line-spacing-unit"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_line_spacing_unit"
                getter="get_line_spacing_unit"
                default-value="ADW_LENGTH_UNIT_PX">
        <doc xml:space="preserve"
             filename="src/adw-wrap-layout.c"
             line="1103">The length unit for line spacing.

Allows the spacing to vary depending on the text scale factor.

See [property@WrapLayout:line-spacing].</doc>
        <type name="LengthUnit"/>
      </property>
      <property name="natural-line-length"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_natural_line_length"
                getter="get_natural_line_length"
                default-value="-1">
        <doc xml:space="preserve"
             filename="src/adw-wrap-layout.c"
             line="1132">Determines the natural size for each line.

It should be used to limit the line lengths, for example when used in
popovers.

See [property@WrapLayout:natural-line-length-unit].</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="natural-line-length-unit"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_natural_line_length_unit"
                getter="get_natural_line_length_unit"
                default-value="ADW_LENGTH_UNIT_PX">
        <doc xml:space="preserve"
             filename="src/adw-wrap-layout.c"
             line="1149">The length unit for natural line length.

Allows the length to vary depending on the text scale factor.

See [property@WrapLayout:natural-line-length].</doc>
        <type name="LengthUnit"/>
      </property>
      <property name="pack-direction"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_pack_direction"
                getter="get_pack_direction"
                default-value="ADW_PACK_START_TO_END">
        <doc xml:space="preserve"
             filename="src/adw-wrap-layout.c"
             line="1013">The direction children are packed in each line.</doc>
        <type name="PackDirection"/>
      </property>
      <property name="wrap-policy"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_wrap_policy"
                getter="get_wrap_policy"
                default-value="ADW_WRAP_NATURAL">
        <doc xml:space="preserve"
             filename="src/adw-wrap-layout.c"
             line="1182">The policy for line wrapping.

If set to `ADW_WRAP_NATURAL`, the box will wrap to the next line as soon as
the previous line cannot fit any more children without shrinking them past
their natural size.

If set to `ADW_WRAP_MINIMUM`, the box will try to fit as many children into
each line as possible, shrinking them down to their minimum size before
wrapping to the next line.</doc>
        <type name="WrapPolicy"/>
      </property>
      <property name="wrap-reverse"
                version="1.7"
                writable="1"
                transfer-ownership="none"
                setter="set_wrap_reverse"
                getter="get_wrap_reverse"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="src/adw-wrap-layout.c"
             line="1166">Whether wrap direction should be reversed.

By default, lines wrap downwards in a horizontal box, and towards the end
in a vertical box. If set to `TRUE`, they wrap upwards or towards the start
respectively.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
    </class>
    <record name="WrapLayoutClass"
            c:type="AdwWrapLayoutClass"
            glib:is-gtype-struct-for="WrapLayout">
      <source-position filename="src/adw-wrap-layout.h" line="27"/>
      <field name="parent_class">
        <type name="Gtk.LayoutManagerClass" c:type="GtkLayoutManagerClass"/>
      </field>
    </record>
    <enumeration name="WrapPolicy"
                 version="1.7"
                 glib:type-name="AdwWrapPolicy"
                 glib:get-type="adw_wrap_policy_get_type"
                 c:type="AdwWrapPolicy">
      <doc xml:space="preserve"
           filename="src/adw-wrap-layout.c"
           line="106">Describes line wrapping behavior in a [class@WrapLayout] or [class@WrapBox].

See [property@WrapLayout:wrap-policy] and [property@WrapBox:wrap-policy].</doc>
      <member name="minimum"
              value="0"
              c:identifier="ADW_WRAP_MINIMUM"
              glib:nick="minimum"
              glib:name="ADW_WRAP_MINIMUM">
        <doc xml:space="preserve"
             filename="src/adw-wrap-layout.c"
             line="110">Fit as many children into each line as possible, shrinking
    them down to their minimum size before wrapping to the next line.</doc>
      </member>
      <member name="natural"
              value="1"
              c:identifier="ADW_WRAP_NATURAL"
              glib:nick="natural"
              glib:name="ADW_WRAP_NATURAL">
        <doc xml:space="preserve"
             filename="src/adw-wrap-layout.c"
             line="108">Wrap to the next line as soon as the previous line cannot
    fit any more children without shrinking them past their natural size.</doc>
      </member>
    </enumeration>
    <function name="accent_color_to_rgba"
              c:identifier="adw_accent_color_to_rgba"
              moved-to="AccentColor.to_rgba"
              version="1.6">
      <doc xml:space="preserve"
           filename="src/adw-accent-color.c"
           line="31">Converts @self to a `GdkRGBA` representing its background color.

The matching foreground color is white.</doc>
      <source-position filename="src/adw-accent-color.h" line="32"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="self" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-accent-color.c"
               line="33">an accent color</doc>
          <type name="AccentColor" c:type="AdwAccentColor"/>
        </parameter>
        <parameter name="rgba"
                   direction="out"
                   caller-allocates="1"
                   transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-accent-color.c"
               line="34">return location for the color</doc>
          <type name="Gdk.RGBA" c:type="GdkRGBA*"/>
        </parameter>
      </parameters>
    </function>
    <function name="accent_color_to_standalone_rgba"
              c:identifier="adw_accent_color_to_standalone_rgba"
              moved-to="AccentColor.to_standalone_rgba"
              version="1.6">
      <doc xml:space="preserve"
           filename="src/adw-accent-color.c"
           line="88">Converts @self to a `GdkRGBA` representing its standalone color.

It will typically be darker for light background, and lighter for dark
background, ensuring contrast.</doc>
      <source-position filename="src/adw-accent-color.h" line="36"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="self" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-accent-color.c"
               line="90">an accent color</doc>
          <type name="AccentColor" c:type="AdwAccentColor"/>
        </parameter>
        <parameter name="dark" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-accent-color.c"
               line="91">Whether to calculate standalone color for light or dark background</doc>
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
        <parameter name="rgba"
                   direction="out"
                   caller-allocates="1"
                   transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-accent-color.c"
               line="92">return location for the color</doc>
          <type name="Gdk.RGBA" c:type="GdkRGBA*"/>
        </parameter>
      </parameters>
    </function>
    <function name="breakpoint_condition_parse"
              c:identifier="adw_breakpoint_condition_parse"
              moved-to="BreakpointCondition.parse"
              version="1.4">
      <doc xml:space="preserve"
           filename="src/adw-breakpoint.c"
           line="709">Parses a condition from a string.

Length conditions are specified as `&lt;type&gt;: &lt;value&gt;[&lt;unit&gt;]`, where:

- `&lt;type&gt;` can be `min-width`, `max-width`, `min-height` or `max-height`
- `&lt;value&gt;` is a fractional number
- `&lt;unit&gt;` can be `px`, `pt` or `sp`

If the unit is omitted, `px` is assumed.

See [ctor@BreakpointCondition.new_length].

Examples:

- `min-width: 500px`
- `min-height: 400pt`
- `max-width: 100sp`
- `max-height: 500`

Ratio conditions are specified as `&lt;type&gt;: &lt;width&gt;[/&lt;height&gt;]`, where:

- `&lt;type&gt;` can be `min-aspect-ratio` or `max-aspect-ratio`
- `&lt;width&gt;` and `&lt;height&gt;` are integer numbers

See [ctor@BreakpointCondition.new_ratio].

The ratio is represented as `&lt;width&gt;` divided by `&lt;height&gt;`.

If `&lt;height&gt;` is omitted, it's assumed to be 1.

Examples:

- `min-aspect-ratio: 4/3`
- `max-aspect-ratio: 1`

The logical operators `and`, `or` can be used to compose a complex condition
as follows:

- `&lt;condition&gt; and &lt;condition&gt;`: the condition is true when both
  `&lt;condition&gt;`s are true, same as when using
  [ctor@BreakpointCondition.new_and]
- `&lt;condition&gt; or &lt;condition&gt;`: the condition is true when either of the
  `&lt;condition&gt;`s is true, same as when using
  [ctor@BreakpointCondition.new_or]

Examples:

- `min-width: 400px and max-aspect-ratio: 4/3`
- `max-width: 360sp or max-width: 360px`

Conditions can be further nested using parentheses, for example:

- `min-width: 400px and (max-aspect-ratio: 4/3 or max-height: 400px)`

If parentheses are omitted, the first operator takes priority.</doc>
      <source-position filename="src/adw-breakpoint.h" line="66"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="src/adw-breakpoint.c"
             line="769">the parsed condition</doc>
        <type name="BreakpointCondition" c:type="AdwBreakpointCondition*"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-breakpoint.c"
               line="711">the string specifying the condition</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="easing_ease"
              c:identifier="adw_easing_ease"
              moved-to="Easing.ease">
      <doc xml:space="preserve"
           filename="src/adw-easing.c"
           line="533">Computes easing with @easing for @value.

@value should generally be in the [0, 1] range.</doc>
      <source-position filename="src/adw-easing.h" line="61"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/adw-easing.c"
             line="542">the easing for @value</doc>
        <type name="gdouble" c:type="double"/>
      </return-value>
      <parameters>
        <parameter name="self" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-easing.c"
               line="535">an easing value</doc>
          <type name="Easing" c:type="AdwEasing"/>
        </parameter>
        <parameter name="value" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-easing.c"
               line="536">a value to ease</doc>
          <type name="gdouble" c:type="double"/>
        </parameter>
      </parameters>
    </function>
    <function name="get_enable_animations"
              c:identifier="adw_get_enable_animations">
      <doc xml:space="preserve"
           filename="src/adw-animation-util.c"
           line="28">Checks whether animations are enabled for @widget.

This should be used when implementing an animated widget to know whether to
animate it or not.</doc>
      <source-position filename="src/adw-animation-util.h" line="26"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/adw-animation-util.c"
             line="37">whether animations are enabled for @widget</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="widget" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-animation-util.c"
               line="30">a `GtkWidget`</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </parameter>
      </parameters>
    </function>
    <function name="get_major_version" c:identifier="adw_get_major_version">
      <doc xml:space="preserve"
           filename="src/adw-version.c"
           line="13">Returns the major version number of the Adwaita library.

For example, in libadwaita version 1.2.3 this is 1.

This function is in the library, so it represents the libadwaita library your
code is running against. Contrast with the [const@MAJOR_VERSION] constant,
which represents the major version of the libadwaita headers you have
included when compiling your code.</doc>
      <source-position filename="src/adw-version.h" line="305"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/adw-version.c"
             line="25">the major version number of the Adwaita library</doc>
        <type name="guint" c:type="guint"/>
      </return-value>
    </function>
    <function name="get_micro_version" c:identifier="adw_get_micro_version">
      <doc xml:space="preserve"
           filename="src/adw-version.c"
           line="53">Returns the micro version number of the Adwaita library.

For example, in libadwaita version 1.2.3 this is 3.

This function is in the library, so it represents the libadwaita library your
code is running against. Contrast with the [const@MAJOR_VERSION] constant,
which represents the micro version of the libadwaita headers you have
included when compiling your code.</doc>
      <source-position filename="src/adw-version.h" line="309"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/adw-version.c"
             line="65">the micro version number of the Adwaita library</doc>
        <type name="guint" c:type="guint"/>
      </return-value>
    </function>
    <function name="get_minor_version" c:identifier="adw_get_minor_version">
      <doc xml:space="preserve"
           filename="src/adw-version.c"
           line="33">Returns the minor version number of the Adwaita library.

For example, in libadwaita version 1.2.3 this is 2.

This function is in the library, so it represents the libadwaita library your
code is running against. Contrast with the [const@MAJOR_VERSION] constant,
which represents the minor version of the libadwaita headers you have
included when compiling your code.</doc>
      <source-position filename="src/adw-version.h" line="307"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/adw-version.c"
             line="45">the minor version number of the Adwaita library</doc>
        <type name="guint" c:type="guint"/>
      </return-value>
    </function>
    <function name="init" c:identifier="adw_init">
      <doc xml:space="preserve"
           filename="src/adw-main.c"
           line="34">Initializes Libadwaita.

This function can be used instead of [func@Gtk.init] as it initializes GTK
implicitly.

There's no need to call this function if you're using [class@Application].

If Libadwaita has already been initialized, the function will simply return.

This makes sure translations, types, themes, and icons for the Adwaita
library are set up properly.</doc>
      <source-position filename="src/adw-main.h" line="19"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="is_initialized" c:identifier="adw_is_initialized">
      <doc xml:space="preserve"
           filename="src/adw-main.c"
           line="79">Use this function to check if libadwaita has been initialized with
[func@init].</doc>
      <source-position filename="src/adw-main.h" line="22"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/adw-main.c"
             line="85">the initialization status</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="length_unit_from_px"
              c:identifier="adw_length_unit_from_px"
              moved-to="LengthUnit.from_px"
              version="1.4">
      <doc xml:space="preserve"
           filename="src/adw-length-unit.c"
           line="84">Converts @value from pixels to @unit.</doc>
      <source-position filename="src/adw-length-unit.h" line="33"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/adw-length-unit.c"
             line="92">the length in @unit</doc>
        <type name="gdouble" c:type="double"/>
      </return-value>
      <parameters>
        <parameter name="unit" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-length-unit.c"
               line="86">a length unit</doc>
          <type name="LengthUnit" c:type="AdwLengthUnit"/>
        </parameter>
        <parameter name="value" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-length-unit.c"
               line="87">a value in pixels</doc>
          <type name="gdouble" c:type="double"/>
        </parameter>
        <parameter name="settings"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="src/adw-length-unit.c"
               line="88">settings to use, or `NULL` for default settings</doc>
          <type name="Gtk.Settings" c:type="GtkSettings*"/>
        </parameter>
      </parameters>
    </function>
    <function name="length_unit_to_px"
              c:identifier="adw_length_unit_to_px"
              moved-to="LengthUnit.to_px"
              version="1.4">
      <doc xml:space="preserve"
           filename="src/adw-length-unit.c"
           line="45">Converts @value from @unit to pixels.</doc>
      <source-position filename="src/adw-length-unit.h" line="28"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/adw-length-unit.c"
             line="53">the length in pixels</doc>
        <type name="gdouble" c:type="double"/>
      </return-value>
      <parameters>
        <parameter name="unit" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-length-unit.c"
               line="47">a length unit</doc>
          <type name="LengthUnit" c:type="AdwLengthUnit"/>
        </parameter>
        <parameter name="value" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-length-unit.c"
               line="48">a value in @unit</doc>
          <type name="gdouble" c:type="double"/>
        </parameter>
        <parameter name="settings"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="src/adw-length-unit.c"
               line="49">settings to use, or `NULL` for default settings</doc>
          <type name="Gtk.Settings" c:type="GtkSettings*"/>
        </parameter>
      </parameters>
    </function>
    <function name="lerp" c:identifier="adw_lerp">
      <doc xml:space="preserve"
           filename="src/adw-animation-util.c"
           line="12">Computes the linear interpolation between @a and @b for @t.</doc>
      <source-position filename="src/adw-animation-util.h" line="21"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/adw-animation-util.c"
             line="20">the computed value</doc>
        <type name="gdouble" c:type="double"/>
      </return-value>
      <parameters>
        <parameter name="a" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-animation-util.c"
               line="14">the start</doc>
          <type name="gdouble" c:type="double"/>
        </parameter>
        <parameter name="b" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-animation-util.c"
               line="15">the end</doc>
          <type name="gdouble" c:type="double"/>
        </parameter>
        <parameter name="t" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-animation-util.c"
               line="16">the interpolation rate</doc>
          <type name="gdouble" c:type="double"/>
        </parameter>
      </parameters>
    </function>
    <function name="rgba_to_standalone"
              c:identifier="adw_rgba_to_standalone"
              version="1.6">
      <doc xml:space="preserve"
           filename="src/adw-accent-color.c"
           line="116">Adjusts @rgba to be suitable as a standalone color.

It will typically be darker for light background, and lighter for dark
background, ensuring contrast.</doc>
      <source-position filename="src/adw-accent-color.h" line="41"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="rgba" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-accent-color.c"
               line="118">a background color</doc>
          <type name="Gdk.RGBA" c:type="const GdkRGBA*"/>
        </parameter>
        <parameter name="dark" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-accent-color.c"
               line="119">Whether to calculate standalone color for light or dark background</doc>
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
        <parameter name="standalone_rgba"
                   direction="out"
                   caller-allocates="1"
                   transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-accent-color.c"
               line="120">return location for the standalone color</doc>
          <type name="Gdk.RGBA" c:type="GdkRGBA*"/>
        </parameter>
      </parameters>
    </function>
    <function name="show_about_dialog"
              c:identifier="adw_show_about_dialog"
              version="1.5"
              introspectable="0">
      <doc xml:space="preserve"
           filename="src/adw-about-dialog.c"
           line="3509">A convenience function for showing an application’s about dialog.</doc>
      <source-position filename="src/adw-about-dialog.h" line="183"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="parent" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-dialog.c"
               line="3511">the parent widget</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </parameter>
        <parameter name="first_property_name" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-dialog.c"
               line="3512">the name of the first property</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="..." transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-dialog.c"
               line="3513">value of first property, followed by more pairs of property name and
  value, `NULL`-terminated</doc>
          <varargs/>
        </parameter>
      </parameters>
    </function>
    <function name="show_about_dialog_from_appdata"
              c:identifier="adw_show_about_dialog_from_appdata"
              version="1.5"
              introspectable="0">
      <doc xml:space="preserve"
           filename="src/adw-about-dialog.c"
           line="3539">A convenience function for showing an application’s about dialog from
AppStream metadata.

See [ctor@AboutDialog.new_from_appdata] for details.</doc>
      <source-position filename="src/adw-about-dialog.h" line="188"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="parent" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-dialog.c"
               line="3541">the parent widget</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </parameter>
        <parameter name="resource_path" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-dialog.c"
               line="3542">The resource to use</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="release_notes_version"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="src/adw-about-dialog.c"
               line="3543">The version to retrieve release notes for</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="first_property_name" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-dialog.c"
               line="3544">the name of the first property</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="..." transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-dialog.c"
               line="3545">value of first property, followed by more pairs of property name and
  value, `NULL`-terminated</doc>
          <varargs/>
        </parameter>
      </parameters>
    </function>
    <function name="show_about_window"
              c:identifier="adw_show_about_window"
              version="1.2"
              introspectable="0"
              deprecated="1"
              deprecated-version="1.6">
      <doc xml:space="preserve"
           filename="src/adw-about-window.c"
           line="3489">A convenience function for showing an application’s about window.</doc>
      <doc-deprecated xml:space="preserve">Use [func@show_about_dialog].</doc-deprecated>
      <source-position filename="src/adw-about-window.h" line="175"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="parent"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="src/adw-about-window.c"
               line="3491">the parent top-level window</doc>
          <type name="Gtk.Window" c:type="GtkWindow*"/>
        </parameter>
        <parameter name="first_property_name" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-window.c"
               line="3492">the name of the first property</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="..." transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-window.c"
               line="3493">value of first property, followed by more pairs of property name and
  value, `NULL`-terminated</doc>
          <varargs/>
        </parameter>
      </parameters>
    </function>
    <function name="show_about_window_from_appdata"
              c:identifier="adw_show_about_window_from_appdata"
              version="1.4"
              introspectable="0"
              deprecated="1"
              deprecated-version="1.6">
      <doc xml:space="preserve"
           filename="src/adw-about-window.c"
           line="3521">A convenience function for showing an application’s about window from
AppStream metadata.

See [ctor@AboutWindow.new_from_appdata] for details.</doc>
      <doc-deprecated xml:space="preserve">Use [func@show_about_dialog_from_appdata].</doc-deprecated>
      <source-position filename="src/adw-about-window.h" line="180"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="parent"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="src/adw-about-window.c"
               line="3523">the parent top-level window</doc>
          <type name="Gtk.Window" c:type="GtkWindow*"/>
        </parameter>
        <parameter name="resource_path" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-window.c"
               line="3524">The resource to use</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="release_notes_version"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="src/adw-about-window.c"
               line="3525">The version to retrieve release notes for</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="first_property_name" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-window.c"
               line="3526">the name of the first property</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="..." transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/adw-about-window.c"
               line="3527">value of first property, followed by more pairs of property name and
  value, `NULL`-terminated</doc>
          <varargs/>
        </parameter>
      </parameters>
    </function>
  </namespace>
</repository>