diff --git a/Adw-1.gir b/Adw-1.gir
index 72bb0349721354bb2676061bbe245658f11f3e16..953f5475ef35f56126e1a8d2941b42c5f281c995 100644
--- a/Adw-1.gir
+++ b/Adw-1.gir
@@ -62,19 +62,19 @@ respectively the title label and subtitle label.
Creates a new `AdwActionRow`.
+ line="377">Creates a new `AdwActionRow`.
the newly created `AdwActionRow`
+ line="382">the newly created `AdwActionRow`
Activates @self.
+ line="765">Activates @self.
@@ -83,7 +83,7 @@ respectively the title label and subtitle label.
a `AdwActionRow`
+ line="767">a `AdwActionRow`
@@ -93,7 +93,7 @@ respectively the title label and subtitle label.
version="1.0">
Activates @self.
+ line="765">Activates @self.
@@ -102,7 +102,7 @@ respectively the title label and subtitle label.
a `AdwActionRow`
+ line="767">a `AdwActionRow`
@@ -112,7 +112,7 @@ respectively the title label and subtitle label.
version="1.0">
Adds a prefix widget to @self.
+ line="686">Adds a prefix widget to @self.
@@ -121,13 +121,13 @@ respectively the title label and subtitle label.
a `AdwActionRow`
+ line="688">a `AdwActionRow`
a widget
+ line="689">a widget
@@ -137,7 +137,7 @@ respectively the title label and subtitle label.
version="1.0">
Adds a suffix widget to @self.
+ line="710">Adds a suffix widget to @self.
@@ -146,13 +146,13 @@ respectively the title label and subtitle label.
a `AdwActionRow`
+ line="712">a `AdwActionRow`
a widget
+ line="713">a widget
@@ -165,19 +165,19 @@ respectively the title label and subtitle label.
value="activatable-widget"/>
Gets the widget activated when @self is activated.
+ line="492">Gets the widget activated when @self is activated.
the activatable widget for @self
+ line="498">the activatable widget for @self
a `AdwActionRow`
+ line="494">a `AdwActionRow`
@@ -189,19 +189,19 @@ respectively the title label and subtitle label.
Gets the icon name for @self.
+ line="441">Gets the icon name for @self.
the icon name for @self
+ line="447">the icon name for @self
a `AdwActionRow`
+ line="443">a `AdwActionRow`
@@ -213,19 +213,19 @@ respectively the title label and subtitle label.
Gets the subtitle for @self.
+ line="392">Gets the subtitle for @self.
the subtitle for @self
+ line="398">the subtitle for @self
a `AdwActionRow`
+ line="394">a `AdwActionRow`
@@ -237,7 +237,7 @@ respectively the title label and subtitle label.
Gets the number of lines at the end of which the subtitle label will be
+ line="626">Gets 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.
@@ -245,7 +245,7 @@ If the value is 0, the number of lines won't be limited.
the number of lines at the end of which the subtitle label will be
+ line="635">the number of lines at the end of which the subtitle label will be
ellipsized
@@ -253,7 +253,7 @@ If the value is 0, the number of lines won't be limited.
a `AdwActionRow`
+ line="628">a `AdwActionRow`
@@ -265,7 +265,7 @@ If the value is 0, the number of lines won't be limited.
Gets the number of lines at the end of which the title label will be
+ line="566">Gets 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.
@@ -273,7 +273,7 @@ If the value is 0, the number of lines won't be limited.
the number of lines at the end of which the title label will be
+ line="575">the number of lines at the end of which the title label will be
ellipsized
@@ -281,7 +281,7 @@ If the value is 0, the number of lines won't be limited.
a `AdwActionRow`
+ line="568">a `AdwActionRow`
@@ -289,7 +289,7 @@ If the value is 0, the number of lines won't be limited.
Removes a child from @self.
+ line="734">Removes a child from @self.
@@ -298,13 +298,13 @@ If the value is 0, the number of lines won't be limited.
a `AdwActionRow`
+ line="736">a `AdwActionRow`
the child to be removed
+ line="737">the child to be removed
@@ -317,7 +317,7 @@ If the value is 0, the number of lines won't be limited.
value="activatable-widget"/>
Sets the widget to activate when @self is activated.
+ line="526">Sets the widget to activate when @self is activated.
@@ -326,7 +326,7 @@ If the value is 0, the number of lines won't be limited.
a `AdwActionRow`
+ line="528">a `AdwActionRow`
allow-none="1">
the target widget
+ line="529">the target widget
@@ -347,7 +347,7 @@ If the value is 0, the number of lines won't be limited.
Sets the icon name for @self.
+ line="463">Sets the icon name for @self.
@@ -356,7 +356,7 @@ If the value is 0, the number of lines won't be limited.
a `AdwActionRow`
+ line="465">a `AdwActionRow`
allow-none="1">
the icon name
+ line="466">the icon name
@@ -377,7 +377,7 @@ If the value is 0, the number of lines won't be limited.
Sets the subtitle for @self.
+ line="414">Sets the subtitle for @self.
@@ -386,13 +386,13 @@ If the value is 0, the number of lines won't be limited.
a `AdwActionRow`
+ line="416">a `AdwActionRow`
the subtitle
+ line="417">the subtitle
@@ -404,7 +404,7 @@ If the value is 0, the number of lines won't be limited.
Sets the number of lines at the end of which the subtitle label will be
+ line="652">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.
@@ -416,13 +416,13 @@ If the value is 0, the number of lines won't be limited.
a `AdwActionRow`
+ line="654">a `AdwActionRow`
the number of lines at the end of which the subtitle label will be ellipsized
+ line="655">the number of lines at the end of which the subtitle label will be ellipsized
@@ -434,7 +434,7 @@ If the value is 0, the number of lines won't be limited.
Sets the number of lines at the end of which the title label will be
+ line="592">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.
@@ -446,13 +446,13 @@ If the value is 0, the number of lines won't be limited.
a `AdwActionRow`
+ line="594">a `AdwActionRow`
the number of lines at the end of which the title label will be ellipsized
+ line="595">the number of lines at the end of which the title label will be ellipsized
@@ -469,7 +469,7 @@ If the value is 0, the number of lines won't be limited.
value="adw_action_row_set_activatable_widget"/>
The widget to activate when the row is activated.
+ line="238">The widget to activate when the row is activated.
The row can be activated either by clicking on it, calling
[method@Adw.ActionRow.activate], or via mnemonics in the title or the
@@ -492,7 +492,7 @@ The target widget will be activated by emitting the
value="adw_action_row_set_icon_name"/>
The icon name for this row.
+ line="224">The icon name for this row.
The subtitle for this row.
+ line="260">The subtitle for this row.
The number of lines at the end of which the subtitle label will be
+ line="291">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.
@@ -540,7 +540,7 @@ If the value is 0, the number of lines won't be limited.
value="adw_action_row_set_title_lines"/>
The number of lines at the end of which the title label will be ellipsized.
+ line="274">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.
@@ -551,7 +551,7 @@ If the value is 0, the number of lines won't be limited.
This signal is emitted after the row has been activated.
+ line="311">This signal is emitted after the row has been activated.
@@ -577,7 +577,7 @@ If the value is 0, the number of lines won't be limited.
a `AdwActionRow`
+ line="767">a `AdwActionRow`
@@ -1712,24 +1712,24 @@ See [property@Adw.ButtonContent:label].
introspectable="0">
Compile-time version checking. Evaluates to `TRUE` if the version
+ line="65">Compile-time version checking. Evaluates to `TRUE` if the version
of Adwaita is greater than the required one.
-
+
required major version
+ line="67">required major version
required minor version
+ line="68">required minor version
required micro version
+ line="69">required micro version
@@ -4172,7 +4172,7 @@ If `TRUE`, you should not access [property@Adw.ActionRow:subtitle].
-
+
@@ -8083,22 +8083,22 @@ New values may be added to this enumeration over time.
Adw major version component (e.g. 1 if %ADW_VERSION is 1.2.3)
-
+ line="17">Adw major version component (e.g. 1 if %ADW_VERSION is 1.2.3)
+
Adw micro version component (e.g. 3 if %ADW_VERSION is 1.2.3)
-
+ line="31">Adw micro version component (e.g. 3 if %ADW_VERSION is 1.2.3)
+
Adw minor version component (e.g. 2 if %ADW_VERSION is 1.2.3)
-
+ line="24">Adw minor version component (e.g. 2 if %ADW_VERSION is 1.2.3)
+
version="1.0">
Creates a new `AdwPreferencesWindow`.
+ line="662">Creates a new `AdwPreferencesWindow`.
the newly created `AdwPreferencesWindow`
+ line="667">the newly created `AdwPreferencesWindow`
@@ -8982,7 +8982,7 @@ style class `.preferences`.
version="1.0">
Adds a preferences page to @self.
+ line="850">Adds a preferences page to @self.
@@ -8991,13 +8991,13 @@ style class `.preferences`.
a `AdwPreferencesWindow`
+ line="852">a `AdwPreferencesWindow`
the page to add
+ line="853">the page to add
@@ -9007,7 +9007,7 @@ style class `.preferences`.
version="1.0">
Closes the current subpage.
+ line="823">Closes the current subpage.
If there is no presented subpage, this does nothing.
@@ -9020,7 +9020,7 @@ See [method@Adw.PreferencesWindow.close_subpage].
a `AdwPreferencesWindow`
+ line="825">a `AdwPreferencesWindow`
@@ -9032,19 +9032,19 @@ See [method@Adw.PreferencesWindow.close_subpage].
Gets whether or not @self allows closing subpages via a swipe gesture.
+ line="764">Gets whether or not @self allows closing subpages via a swipe gesture.
whether back swipe is enabled.
+ line="770">whether back swipe is enabled.
a `AdwPreferencesWindow`
+ line="766">a `AdwPreferencesWindow`
@@ -9056,19 +9056,19 @@ See [method@Adw.PreferencesWindow.close_subpage].
Gets whether search is enabled for @self.
+ line="677">Gets whether search is enabled for @self.
whether search is enabled for @self.
+ line="683">whether search is enabled for @self.
a `AdwPreferencesWindow`
+ line="679">a `AdwPreferencesWindow`
@@ -9079,19 +9079,19 @@ See [method@Adw.PreferencesWindow.close_subpage].
version="1.0">
Gets the currently visible page of @self.
+ line="905">Gets the currently visible page of @self.
the visible page
+ line="911">the visible page
a `AdwPreferencesWindow`
+ line="907">a `AdwPreferencesWindow`
@@ -9102,19 +9102,19 @@ See [method@Adw.PreferencesWindow.close_subpage].
version="1.0">
Gets the name of currently visible page of @self.
+ line="950">Gets the name of currently visible page of @self.
the name of the visible page
+ line="956">the name of the visible page
a `AdwPreferencesWindow`
+ line="952">a `AdwPreferencesWindow`
@@ -9124,7 +9124,7 @@ See [method@Adw.PreferencesWindow.close_subpage].
version="1.0">
Sets @subpage as the window's subpage and opens it.
+ line="786">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.
@@ -9136,13 +9136,13 @@ change back to the previously visible child.
a `AdwPreferencesWindow`
+ line="788">a `AdwPreferencesWindow`
the subpage
+ line="789">the subpage
@@ -9152,7 +9152,7 @@ change back to the previously visible child.
version="1.0">
Removes a page from @self.
+ line="879">Removes a page from @self.
@@ -9161,13 +9161,13 @@ change back to the previously visible child.
a `AdwPreferencesWindow`
+ line="881">a `AdwPreferencesWindow`
the page to remove
+ line="882">the page to remove
@@ -9179,7 +9179,7 @@ change back to the previously visible child.
Sets whether or not @self allows closing subpages via a swipe gesture.
+ line="735">Sets whether or not @self allows closing subpages via a swipe gesture.
@@ -9188,13 +9188,13 @@ change back to the previously visible child.
a `AdwPreferencesWindow`
+ line="737">a `AdwPreferencesWindow`
the new value
+ line="738">the new value
@@ -9206,7 +9206,7 @@ change back to the previously visible child.
Sets whether search is enabled for @self.
+ line="699">Sets whether search is enabled for @self.
@@ -9215,13 +9215,13 @@ change back to the previously visible child.
a `AdwPreferencesWindow`
+ line="701">a `AdwPreferencesWindow`
whether search is enabled
+ line="702">whether search is enabled
@@ -9232,7 +9232,7 @@ change back to the previously visible child.
version="1.0">
Makes @page the visible page of @self.
+ line="927">Makes @page the visible page of @self.
@@ -9241,13 +9241,13 @@ change back to the previously visible child.
a `AdwPreferencesWindow`
+ line="929">a `AdwPreferencesWindow`
a page of @self
+ line="930">a page of @self
@@ -9258,7 +9258,7 @@ change back to the previously visible child.
version="1.0">
Makes the page with the given name visible.
+ line="972">Makes the page with the given name visible.
@@ -9267,13 +9267,13 @@ change back to the previously visible child.
a `AdwPreferencesWindow`
+ line="974">a `AdwPreferencesWindow`
the name of the page to make visible
+ line="975">the name of the page to make visible
@@ -9290,7 +9290,7 @@ change back to the previously visible child.
value="adw_preferences_window_set_can_swipe_back"/>
Whether or not the window allows closing subpages via a swipe gesture.
+ line="561">Whether or not the window allows closing subpages via a swipe gesture.
value="adw_preferences_window_set_search_enabled"/>
Whether search is enabled.
+ line="547">Whether search is enabled.
Creates a new `AdwStatusPage`.
+ line="307">Creates a new `AdwStatusPage`.
the newly created `AdwStatusPage`
+ line="312">the newly created `AdwStatusPage`
@@ -10976,19 +10976,19 @@ into a small space such a sidebar or a popover.
Gets the child widget of @self.
-
+ line="506">Gets the child widget of @self.
+
the child widget of @self
+ line="512">the child widget of @self
a `AdwStatusPage`
+ line="508">a `AdwStatusPage`
@@ -11000,19 +11000,19 @@ into a small space such a sidebar or a popover.
Gets the description for @self.
-
+ line="465">Gets the description for @self.
+
the description
+ line="471">the description
a `AdwStatusPage`
+ line="467">a `AdwStatusPage`
@@ -11024,19 +11024,43 @@ into a small space such a sidebar or a popover.
Gets the icon name for @self.
+ line="322">Gets the icon name for @self.
the icon name
+ line="328">the icon name
a `AdwStatusPage`
+ line="324">a `AdwStatusPage`
+
+
+
+
+
+
+ Gets the paintable for @self.
+
+
+ the paintable
+
+
+
+
+ a `AdwStatusPage`
@@ -11048,19 +11072,19 @@ into a small space such a sidebar or a popover.
Gets the title for @self.
-
+ line="424">Gets the title for @self.
+
the title
+ line="430">the title
a `AdwStatusPage`
+ line="426">a `AdwStatusPage`
@@ -11072,8 +11096,8 @@ into a small space such a sidebar or a popover.
Sets the child widget of @self.
-
+ line="524">Sets the child widget of @self.
+
@@ -11081,7 +11105,7 @@ into a small space such a sidebar or a popover.
a `AdwStatusPage`
+ line="526">a `AdwStatusPage`
allow-none="1">
the child widget
+ line="527">the child widget
@@ -11102,8 +11126,8 @@ into a small space such a sidebar or a popover.
Sets the description for @self.
-
+ line="483">Sets the description for @self.
+
@@ -11111,7 +11135,7 @@ into a small space such a sidebar or a popover.
a `AdwStatusPage`
+ line="485">a `AdwStatusPage`
allow-none="1">
the description
+ line="486">the description
@@ -11132,7 +11156,7 @@ into a small space such a sidebar or a popover.
Sets the icon name for @self.
+ line="340">Sets the icon name for @self.
@@ -11141,7 +11165,7 @@ into a small space such a sidebar or a popover.
a `AdwStatusPage`
+ line="342">a `AdwStatusPage`
allow-none="1">
the icon name
+ line="343">the icon name
+
+
+ Sets the paintable for @self.
+
+
+
+
+
+
+ a `AdwStatusPage`
+
+
+
+
+
+
+
Sets the title for @self.
-
+ line="442">Sets the title for @self.
+
@@ -11171,13 +11219,13 @@ into a small space such a sidebar or a popover.
a `AdwStatusPage`
+ line="444">a `AdwStatusPage`
the title
+ line="445">the title
@@ -11194,7 +11242,7 @@ into a small space such a sidebar or a popover.
value="adw_status_page_set_child"/>
The child widget.
+ line="245">The child widget.
value="adw_status_page_set_description"/>
The description to be displayed below the title.
+ line="231">The description to be displayed below the title.
value="adw_status_page_set_icon_name"/>
The name of the icon to be used.
+ line="185">The name of the icon to be used.
+
+Changing this will clear [property@Adw.StatusPage:paintable] out.
+
+
+
+ The @GdkPaintable to be used.
+
+Changing this will clear [property@Adw.StatusPage:icon-name] out.
+
+
value="adw_status_page_set_title"/>
The title to be displayed below the icon.
+ line="217">The title to be displayed below the icon.
@@ -15257,7 +15324,7 @@ disable actions not applicable to @page.
-
+
@@ -15268,9 +15335,9 @@ disable actions not applicable to @page.
Adwaita version, encoded as a string, useful for printing and
+ line="45">Adwaita version, encoded as a string, useful for printing and
concatenation.
-
+
+
+ TODO
+
+## CSS nodes
+
+`AdwWrapBox` uses a single CSS node with name `wrapbox`.
+
+## Accessibility
+
+`AdwWrapBox` uses the `GTK_ACCESSIBLE_ROLE_GROUP` role.
+
+
+
+
+
+
+ Creates a new `AdwWrapBox`.
+
+
+ the newly created `AdwWrapBox`
+
+
+
+
+ Adds @child as the last child to @self.
+
+
+
+
+
+
+ a `AdwWrapBox`
+
+
+
+ the widget to append
+
+
+
+
+
+
+ Gets the spacing between lines.
+
+
+ the line spacing
+
+
+
+
+ a `AdwWrapBox`
+
+
+
+
+
+
+ Gets spacing between widgets on the same line.
+
+
+ spacing between widgets on the same line
+
+
+
+
+ a `AdwWrapBox`
+
+
+
+
+
+ Inserts @child in the position after @sibling in the list of @self children.
+
+If @sibling is `NULL`, inserts @child at the first position.
+
+
+
+
+
+
+ a `AdwWrapBox`
+
+
+
+ the widget to insert
+
+
+
+ the sibling after which to insert @child
+
+
+
+
+
+ Adds @child as the first child to @self.
+
+
+
+
+
+
+ a `AdwWrapBox`
+
+
+
+ the widget to prepend
+
+
+
+
+
+ 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].
+
+
+
+
+
+
+ a `AdwWrapBox`
+
+
+
+ the child to remove
+
+
+
+
+
+ Moves @child to the position after @sibling in the list of @self children.
+
+If @sibling is `NULL`, moves @child to the first position.
+
+
+
+
+
+
+ a `AdwWrapBox`
+
+
+
+ the widget to move, must be a child of @self
+
+
+
+ the sibling to move @child after
+
+
+
+
+
+
+ Sets the spacing between lines.
+
+
+
+
+
+
+ a `AdwWrapBox`
+
+
+
+ the line spacing
+
+
+
+
+
+
+ Sets the spacing between widgets on the same line.
+
+
+
+
+
+
+ a `AdwWrapBox`
+
+
+
+ the spacing
+
+
+
+
+
+
+
+ The spacing between lines.
+
+
+
+
+
+ The spacing between widgets on the same line.
+
+
+
+
+
+
+
+
+
+
+ `AdwWrapLayout` is something I couldn't describe because I'm bad at docs.
+
+`AdwWrapLayout` is similar to `GtkBoxLayout` but can wrap lines when the
+widgets cannot fit otherwise. Unlike `GtkFlowBox`, the children aren't
+arranged into a grid and behave more like words in a wrapped label.
+
+
+
+ Creates a new `AdwWrapLayout`.
+
+
+ the newly created `AdwWrapLayout`
+
+
+
+
+
+ Gets the spacing between lines.
+
+
+ the line spacing
+
+
+
+
+ a `AdwWrapLayout`
+
+
+
+
+
+
+ Gets spacing between widgets on the same line.
+
+
+ spacing between widgets on the same line
+
+
+
+
+ a `AdwWrapLayout`
+
+
+
+
+
+
+ Sets the spacing between lines.
+
+
+
+
+
+
+ a `AdwWrapLayout`
+
+
+
+ the line spacing
+
+
+
+
+
+
+ Sets the spacing between widgets on the same line.
+
+
+
+
+
+
+ a `AdwWrapLayout`
+
+
+
+ the spacing
+
+
+
+
+
+
+
+ The spacing between lines.
+
+
+
+
+
+ The spacing between widgets on the same line.
+
+
+
+
+
+
+
+
+
@@ -17744,6 +18300,63 @@ animate it or not.
+
+ 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 %ADW_MAJOR_VERSION macro,
+which represents the major version of the libadwaita headers you have
+included when compiling your code.
+
+
+ the major version number of the Adwaita library
+
+
+
+
+ Returns the micro 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 %ADW_MAJOR_VERSION macro,
+which represents the micro version of the libadwaita headers you have
+included when compiling your code.
+
+
+ the micro version number of the Adwaita library
+
+
+
+
+ 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 %ADW_MAJOR_VERSION macro,
+which represents the minor version of the libadwaita headers you have
+included when compiling your code.
+
+
+ the minor version number of the Adwaita library
+
+
+
>(widget: &P) -> bool {
}
}
+#[doc(alias = "adw_get_major_version")]
+#[doc(alias = "get_major_version")]
+pub fn major_version() -> u32 {
+ assert_initialized_main_thread!();
+ unsafe { ffi::adw_get_major_version() }
+}
+
+#[doc(alias = "adw_get_micro_version")]
+#[doc(alias = "get_micro_version")]
+pub fn micro_version() -> u32 {
+ assert_initialized_main_thread!();
+ unsafe { ffi::adw_get_micro_version() }
+}
+
+#[doc(alias = "adw_get_minor_version")]
+#[doc(alias = "get_minor_version")]
+pub fn minor_version() -> u32 {
+ assert_initialized_main_thread!();
+ unsafe { ffi::adw_get_minor_version() }
+}
+
#[doc(alias = "adw_init")]
pub fn init() {
assert_initialized_main_thread!();
diff --git a/libadwaita/src/auto/mod.rs b/libadwaita/src/auto/mod.rs
index 20123cd407ed5fe3ee3d4d751bf85f69ceab1bc3..195cdf3733e703dd250449bdc9f52a5a73b0796d 100644
--- a/libadwaita/src/auto/mod.rs
+++ b/libadwaita/src/auto/mod.rs
@@ -158,6 +158,13 @@ mod window_title;
pub use self::window_title::WindowTitle;
pub use self::window_title::WindowTitleBuilder;
+mod wrap_box;
+pub use self::wrap_box::WrapBox;
+pub use self::wrap_box::WrapBoxBuilder;
+
+mod wrap_layout;
+pub use self::wrap_layout::WrapLayout;
+
mod enums;
pub use self::enums::CenteringPolicy;
pub use self::enums::ColorScheme;
diff --git a/libadwaita/src/auto/status_page.rs b/libadwaita/src/auto/status_page.rs
index d48382e78660525f40b167b22785a75516063a9f..2261c45f32c563e303649dc81588d68880c0215e 100644
--- a/libadwaita/src/auto/status_page.rs
+++ b/libadwaita/src/auto/status_page.rs
@@ -57,6 +57,12 @@ impl StatusPage {
unsafe { from_glib_none(ffi::adw_status_page_get_icon_name(self.to_glib_none().0)) }
}
+ #[doc(alias = "adw_status_page_get_paintable")]
+ #[doc(alias = "get_paintable")]
+ pub fn paintable(&self) -> Option {
+ unsafe { from_glib_none(ffi::adw_status_page_get_paintable(self.to_glib_none().0)) }
+ }
+
#[doc(alias = "adw_status_page_get_title")]
#[doc(alias = "get_title")]
pub fn title(&self) -> Option {
@@ -90,6 +96,16 @@ impl StatusPage {
}
}
+ #[doc(alias = "adw_status_page_set_paintable")]
+ pub fn set_paintable>(&self, paintable: &P) {
+ unsafe {
+ ffi::adw_status_page_set_paintable(
+ self.to_glib_none().0,
+ paintable.as_ref().to_glib_none().0,
+ );
+ }
+ }
+
#[doc(alias = "adw_status_page_set_title")]
pub fn set_title(&self, title: &str) {
unsafe {
@@ -166,6 +182,29 @@ impl StatusPage {
}
}
+ #[doc(alias = "paintable")]
+ pub fn connect_paintable_notify(&self, f: F) -> SignalHandlerId {
+ unsafe extern "C" fn notify_paintable_trampoline(
+ this: *mut ffi::AdwStatusPage,
+ _param_spec: glib::ffi::gpointer,
+ f: glib::ffi::gpointer,
+ ) {
+ let f: &F = &*(f as *const F);
+ f(&from_glib_borrow(this))
+ }
+ unsafe {
+ let f: Box_ = Box_::new(f);
+ connect_raw(
+ self.as_ptr() as *mut _,
+ b"notify::paintable\0".as_ptr() as *const _,
+ Some(transmute::<_, unsafe extern "C" fn()>(
+ notify_paintable_trampoline:: as *const (),
+ )),
+ Box_::into_raw(f),
+ )
+ }
+ }
+
#[doc(alias = "title")]
pub fn connect_title_notify(&self, f: F) -> SignalHandlerId {
unsafe extern "C" fn notify_title_trampoline(
@@ -205,6 +244,7 @@ pub struct StatusPageBuilder {
child: Option,
description: Option,
icon_name: Option,
+ paintable: Option,
title: Option,
can_focus: Option,
can_target: Option,
@@ -258,6 +298,9 @@ impl StatusPageBuilder {
if let Some(ref icon_name) = self.icon_name {
properties.push(("icon-name", icon_name));
}
+ if let Some(ref paintable) = self.paintable {
+ properties.push(("paintable", paintable));
+ }
if let Some(ref title) = self.title {
properties.push(("title", title));
}
@@ -370,6 +413,11 @@ impl StatusPageBuilder {
self
}
+ pub fn paintable>(mut self, paintable: &P) -> Self {
+ self.paintable = Some(paintable.clone().upcast());
+ self
+ }
+
pub fn title(mut self, title: &str) -> Self {
self.title = Some(title.to_string());
self
diff --git a/libadwaita/src/auto/wrap_box.rs b/libadwaita/src/auto/wrap_box.rs
new file mode 100644
index 0000000000000000000000000000000000000000..9eba984f200fd9d4754ac779f60d97394d0992a8
--- /dev/null
+++ b/libadwaita/src/auto/wrap_box.rs
@@ -0,0 +1,496 @@
+// This file was generated by gir (https://github.com/gtk-rs/gir)
+// from
+// from gir-files (https://github.com/gtk-rs/gir-files.git)
+// DO NOT EDIT
+
+use glib::object::Cast;
+use glib::object::IsA;
+use glib::object::ObjectType as ObjectType_;
+use glib::signal::connect_raw;
+use glib::signal::SignalHandlerId;
+use glib::translate::*;
+use glib::StaticType;
+use glib::ToValue;
+use std::boxed::Box as Box_;
+use std::fmt;
+use std::mem::transmute;
+
+glib::wrapper! {
+ #[doc(alias = "AdwWrapBox")]
+ pub struct WrapBox(Object) @extends gtk::Widget, @implements gtk::Accessible, gtk::Buildable, gtk::ConstraintTarget, gtk::Orientable;
+
+ match fn {
+ type_ => || ffi::adw_wrap_box_get_type(),
+ }
+}
+
+impl WrapBox {
+ #[doc(alias = "adw_wrap_box_new")]
+ pub fn new() -> WrapBox {
+ assert_initialized_main_thread!();
+ unsafe { gtk::Widget::from_glib_none(ffi::adw_wrap_box_new()).unsafe_cast() }
+ }
+
+ // rustdoc-stripper-ignore-next
+ /// Creates a new builder-pattern struct instance to construct [`WrapBox`] objects.
+ ///
+ /// This method returns an instance of [`WrapBoxBuilder`] which can be used to create [`WrapBox`] objects.
+ pub fn builder() -> WrapBoxBuilder {
+ WrapBoxBuilder::default()
+ }
+
+ #[doc(alias = "adw_wrap_box_append")]
+ pub fn append>(&self, child: &P) {
+ unsafe {
+ ffi::adw_wrap_box_append(self.to_glib_none().0, child.as_ref().to_glib_none().0);
+ }
+ }
+
+ #[doc(alias = "adw_wrap_box_get_line_spacing")]
+ #[doc(alias = "get_line_spacing")]
+ pub fn line_spacing(&self) -> i32 {
+ unsafe { ffi::adw_wrap_box_get_line_spacing(self.to_glib_none().0) }
+ }
+
+ #[doc(alias = "adw_wrap_box_get_spacing")]
+ #[doc(alias = "get_spacing")]
+ pub fn spacing(&self) -> i32 {
+ unsafe { ffi::adw_wrap_box_get_spacing(self.to_glib_none().0) }
+ }
+
+ #[doc(alias = "adw_wrap_box_insert_child_after")]
+ pub fn insert_child_after, Q: IsA>(
+ &self,
+ child: &P,
+ sibling: Option<&Q>,
+ ) {
+ unsafe {
+ ffi::adw_wrap_box_insert_child_after(
+ self.to_glib_none().0,
+ child.as_ref().to_glib_none().0,
+ sibling.map(|p| p.as_ref()).to_glib_none().0,
+ );
+ }
+ }
+
+ #[doc(alias = "adw_wrap_box_prepend")]
+ pub fn prepend>(&self, child: &P) {
+ unsafe {
+ ffi::adw_wrap_box_prepend(self.to_glib_none().0, child.as_ref().to_glib_none().0);
+ }
+ }
+
+ #[doc(alias = "adw_wrap_box_remove")]
+ pub fn remove>(&self, child: &P) {
+ unsafe {
+ ffi::adw_wrap_box_remove(self.to_glib_none().0, child.as_ref().to_glib_none().0);
+ }
+ }
+
+ #[doc(alias = "adw_wrap_box_reorder_child_after")]
+ pub fn reorder_child_after, Q: IsA>(
+ &self,
+ child: &P,
+ sibling: Option<&Q>,
+ ) {
+ unsafe {
+ ffi::adw_wrap_box_reorder_child_after(
+ self.to_glib_none().0,
+ child.as_ref().to_glib_none().0,
+ sibling.map(|p| p.as_ref()).to_glib_none().0,
+ );
+ }
+ }
+
+ #[doc(alias = "adw_wrap_box_set_line_spacing")]
+ pub fn set_line_spacing(&self, line_spacing: i32) {
+ unsafe {
+ ffi::adw_wrap_box_set_line_spacing(self.to_glib_none().0, line_spacing);
+ }
+ }
+
+ #[doc(alias = "adw_wrap_box_set_spacing")]
+ pub fn set_spacing(&self, spacing: i32) {
+ unsafe {
+ ffi::adw_wrap_box_set_spacing(self.to_glib_none().0, spacing);
+ }
+ }
+
+ #[doc(alias = "line-spacing")]
+ pub fn connect_line_spacing_notify(&self, f: F) -> SignalHandlerId {
+ unsafe extern "C" fn notify_line_spacing_trampoline(
+ this: *mut ffi::AdwWrapBox,
+ _param_spec: glib::ffi::gpointer,
+ f: glib::ffi::gpointer,
+ ) {
+ let f: &F = &*(f as *const F);
+ f(&from_glib_borrow(this))
+ }
+ unsafe {
+ let f: Box_ = Box_::new(f);
+ connect_raw(
+ self.as_ptr() as *mut _,
+ b"notify::line-spacing\0".as_ptr() as *const _,
+ Some(transmute::<_, unsafe extern "C" fn()>(
+ notify_line_spacing_trampoline:: as *const (),
+ )),
+ Box_::into_raw(f),
+ )
+ }
+ }
+
+ #[doc(alias = "spacing")]
+ pub fn connect_spacing_notify(&self, f: F) -> SignalHandlerId {
+ unsafe extern "C" fn notify_spacing_trampoline(
+ this: *mut ffi::AdwWrapBox,
+ _param_spec: glib::ffi::gpointer,
+ f: glib::ffi::gpointer,
+ ) {
+ let f: &F = &*(f as *const F);
+ f(&from_glib_borrow(this))
+ }
+ unsafe {
+ let f: Box_ = Box_::new(f);
+ connect_raw(
+ self.as_ptr() as *mut _,
+ b"notify::spacing\0".as_ptr() as *const _,
+ Some(transmute::<_, unsafe extern "C" fn()>(
+ notify_spacing_trampoline:: as *const (),
+ )),
+ Box_::into_raw(f),
+ )
+ }
+ }
+}
+
+impl Default for WrapBox {
+ fn default() -> Self {
+ Self::new()
+ }
+}
+
+#[derive(Clone, Default)]
+// rustdoc-stripper-ignore-next
+/// A [builder-pattern] type to construct [`WrapBox`] objects.
+///
+/// [builder-pattern]: https://doc.rust-lang.org/1.0.0/style/ownership/builders.html
+pub struct WrapBoxBuilder {
+ line_spacing: Option,
+ spacing: Option,
+ can_focus: Option,
+ can_target: Option,
+ css_classes: Option>,
+ css_name: Option,
+ cursor: Option,
+ focus_on_click: Option,
+ focusable: Option,
+ halign: Option,
+ has_tooltip: Option,
+ height_request: Option,
+ hexpand: Option,
+ hexpand_set: Option,
+ layout_manager: Option,
+ margin_bottom: Option,
+ margin_end: Option,
+ margin_start: Option,
+ margin_top: Option,
+ name: Option,
+ opacity: Option,
+ overflow: Option,
+ receives_default: Option,
+ sensitive: Option,
+ tooltip_markup: Option,
+ tooltip_text: Option,
+ valign: Option,
+ vexpand: Option,
+ vexpand_set: Option,
+ visible: Option,
+ width_request: Option,
+ accessible_role: Option,
+ orientation: Option,
+}
+
+impl WrapBoxBuilder {
+ // rustdoc-stripper-ignore-next
+ /// Create a new [`WrapBoxBuilder`].
+ pub fn new() -> Self {
+ Self::default()
+ }
+
+ // rustdoc-stripper-ignore-next
+ /// Build the [`WrapBox`].
+ pub fn build(self) -> WrapBox {
+ let mut properties: Vec<(&str, &dyn ToValue)> = vec![];
+ if let Some(ref line_spacing) = self.line_spacing {
+ properties.push(("line-spacing", line_spacing));
+ }
+ if let Some(ref spacing) = self.spacing {
+ properties.push(("spacing", spacing));
+ }
+ if let Some(ref can_focus) = self.can_focus {
+ properties.push(("can-focus", can_focus));
+ }
+ if let Some(ref can_target) = self.can_target {
+ properties.push(("can-target", can_target));
+ }
+ if let Some(ref css_classes) = self.css_classes {
+ properties.push(("css-classes", css_classes));
+ }
+ if let Some(ref css_name) = self.css_name {
+ properties.push(("css-name", css_name));
+ }
+ if let Some(ref cursor) = self.cursor {
+ properties.push(("cursor", cursor));
+ }
+ if let Some(ref focus_on_click) = self.focus_on_click {
+ properties.push(("focus-on-click", focus_on_click));
+ }
+ if let Some(ref focusable) = self.focusable {
+ properties.push(("focusable", focusable));
+ }
+ if let Some(ref halign) = self.halign {
+ properties.push(("halign", halign));
+ }
+ if let Some(ref has_tooltip) = self.has_tooltip {
+ properties.push(("has-tooltip", has_tooltip));
+ }
+ if let Some(ref height_request) = self.height_request {
+ properties.push(("height-request", height_request));
+ }
+ if let Some(ref hexpand) = self.hexpand {
+ properties.push(("hexpand", hexpand));
+ }
+ if let Some(ref hexpand_set) = self.hexpand_set {
+ properties.push(("hexpand-set", hexpand_set));
+ }
+ if let Some(ref layout_manager) = self.layout_manager {
+ properties.push(("layout-manager", layout_manager));
+ }
+ if let Some(ref margin_bottom) = self.margin_bottom {
+ properties.push(("margin-bottom", margin_bottom));
+ }
+ if let Some(ref margin_end) = self.margin_end {
+ properties.push(("margin-end", margin_end));
+ }
+ if let Some(ref margin_start) = self.margin_start {
+ properties.push(("margin-start", margin_start));
+ }
+ if let Some(ref margin_top) = self.margin_top {
+ properties.push(("margin-top", margin_top));
+ }
+ if let Some(ref name) = self.name {
+ properties.push(("name", name));
+ }
+ if let Some(ref opacity) = self.opacity {
+ properties.push(("opacity", opacity));
+ }
+ if let Some(ref overflow) = self.overflow {
+ properties.push(("overflow", overflow));
+ }
+ if let Some(ref receives_default) = self.receives_default {
+ properties.push(("receives-default", receives_default));
+ }
+ if let Some(ref sensitive) = self.sensitive {
+ properties.push(("sensitive", sensitive));
+ }
+ if let Some(ref tooltip_markup) = self.tooltip_markup {
+ properties.push(("tooltip-markup", tooltip_markup));
+ }
+ if let Some(ref tooltip_text) = self.tooltip_text {
+ properties.push(("tooltip-text", tooltip_text));
+ }
+ if let Some(ref valign) = self.valign {
+ properties.push(("valign", valign));
+ }
+ if let Some(ref vexpand) = self.vexpand {
+ properties.push(("vexpand", vexpand));
+ }
+ if let Some(ref vexpand_set) = self.vexpand_set {
+ properties.push(("vexpand-set", vexpand_set));
+ }
+ if let Some(ref visible) = self.visible {
+ properties.push(("visible", visible));
+ }
+ if let Some(ref width_request) = self.width_request {
+ properties.push(("width-request", width_request));
+ }
+ if let Some(ref accessible_role) = self.accessible_role {
+ properties.push(("accessible-role", accessible_role));
+ }
+ if let Some(ref orientation) = self.orientation {
+ properties.push(("orientation", orientation));
+ }
+ glib::Object::new::(&properties).expect("Failed to create an instance of WrapBox")
+ }
+
+ pub fn line_spacing(mut self, line_spacing: i32) -> Self {
+ self.line_spacing = Some(line_spacing);
+ self
+ }
+
+ pub fn spacing(mut self, spacing: i32) -> Self {
+ self.spacing = Some(spacing);
+ self
+ }
+
+ pub fn can_focus(mut self, can_focus: bool) -> Self {
+ self.can_focus = Some(can_focus);
+ self
+ }
+
+ pub fn can_target(mut self, can_target: bool) -> Self {
+ self.can_target = Some(can_target);
+ self
+ }
+
+ pub fn css_classes(mut self, css_classes: Vec) -> Self {
+ self.css_classes = Some(css_classes);
+ self
+ }
+
+ pub fn css_name(mut self, css_name: &str) -> Self {
+ self.css_name = Some(css_name.to_string());
+ self
+ }
+
+ pub fn cursor(mut self, cursor: &gdk::Cursor) -> Self {
+ self.cursor = Some(cursor.clone());
+ self
+ }
+
+ pub fn focus_on_click(mut self, focus_on_click: bool) -> Self {
+ self.focus_on_click = Some(focus_on_click);
+ self
+ }
+
+ pub fn focusable(mut self, focusable: bool) -> Self {
+ self.focusable = Some(focusable);
+ self
+ }
+
+ pub fn halign(mut self, halign: gtk::Align) -> Self {
+ self.halign = Some(halign);
+ self
+ }
+
+ pub fn has_tooltip(mut self, has_tooltip: bool) -> Self {
+ self.has_tooltip = Some(has_tooltip);
+ self
+ }
+
+ pub fn height_request(mut self, height_request: i32) -> Self {
+ self.height_request = Some(height_request);
+ self
+ }
+
+ pub fn hexpand(mut self, hexpand: bool) -> Self {
+ self.hexpand = Some(hexpand);
+ self
+ }
+
+ pub fn hexpand_set(mut self, hexpand_set: bool) -> Self {
+ self.hexpand_set = Some(hexpand_set);
+ self
+ }
+
+ pub fn layout_manager>(mut self, layout_manager: &P) -> Self {
+ self.layout_manager = Some(layout_manager.clone().upcast());
+ self
+ }
+
+ pub fn margin_bottom(mut self, margin_bottom: i32) -> Self {
+ self.margin_bottom = Some(margin_bottom);
+ self
+ }
+
+ pub fn margin_end(mut self, margin_end: i32) -> Self {
+ self.margin_end = Some(margin_end);
+ self
+ }
+
+ pub fn margin_start(mut self, margin_start: i32) -> Self {
+ self.margin_start = Some(margin_start);
+ self
+ }
+
+ pub fn margin_top(mut self, margin_top: i32) -> Self {
+ self.margin_top = Some(margin_top);
+ self
+ }
+
+ pub fn name(mut self, name: &str) -> Self {
+ self.name = Some(name.to_string());
+ self
+ }
+
+ pub fn opacity(mut self, opacity: f64) -> Self {
+ self.opacity = Some(opacity);
+ self
+ }
+
+ pub fn overflow(mut self, overflow: gtk::Overflow) -> Self {
+ self.overflow = Some(overflow);
+ self
+ }
+
+ pub fn receives_default(mut self, receives_default: bool) -> Self {
+ self.receives_default = Some(receives_default);
+ self
+ }
+
+ pub fn sensitive(mut self, sensitive: bool) -> Self {
+ self.sensitive = Some(sensitive);
+ self
+ }
+
+ pub fn tooltip_markup(mut self, tooltip_markup: &str) -> Self {
+ self.tooltip_markup = Some(tooltip_markup.to_string());
+ self
+ }
+
+ pub fn tooltip_text(mut self, tooltip_text: &str) -> Self {
+ self.tooltip_text = Some(tooltip_text.to_string());
+ self
+ }
+
+ pub fn valign(mut self, valign: gtk::Align) -> Self {
+ self.valign = Some(valign);
+ self
+ }
+
+ pub fn vexpand(mut self, vexpand: bool) -> Self {
+ self.vexpand = Some(vexpand);
+ self
+ }
+
+ pub fn vexpand_set(mut self, vexpand_set: bool) -> Self {
+ self.vexpand_set = Some(vexpand_set);
+ self
+ }
+
+ pub fn visible(mut self, visible: bool) -> Self {
+ self.visible = Some(visible);
+ self
+ }
+
+ pub fn width_request(mut self, width_request: i32) -> Self {
+ self.width_request = Some(width_request);
+ self
+ }
+
+ pub fn accessible_role(mut self, accessible_role: gtk::AccessibleRole) -> Self {
+ self.accessible_role = Some(accessible_role);
+ self
+ }
+
+ pub fn orientation(mut self, orientation: gtk::Orientation) -> Self {
+ self.orientation = Some(orientation);
+ self
+ }
+}
+
+impl fmt::Display for WrapBox {
+ fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+ f.write_str("WrapBox")
+ }
+}
diff --git a/libadwaita/src/auto/wrap_layout.rs b/libadwaita/src/auto/wrap_layout.rs
new file mode 100644
index 0000000000000000000000000000000000000000..5f39c28d75ba894b5dfcae97a518f843c10095b6
--- /dev/null
+++ b/libadwaita/src/auto/wrap_layout.rs
@@ -0,0 +1,114 @@
+// This file was generated by gir (https://github.com/gtk-rs/gir)
+// from
+// from gir-files (https://github.com/gtk-rs/gir-files.git)
+// DO NOT EDIT
+
+use glib::object::Cast;
+use glib::object::ObjectType as ObjectType_;
+use glib::signal::connect_raw;
+use glib::signal::SignalHandlerId;
+use glib::translate::*;
+use std::boxed::Box as Box_;
+use std::fmt;
+use std::mem::transmute;
+
+glib::wrapper! {
+ #[doc(alias = "AdwWrapLayout")]
+ pub struct WrapLayout(Object) @extends gtk::LayoutManager, @implements gtk::Orientable;
+
+ match fn {
+ type_ => || ffi::adw_wrap_layout_get_type(),
+ }
+}
+
+impl WrapLayout {
+ #[doc(alias = "adw_wrap_layout_new")]
+ pub fn new() -> WrapLayout {
+ assert_initialized_main_thread!();
+ unsafe { gtk::LayoutManager::from_glib_full(ffi::adw_wrap_layout_new()).unsafe_cast() }
+ }
+
+ #[doc(alias = "adw_wrap_layout_get_line_spacing")]
+ #[doc(alias = "get_line_spacing")]
+ pub fn line_spacing(&self) -> i32 {
+ unsafe { ffi::adw_wrap_layout_get_line_spacing(self.to_glib_none().0) }
+ }
+
+ #[doc(alias = "adw_wrap_layout_get_spacing")]
+ #[doc(alias = "get_spacing")]
+ pub fn spacing(&self) -> i32 {
+ unsafe { ffi::adw_wrap_layout_get_spacing(self.to_glib_none().0) }
+ }
+
+ #[doc(alias = "adw_wrap_layout_set_line_spacing")]
+ pub fn set_line_spacing(&self, line_spacing: i32) {
+ unsafe {
+ ffi::adw_wrap_layout_set_line_spacing(self.to_glib_none().0, line_spacing);
+ }
+ }
+
+ #[doc(alias = "adw_wrap_layout_set_spacing")]
+ pub fn set_spacing(&self, spacing: i32) {
+ unsafe {
+ ffi::adw_wrap_layout_set_spacing(self.to_glib_none().0, spacing);
+ }
+ }
+
+ #[doc(alias = "line-spacing")]
+ pub fn connect_line_spacing_notify(&self, f: F) -> SignalHandlerId {
+ unsafe extern "C" fn notify_line_spacing_trampoline(
+ this: *mut ffi::AdwWrapLayout,
+ _param_spec: glib::ffi::gpointer,
+ f: glib::ffi::gpointer,
+ ) {
+ let f: &F = &*(f as *const F);
+ f(&from_glib_borrow(this))
+ }
+ unsafe {
+ let f: Box_ = Box_::new(f);
+ connect_raw(
+ self.as_ptr() as *mut _,
+ b"notify::line-spacing\0".as_ptr() as *const _,
+ Some(transmute::<_, unsafe extern "C" fn()>(
+ notify_line_spacing_trampoline:: as *const (),
+ )),
+ Box_::into_raw(f),
+ )
+ }
+ }
+
+ #[doc(alias = "spacing")]
+ pub fn connect_spacing_notify(&self, f: F) -> SignalHandlerId {
+ unsafe extern "C" fn notify_spacing_trampoline(
+ this: *mut ffi::AdwWrapLayout,
+ _param_spec: glib::ffi::gpointer,
+ f: glib::ffi::gpointer,
+ ) {
+ let f: &F = &*(f as *const F);
+ f(&from_glib_borrow(this))
+ }
+ unsafe {
+ let f: Box_ = Box_::new(f);
+ connect_raw(
+ self.as_ptr() as *mut _,
+ b"notify::spacing\0".as_ptr() as *const _,
+ Some(transmute::<_, unsafe extern "C" fn()>(
+ notify_spacing_trampoline:: as *const (),
+ )),
+ Box_::into_raw(f),
+ )
+ }
+ }
+}
+
+impl Default for WrapLayout {
+ fn default() -> Self {
+ Self::new()
+ }
+}
+
+impl fmt::Display for WrapLayout {
+ fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+ f.write_str("WrapLayout")
+ }
+}
diff --git a/libadwaita/sys/src/lib.rs b/libadwaita/sys/src/lib.rs
index f4cbc545758a24ee66227e6e132b728cfd4ff81d..6ee44209d1bd1ac5f573053f022773c3557ab461 100644
--- a/libadwaita/sys/src/lib.rs
+++ b/libadwaita/sys/src/lib.rs
@@ -682,6 +682,34 @@ impl ::std::fmt::Debug for AdwWindowTitleClass {
}
}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct AdwWrapBoxClass {
+ pub parent_class: gtk::GtkWidgetClass,
+}
+
+impl ::std::fmt::Debug for AdwWrapBoxClass {
+ fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
+ f.debug_struct(&format!("AdwWrapBoxClass @ {:p}", self))
+ .field("parent_class", &self.parent_class)
+ .finish()
+ }
+}
+
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct AdwWrapLayoutClass {
+ pub parent_class: gtk::GtkLayoutManagerClass,
+}
+
+impl ::std::fmt::Debug for AdwWrapLayoutClass {
+ fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
+ f.debug_struct(&format!("AdwWrapLayoutClass @ {:p}", self))
+ .field("parent_class", &self.parent_class)
+ .finish()
+ }
+}
+
// Classes
#[repr(C)]
#[derive(Copy, Clone)]
@@ -1120,6 +1148,25 @@ impl ::std::fmt::Debug for AdwWindowTitle {
}
}
+#[repr(C)]
+pub struct AdwWrapBox(c_void);
+
+impl ::std::fmt::Debug for AdwWrapBox {
+ fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
+ f.debug_struct(&format!("AdwWrapBox @ {:p}", self)).finish()
+ }
+}
+
+#[repr(C)]
+pub struct AdwWrapLayout(c_void);
+
+impl ::std::fmt::Debug for AdwWrapLayout {
+ fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
+ f.debug_struct(&format!("AdwWrapLayout @ {:p}", self))
+ .finish()
+ }
+}
+
// Interfaces
#[repr(C)]
pub struct AdwSwipeable(c_void);
@@ -1790,10 +1837,15 @@ extern "C" {
pub fn adw_status_page_get_child(self_: *mut AdwStatusPage) -> *mut gtk::GtkWidget;
pub fn adw_status_page_get_description(self_: *mut AdwStatusPage) -> *const c_char;
pub fn adw_status_page_get_icon_name(self_: *mut AdwStatusPage) -> *const c_char;
+ pub fn adw_status_page_get_paintable(self_: *mut AdwStatusPage) -> *mut gdk::GdkPaintable;
pub fn adw_status_page_get_title(self_: *mut AdwStatusPage) -> *const c_char;
pub fn adw_status_page_set_child(self_: *mut AdwStatusPage, child: *mut gtk::GtkWidget);
pub fn adw_status_page_set_description(self_: *mut AdwStatusPage, description: *const c_char);
pub fn adw_status_page_set_icon_name(self_: *mut AdwStatusPage, icon_name: *const c_char);
+ pub fn adw_status_page_set_paintable(
+ self_: *mut AdwStatusPage,
+ paintable: *mut gdk::GdkPaintable,
+ );
pub fn adw_status_page_set_title(self_: *mut AdwStatusPage, title: *const c_char);
//=========================================================================
@@ -2121,6 +2173,39 @@ extern "C" {
pub fn adw_window_title_set_subtitle(self_: *mut AdwWindowTitle, subtitle: *const c_char);
pub fn adw_window_title_set_title(self_: *mut AdwWindowTitle, title: *const c_char);
+ //=========================================================================
+ // AdwWrapBox
+ //=========================================================================
+ pub fn adw_wrap_box_get_type() -> GType;
+ pub fn adw_wrap_box_new() -> *mut gtk::GtkWidget;
+ pub fn adw_wrap_box_append(self_: *mut AdwWrapBox, child: *mut gtk::GtkWidget);
+ pub fn adw_wrap_box_get_line_spacing(self_: *mut AdwWrapBox) -> c_int;
+ pub fn adw_wrap_box_get_spacing(self_: *mut AdwWrapBox) -> c_int;
+ pub fn adw_wrap_box_insert_child_after(
+ self_: *mut AdwWrapBox,
+ child: *mut gtk::GtkWidget,
+ sibling: *mut gtk::GtkWidget,
+ );
+ pub fn adw_wrap_box_prepend(self_: *mut AdwWrapBox, child: *mut gtk::GtkWidget);
+ pub fn adw_wrap_box_remove(self_: *mut AdwWrapBox, child: *mut gtk::GtkWidget);
+ pub fn adw_wrap_box_reorder_child_after(
+ self_: *mut AdwWrapBox,
+ child: *mut gtk::GtkWidget,
+ sibling: *mut gtk::GtkWidget,
+ );
+ pub fn adw_wrap_box_set_line_spacing(self_: *mut AdwWrapBox, line_spacing: c_int);
+ pub fn adw_wrap_box_set_spacing(self_: *mut AdwWrapBox, spacing: c_int);
+
+ //=========================================================================
+ // AdwWrapLayout
+ //=========================================================================
+ pub fn adw_wrap_layout_get_type() -> GType;
+ pub fn adw_wrap_layout_new() -> *mut gtk::GtkLayoutManager;
+ pub fn adw_wrap_layout_get_line_spacing(self_: *mut AdwWrapLayout) -> c_int;
+ pub fn adw_wrap_layout_get_spacing(self_: *mut AdwWrapLayout) -> c_int;
+ pub fn adw_wrap_layout_set_line_spacing(self_: *mut AdwWrapLayout, line_spacing: c_int);
+ pub fn adw_wrap_layout_set_spacing(self_: *mut AdwWrapLayout, spacing: c_int);
+
//=========================================================================
// AdwSwipeable
//=========================================================================
@@ -2144,6 +2229,9 @@ extern "C" {
//=========================================================================
pub fn adw_ease_out_cubic(t: c_double) -> c_double;
pub fn adw_get_enable_animations(widget: *mut gtk::GtkWidget) -> gboolean;
+ pub fn adw_get_major_version() -> c_uint;
+ pub fn adw_get_micro_version() -> c_uint;
+ pub fn adw_get_minor_version() -> c_uint;
pub fn adw_init();
pub fn adw_is_initialized() -> gboolean;
diff --git a/libadwaita/sys/tests/abi.rs b/libadwaita/sys/tests/abi.rs
index a0ad46fb044b3965ce8471049ae9aa287f93fae7..f40d17af612661122b3dd41f11e8ba15eef3ccca 100644
--- a/libadwaita/sys/tests/abi.rs
+++ b/libadwaita/sys/tests/abi.rs
@@ -638,6 +638,20 @@ const RUST_LAYOUTS: &[(&str, Layout)] = &[
alignment: align_of::(),
},
),
+ (
+ "AdwWrapBoxClass",
+ Layout {
+ size: size_of::(),
+ alignment: align_of::(),
+ },
+ ),
+ (
+ "AdwWrapLayoutClass",
+ Layout {
+ size: size_of::(),
+ alignment: align_of::(),
+ },
+ ),
];
const RUST_CONSTANTS: &[(&str, &str)] = &[
diff --git a/libadwaita/sys/tests/layout.c b/libadwaita/sys/tests/layout.c
index ea4ee8df077a25cdc0fbc9f5248fb5bcac2ae629..0ad502d69bf29996c0c9b27eb4d9f8b833c81295 100644
--- a/libadwaita/sys/tests/layout.c
+++ b/libadwaita/sys/tests/layout.c
@@ -69,5 +69,7 @@ int main() {
printf("%s;%zu;%zu\n", "AdwWindow", sizeof(AdwWindow), alignof(AdwWindow));
printf("%s;%zu;%zu\n", "AdwWindowClass", sizeof(AdwWindowClass), alignof(AdwWindowClass));
printf("%s;%zu;%zu\n", "AdwWindowTitleClass", sizeof(AdwWindowTitleClass), alignof(AdwWindowTitleClass));
+ printf("%s;%zu;%zu\n", "AdwWrapBoxClass", sizeof(AdwWrapBoxClass), alignof(AdwWrapBoxClass));
+ printf("%s;%zu;%zu\n", "AdwWrapLayoutClass", sizeof(AdwWrapLayoutClass), alignof(AdwWrapLayoutClass));
return 0;
}