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; }