Add Flatpak manifest for generation
Some checks failed
Deploy Docs / publish (push) Failing after 8m47s
SwiftLint / SwiftLint (push) Failing after 38s

This commit is contained in:
david-swift 2025-04-09 11:13:27 +02:00
parent 9ae203fd7b
commit 62b3aa93b2
48 changed files with 326 additions and 174 deletions

View File

@ -2,7 +2,7 @@
// ActionRow.swift // ActionRow.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 31.10.24. // Created by auto-generation on 09.04.25.
// //
import CAdw import CAdw

View File

@ -2,13 +2,13 @@
// AspectFrame.swift // AspectFrame.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 31.10.24. // Created by auto-generation on 09.04.25.
// //
import CAdw import CAdw
import LevenshteinTransformations import LevenshteinTransformations
/// `GtkAspectFrame` preserves the aspect ratio of its child. /// Preserves the aspect ratio of its child.
/// ///
/// The frame can respect the aspect ratio of the child widget, /// The frame can respect the aspect ratio of the child widget,
/// or use its own aspect ratio. /// or use its own aspect ratio.
@ -19,9 +19,9 @@ import LevenshteinTransformations
/// ///
/// # Accessibility /// # Accessibility
/// ///
/// Until GTK 4.10, `GtkAspectFrame` used the `GTK_ACCESSIBLE_ROLE_GROUP` role. /// Until GTK 4.10, `GtkAspectFrame` used the [enum@Gtk.AccessibleRole.group] role.
/// ///
/// Starting from GTK 4.12, `GtkAspectFrame` uses the `GTK_ACCESSIBLE_ROLE_GENERIC` role. /// Starting from GTK 4.12, `GtkAspectFrame` uses the [enum@Gtk.AccessibleRole.generic] role.
public struct AspectFrame: AdwaitaWidget { public struct AspectFrame: AdwaitaWidget {
/// Additional update functions for type extensions. /// Additional update functions for type extensions.

View File

@ -2,7 +2,7 @@
// Avatar.swift // Avatar.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 31.10.24. // Created by auto-generation on 09.04.25.
// //
import CAdw import CAdw
@ -28,6 +28,10 @@ import LevenshteinTransformations
/// ## CSS nodes /// ## CSS nodes
/// ///
/// `AdwAvatar` has a single CSS node with name `avatar`. /// `AdwAvatar` has a single CSS node with name `avatar`.
///
/// ## Accessibility
///
/// `AdwAvatar` uses the `GTK_ACCESSIBLE_ROLE_IMG` role.
public struct Avatar: AdwaitaWidget { public struct Avatar: AdwaitaWidget {
/// Additional update functions for type extensions. /// Additional update functions for type extensions.

View File

@ -2,7 +2,7 @@
// Banner.swift // Banner.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 31.10.24. // Created by auto-generation on 09.04.25.
// //
import CAdw import CAdw
@ -22,7 +22,10 @@ import LevenshteinTransformations
/// ///
/// Banners can optionally have a button with text on it, set through /// Banners can optionally have a button with text on it, set through
/// [property@Banner:button-label]. The button can be used with a `GAction`, /// [property@Banner:button-label]. The button can be used with a `GAction`,
/// or with the [signal@Banner::button-clicked] signal. /// or with the [signal@Banner::button-clicked] signal. The button can have
/// different styles, a gray style and a suggested style.
///
/// <picture><source srcset="banner-suggested-dark.png" media="(prefers-color-scheme: dark)"><img src="banner-suggested.png" alt="banner with suggested button style"></picture>
/// ///
/// ## CSS nodes /// ## CSS nodes
/// ///

View File

@ -2,7 +2,7 @@
// Bin.swift // Bin.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 31.10.24. // Created by auto-generation on 09.04.25.
// //
import CAdw import CAdw

View File

@ -2,21 +2,21 @@
// Box.swift // Box.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 31.10.24. // Created by auto-generation on 09.04.25.
// //
import CAdw import CAdw
import LevenshteinTransformations import LevenshteinTransformations
/// The `GtkBox` widget arranges child widgets into a single row or column. /// Arranges child widgets into a single row or column.
/// ///
/// ![An example GtkBox](box.png) /// <picture><source srcset="box-dark.png" media="(prefers-color-scheme: dark)"><img alt="An example GtkBox" src="box.png"></picture>
/// ///
/// Whether it is a row or column depends on the value of its /// Whether it is a row or column depends on the value of its
/// [property@Gtk.Orientable:orientation] property. Within the other /// [property@Gtk.Orientable:orientation] property. Within the other
/// dimension, all children are allocated the same size. Of course, the /// dimension, all children are allocated the same size. The
/// [property@Gtk.Widget:halign] and [property@Gtk.Widget:valign] properties /// [property@Gtk.Widget:halign] and [property@Gtk.Widget:valign]
/// can be used on the children to influence their allocation. /// properties can be used on the children to influence their allocation.
/// ///
/// Use repeated calls to [method@Gtk.Box.append] to pack widgets into a /// Use repeated calls to [method@Gtk.Box.append] to pack widgets into a
/// `GtkBox` from start to end. Use [method@Gtk.Box.remove] to remove widgets /// `GtkBox` from start to end. Use [method@Gtk.Box.remove] to remove widgets
@ -39,9 +39,9 @@ import LevenshteinTransformations
/// ///
/// # Accessibility /// # Accessibility
/// ///
/// Until GTK 4.10, `GtkBox` used the `GTK_ACCESSIBLE_ROLE_GROUP` role. /// Until GTK 4.10, `GtkBox` used the [enum@Gtk.AccessibleRole.group] role.
/// ///
/// Starting from GTK 4.12, `GtkBox` uses the `GTK_ACCESSIBLE_ROLE_GENERIC` role. /// Starting from GTK 4.12, `GtkBox` uses the [enum@Gtk.AccessibleRole.generic] role.
public struct Box: AdwaitaWidget { public struct Box: AdwaitaWidget {
/// Additional update functions for type extensions. /// Additional update functions for type extensions.
@ -53,7 +53,9 @@ public struct Box: AdwaitaWidget {
/// ///
/// The accessible role cannot be changed once set. /// The accessible role cannot be changed once set.
var accessibleRole: String? var accessibleRole: String?
/// The child that determines the baseline, in vertical orientation. /// The position of the child that determines the baseline.
///
/// This is only relevant if the box is in vertical orientation.
var baselineChild: Int? var baselineChild: Int?
/// Whether the children should all be the same size. /// Whether the children should all be the same size.
var homogeneous: Bool? var homogeneous: Bool?
@ -159,7 +161,9 @@ public struct Box: AdwaitaWidget {
return newSelf return newSelf
} }
/// The child that determines the baseline, in vertical orientation. /// The position of the child that determines the baseline.
///
/// This is only relevant if the box is in vertical orientation.
public func baselineChild(_ baselineChild: Int?) -> Self { public func baselineChild(_ baselineChild: Int?) -> Self {
var newSelf = self var newSelf = self
newSelf.baselineChild = baselineChild newSelf.baselineChild = baselineChild

View File

@ -2,16 +2,15 @@
// Button.swift // Button.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 31.10.24. // Created by auto-generation on 09.04.25.
// //
import CAdw import CAdw
import LevenshteinTransformations import LevenshteinTransformations
/// The `GtkButton` widget is generally used to trigger a callback function that is /// Calls a callback function when the button is clicked.
/// called when the button is pressed.
/// ///
/// ![An example GtkButton](button.png) /// <picture><source srcset="button-dark.png" media="(prefers-color-scheme: dark)"><img alt="An example GtkButton" src="button.png"></picture>
/// ///
/// The `GtkButton` widget can hold any valid child widget. That is, it can hold /// The `GtkButton` widget can hold any valid child widget. That is, it can hold
/// almost any other standard `GtkWidget`. The most commonly used child is the /// almost any other standard `GtkWidget`. The most commonly used child is the
@ -43,7 +42,7 @@ import LevenshteinTransformations
/// ///
/// # Accessibility /// # Accessibility
/// ///
/// `GtkButton` uses the %GTK_ACCESSIBLE_ROLE_BUTTON role. /// `GtkButton` uses the [enum@Gtk.AccessibleRole.button] role.
public struct Button: AdwaitaWidget { public struct Button: AdwaitaWidget {
/// Additional update functions for type extensions. /// Additional update functions for type extensions.

View File

@ -2,7 +2,7 @@
// ButtonContent.swift // ButtonContent.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 31.10.24. // Created by auto-generation on 09.04.25.
// //
import CAdw import CAdw

View File

@ -2,7 +2,7 @@
// Carousel.swift // Carousel.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 31.10.24. // Created by auto-generation on 09.04.25.
// //
import CAdw import CAdw

View File

@ -2,16 +2,16 @@
// CenterBox.swift // CenterBox.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 31.10.24. // Created by auto-generation on 09.04.25.
// //
import CAdw import CAdw
import LevenshteinTransformations import LevenshteinTransformations
/// `GtkCenterBox` arranges three children in a row, keeping the middle child /// Arranges three children in a row, keeping the middle child
/// centered as well as possible. /// centered as well as possible.
/// ///
/// ![An example GtkCenterBox](centerbox.png) /// <picture><source srcset="centerbox-dark.png" media="(prefers-color-scheme: dark)"><img alt="An example GtkCenterBox" src="centerbox.png"></picture>
/// ///
/// To add children to `GtkCenterBox`, use [method@Gtk.CenterBox.set_start_widget], /// To add children to `GtkCenterBox`, use [method@Gtk.CenterBox.set_start_widget],
/// [method@Gtk.CenterBox.set_center_widget] and /// [method@Gtk.CenterBox.set_center_widget] and
@ -39,9 +39,10 @@ import LevenshteinTransformations
/// ///
/// # Accessibility /// # Accessibility
/// ///
/// Until GTK 4.10, `GtkCenterBox` used the `GTK_ACCESSIBLE_ROLE_GROUP` role. /// Until GTK 4.10, `GtkCenterBox` used the [enum@Gtk.AccessibleRole.group] role.
/// ///
/// Starting from GTK 4.12, `GtkCenterBox` uses the `GTK_ACCESSIBLE_ROLE_GENERIC` role. /// Starting from GTK 4.12, `GtkCenterBox` uses the [enum@Gtk.AccessibleRole.generic]
/// role.
public struct CenterBox: AdwaitaWidget { public struct CenterBox: AdwaitaWidget {
/// Additional update functions for type extensions. /// Additional update functions for type extensions.
@ -59,7 +60,7 @@ public struct CenterBox: AdwaitaWidget {
/// ///
/// In vertical orientation, the end position is at the bottom. /// In vertical orientation, the end position is at the bottom.
/// In horizontal orientation, the end position is at the trailing /// In horizontal orientation, the end position is at the trailing
/// edge wrt. to the text direction. /// edge with respect to the text direction.
var endWidget: (() -> Body)? var endWidget: (() -> Body)?
/// Whether to shrink the center widget after other children. /// Whether to shrink the center widget after other children.
/// ///
@ -67,14 +68,14 @@ public struct CenterBox: AdwaitaWidget {
/// natural widths, the start and end widgets start shrinking and the /// natural widths, the start and end widgets start shrinking and the
/// center child keeps natural width until they reach minimum width. /// center child keeps natural width until they reach minimum width.
/// ///
/// If set to `FALSE`, start and end widgets keep natural width and the /// If false, start and end widgets keep natural width and the
/// center widget starts shrinking instead. /// center widget starts shrinking instead.
var shrinkCenterLast: Bool? var shrinkCenterLast: Bool?
/// The widget that is placed at the start position. /// The widget that is placed at the start position.
/// ///
/// In vertical orientation, the start position is at the top. /// In vertical orientation, the start position is at the top.
/// In horizontal orientation, the start position is at the leading /// In horizontal orientation, the start position is at the leading
/// edge wrt. to the text direction. /// edge with respect to the text direction.
var startWidget: (() -> Body)? var startWidget: (() -> Body)?
/// Initialize `CenterBox`. /// Initialize `CenterBox`.
@ -161,7 +162,7 @@ public struct CenterBox: AdwaitaWidget {
/// ///
/// In vertical orientation, the end position is at the bottom. /// In vertical orientation, the end position is at the bottom.
/// In horizontal orientation, the end position is at the trailing /// In horizontal orientation, the end position is at the trailing
/// edge wrt. to the text direction. /// edge with respect to the text direction.
public func endWidget(@ViewBuilder _ endWidget: @escaping (() -> Body)) -> Self { public func endWidget(@ViewBuilder _ endWidget: @escaping (() -> Body)) -> Self {
var newSelf = self var newSelf = self
newSelf.endWidget = endWidget newSelf.endWidget = endWidget
@ -174,7 +175,7 @@ public struct CenterBox: AdwaitaWidget {
/// natural widths, the start and end widgets start shrinking and the /// natural widths, the start and end widgets start shrinking and the
/// center child keeps natural width until they reach minimum width. /// center child keeps natural width until they reach minimum width.
/// ///
/// If set to `FALSE`, start and end widgets keep natural width and the /// If false, start and end widgets keep natural width and the
/// center widget starts shrinking instead. /// center widget starts shrinking instead.
public func shrinkCenterLast(_ shrinkCenterLast: Bool? = true) -> Self { public func shrinkCenterLast(_ shrinkCenterLast: Bool? = true) -> Self {
var newSelf = self var newSelf = self
@ -186,7 +187,7 @@ public struct CenterBox: AdwaitaWidget {
/// ///
/// In vertical orientation, the start position is at the top. /// In vertical orientation, the start position is at the top.
/// In horizontal orientation, the start position is at the leading /// In horizontal orientation, the start position is at the leading
/// edge wrt. to the text direction. /// edge with respect to the text direction.
public func startWidget(@ViewBuilder _ startWidget: @escaping (() -> Body)) -> Self { public func startWidget(@ViewBuilder _ startWidget: @escaping (() -> Body)) -> Self {
var newSelf = self var newSelf = self
newSelf.startWidget = startWidget newSelf.startWidget = startWidget

View File

@ -2,15 +2,15 @@
// CheckButton.swift // CheckButton.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 31.10.24. // Created by auto-generation on 09.04.25.
// //
import CAdw import CAdw
import LevenshteinTransformations import LevenshteinTransformations
/// A `GtkCheckButton` places a label next to an indicator. /// Places a label next to an indicator.
/// ///
/// ![Example GtkCheckButtons](check-button.png) /// <picture><source srcset="check-button-dark.png" media="(prefers-color-scheme: dark)"><img alt="Example GtkCheckButtons" src="check-button.png"></picture>
/// ///
/// A `GtkCheckButton` is created by calling either [ctor@Gtk.CheckButton.new] /// A `GtkCheckButton` is created by calling either [ctor@Gtk.CheckButton.new]
/// or [ctor@Gtk.CheckButton.new_with_label]. /// or [ctor@Gtk.CheckButton.new_with_label].
@ -39,7 +39,7 @@ import LevenshteinTransformations
/// Grouped check buttons use a different indicator, and are commonly referred /// Grouped check buttons use a different indicator, and are commonly referred
/// to as *radio buttons*. /// to as *radio buttons*.
/// ///
/// ![Example GtkCheckButtons](radio-button.png) /// <picture><source srcset="radio-button-dark.png" media="(prefers-color-scheme: dark)"><img alt="Example GtkRadioButtons" src="radio-button.png"></picture>
/// ///
/// To add a `GtkCheckButton` to a group, use [method@Gtk.CheckButton.set_group]. /// To add a `GtkCheckButton` to a group, use [method@Gtk.CheckButton.set_group].
/// ///
@ -70,7 +70,7 @@ import LevenshteinTransformations
/// ///
/// # Accessibility /// # Accessibility
/// ///
/// `GtkCheckButton` uses the %GTK_ACCESSIBLE_ROLE_CHECKBOX role. /// `GtkCheckButton` uses the [enum@Gtk.AccessibleRole.checkbox] role.
public struct CheckButton: AdwaitaWidget { public struct CheckButton: AdwaitaWidget {
/// Additional update functions for type extensions. /// Additional update functions for type extensions.

View File

@ -2,7 +2,7 @@
// Clamp.swift // Clamp.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 31.10.24. // Created by auto-generation on 09.04.25.
// //
import CAdw import CAdw

View File

@ -2,7 +2,7 @@
// ComboRow.swift // ComboRow.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 31.10.24. // Created by auto-generation on 09.04.25.
// //
import CAdw import CAdw

View File

@ -2,7 +2,7 @@
// EntryRow.swift // EntryRow.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 31.10.24. // Created by auto-generation on 09.04.25.
// //
import CAdw import CAdw

View File

@ -2,7 +2,7 @@
// ExpanderRow.swift // ExpanderRow.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 31.10.24. // Created by auto-generation on 09.04.25.
// //
import CAdw import CAdw

View File

@ -2,13 +2,13 @@
// Fixed.swift // Fixed.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 31.10.24. // Created by auto-generation on 09.04.25.
// //
import CAdw import CAdw
import LevenshteinTransformations import LevenshteinTransformations
/// `GtkFixed` places its child widgets at fixed positions and with fixed sizes. /// Places its child widgets at fixed positions and with fixed sizes.
/// ///
/// `GtkFixed` performs no automatic layout management. /// `GtkFixed` performs no automatic layout management.
/// ///

View File

@ -2,13 +2,15 @@
// FlowBox.swift // FlowBox.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 31.10.24. // Created by auto-generation on 09.04.25.
// //
import CAdw import CAdw
import LevenshteinTransformations import LevenshteinTransformations
/// A `GtkFlowBox` puts child widgets in reflowing grid. /// Puts child widgets in a reflowing grid.
///
/// <picture><source srcset="flow-box-dark.png" media="(prefers-color-scheme: dark)"><img alt="An example GtkFlowBox" src="flow-box.png"></picture>
/// ///
/// For instance, with the horizontal orientation, the widgets will be /// For instance, with the horizontal orientation, the widgets will be
/// arranged from left to right, starting a new row under the previous /// arranged from left to right, starting a new row under the previous
@ -59,8 +61,8 @@ import LevenshteinTransformations
/// ///
/// # Accessibility /// # Accessibility
/// ///
/// `GtkFlowBox` uses the %GTK_ACCESSIBLE_ROLE_GRID role, and `GtkFlowBoxChild` /// `GtkFlowBox` uses the [enum@Gtk.AccessibleRole.grid] role, and `GtkFlowBoxChild`
/// uses the %GTK_ACCESSIBLE_ROLE_GRID_CELL role. /// uses the [enum@Gtk.AccessibleRole.grid_cell] role.
public struct FlowBox<Element>: AdwaitaWidget where Element: Identifiable { public struct FlowBox<Element>: AdwaitaWidget where Element: Identifiable {
/// Additional update functions for type extensions. /// Additional update functions for type extensions.

View File

@ -2,7 +2,7 @@
// HeaderBar.swift // HeaderBar.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 31.10.24. // Created by auto-generation on 09.04.25.
// //
import CAdw import CAdw
@ -86,7 +86,7 @@ import LevenshteinTransformations
/// `AdwHeaderBar`'s CSS node is called `headerbar`. It contains a `windowhandle` /// `AdwHeaderBar`'s CSS node is called `headerbar`. It contains a `windowhandle`
/// subnode, which contains a `box` subnode, which contains three `widget` /// subnode, which contains a `box` subnode, which contains three `widget`
/// subnodes at the start, center and end of the header bar. The start and end /// subnodes at the start, center and end of the header bar. The start and end
/// subnotes contain a `box` subnode with the `.start` and `.end` style classes /// subnodes contain a `box` subnode with the `.start` and `.end` style classes
/// respectively, and the center node contains a node that represents the title. /// respectively, and the center node contains a node that represents the title.
/// ///
/// Each of the boxes contains a `windowcontrols` subnode, see /// Each of the boxes contains a `windowcontrols` subnode, see

View File

@ -2,18 +2,17 @@
// Label.swift // Label.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 31.10.24. // Created by auto-generation on 09.04.25.
// //
import CAdw import CAdw
import LevenshteinTransformations import LevenshteinTransformations
/// The `GtkLabel` widget displays a small amount of text. /// Displays a small amount of text.
/// ///
/// As the name implies, most labels are used to label another widget /// Most labels are used to label another widget (such as an [class@Entry]).
/// such as a [class@Button].
/// ///
/// ![An example GtkLabel](label.png) /// <picture><source srcset="label-dark.png" media="(prefers-color-scheme: dark)"><img alt="An example GtkLabel" src="label.png"></picture>
/// ///
/// ## Shortcuts and Gestures /// ## Shortcuts and Gestures
/// ///
@ -92,7 +91,7 @@ import LevenshteinTransformations
/// ///
/// ## Accessibility /// ## Accessibility
/// ///
/// `GtkLabel` uses the %GTK_ACCESSIBLE_ROLE_LABEL role. /// `GtkLabel` uses the [enum@Gtk.AccessibleRole.label] role.
/// ///
/// ## Mnemonics /// ## Mnemonics
/// ///
@ -137,9 +136,8 @@ import LevenshteinTransformations
/// ///
/// ## Markup (styled text) /// ## Markup (styled text)
/// ///
/// To make it easy to format text in a label (changing colors, /// To make it easy to format text in a label (changing colors, fonts, etc.),
/// fonts, etc.), label text can be provided in a simple /// label text can be provided in a simple markup format:
/// markup format:
/// ///
/// Heres how to create a label with a small font: /// Heres how to create a label with a small font:
/// ```c /// ```c
@ -150,7 +148,7 @@ import LevenshteinTransformations
/// (See the Pango manual for complete documentation] of available /// (See the Pango manual for complete documentation] of available
/// tags, [func@Pango.parse_markup]) /// tags, [func@Pango.parse_markup])
/// ///
/// The markup passed to [method@Gtk.Label.set_markup] must be valid; for example, /// The markup passed to [method@Gtk.Label.set_markup] must be valid XML; for example,
/// literal `<`, `>` and `&` characters must be escaped as `&lt;`, `&gt;`, and `&amp;`. /// literal `<`, `>` and `&` characters must be escaped as `&lt;`, `&gt;`, and `&amp;`.
/// If you pass text obtained from the user, file, or a network to /// If you pass text obtained from the user, file, or a network to
/// [method@Gtk.Label.set_markup], youll want to escape it with /// [method@Gtk.Label.set_markup], youll want to escape it with
@ -161,16 +159,16 @@ import LevenshteinTransformations
/// attributes in some cases. Be careful though; [struct@Pango.AttrList] tends /// attributes in some cases. Be careful though; [struct@Pango.AttrList] tends
/// to cause internationalization problems, unless youre applying attributes /// to cause internationalization problems, unless youre applying attributes
/// to the entire string (i.e. unless you set the range of each attribute /// to the entire string (i.e. unless you set the range of each attribute
/// to [0, %G_MAXINT)). The reason is that specifying the start_index and /// to [0, `G_MAXINT`)). The reason is that specifying the `start_index` and
/// end_index for a [struct@Pango.Attribute] requires knowledge of the exact /// `end_index` for a [struct@Pango.Attribute] requires knowledge of the exact
/// string being displayed, so translations will cause problems. /// string being displayed, so translations will cause problems.
/// ///
/// ## Selectable labels /// ## Selectable labels
/// ///
/// Labels can be made selectable with [method@Gtk.Label.set_selectable]. /// Labels can be made selectable with [method@Gtk.Label.set_selectable].
/// Selectable labels allow the user to copy the label contents to /// Selectable labels allow the user to copy the label contents to the
/// the clipboard. Only labels that contain useful-to-copy informationsuch /// clipboard. Only labels that contain useful-to-copy information such
/// as error messagesshould be made selectable. /// as error messages should be made selectable.
/// ///
/// ## Text layout /// ## Text layout
/// ///
@ -198,11 +196,11 @@ import LevenshteinTransformations
/// ## Links /// ## Links
/// ///
/// GTK supports markup for clickable hyperlinks in addition to regular Pango /// GTK supports markup for clickable hyperlinks in addition to regular Pango
/// markup. The markup for links is borrowed from HTML, using the `<a>` with /// markup. The markup for links is borrowed from HTML, using the `<a>` tag
/// href, title and class attributes. GTK renders links similar to the /// with href, title and class attributes. GTK renders links similar to
/// way they appear in web browsers, with colored, underlined text. The title /// the way they appear in web browsers, with colored, underlined text. The
/// attribute is displayed as a tooltip on the link. The class attribute is /// title attribute is displayed as a tooltip on the link. The class
/// used as style class on the CSS node for the link. /// attribute is used as style class on the CSS node for the link.
/// ///
/// An example of inline links looks like this: /// An example of inline links looks like this:
/// ///
@ -233,27 +231,37 @@ public struct Label: AdwaitaWidget {
/// ///
/// If the string contains Pango markup (see [func@Pango.parse_markup]), /// If the string contains Pango markup (see [func@Pango.parse_markup]),
/// you will have to set the [property@Gtk.Label:use-markup] property to /// you will have to set the [property@Gtk.Label:use-markup] property to
/// %TRUE in order for the label to display the markup attributes. See also /// true in order for the label to display the markup attributes. See also
/// [method@Gtk.Label.set_markup] for a convenience function that sets both /// [method@Gtk.Label.set_markup] for a convenience function that sets both
/// this property and the [property@Gtk.Label:use-markup] property at the /// this property and the [property@Gtk.Label:use-markup] property at the
/// same time. /// same time.
/// ///
/// If the string contains underlines acting as mnemonics, you will have to /// If the string contains underlines acting as mnemonics, you will have to
/// set the [property@Gtk.Label:use-underline] property to %TRUE in order /// set the [property@Gtk.Label:use-underline] property to true in order
/// for the label to display them. /// for the label to display them.
var label: String var label: String
/// The number of lines to which an ellipsized, wrapping label /// The number of lines to which an ellipsized, wrapping label
/// should be limited. /// should display before it gets ellipsized. This both prevents the label
/// from ellipsizing before this many lines are displayed, and limits the
/// height request of the label to this many lines.
///
/// ::: warning
/// Setting this property has unintuitive and unfortunate consequences
/// for the minimum _width_ of the label. Specifically, if the height
/// of the label is such that it fits a smaller number of lines than
/// the value of this property, the label can not be ellipsized at all,
/// which means it must be wide enough to fit all the text fully.
/// ///
/// This property has no effect if the label is not wrapping or ellipsized. /// This property has no effect if the label is not wrapping or ellipsized.
///
/// Set this property to -1 if you don't want to limit the number of lines. /// Set this property to -1 if you don't want to limit the number of lines.
var lines: Int? var lines: Int?
/// The desired maximum width of the label, in characters. /// The desired maximum width of the label, in characters.
/// ///
/// If this property is set to -1, the width will be calculated automatically. /// If this property is set to -1, the width will be calculated automatically.
/// ///
/// See the section on [text layout](class.Label.html#text-layout) for details of how /// See the section on [text layout](class.Label.html#text-layout) for details
/// [property@Gtk.Label:width-chars] and [property@Gtk.Label:max-width-chars] /// of how [property@Gtk.Label:width-chars] and [property@Gtk.Label:max-width-chars]
/// determine the width of ellipsized and wrapped labels. /// determine the width of ellipsized and wrapped labels.
var maxWidthChars: Int? var maxWidthChars: Int?
/// The mnemonic accelerator key for the label. /// The mnemonic accelerator key for the label.
@ -269,22 +277,22 @@ public struct Label: AdwaitaWidget {
/// can be an advantage in situations where resizing the label because /// can be an advantage in situations where resizing the label because
/// of text changes would be distracting, e.g. in a statusbar. /// of text changes would be distracting, e.g. in a statusbar.
var singleLineMode: Bool? var singleLineMode: Bool?
/// %TRUE if the text of the label includes Pango markup. /// True if the text of the label includes Pango markup.
/// ///
/// See [func@Pango.parse_markup]. /// See [func@Pango.parse_markup].
var useMarkup: Bool? var useMarkup: Bool?
/// %TRUE if the text of the label indicates a mnemonic with an _ /// True if the text of the label indicates a mnemonic with an `_`
/// before the mnemonic character. /// before the mnemonic character.
var useUnderline: Bool? var useUnderline: Bool?
/// The desired width of the label, in characters. /// The desired width of the label, in characters.
/// ///
/// If this property is set to -1, the width will be calculated automatically. /// If this property is set to -1, the width will be calculated automatically.
/// ///
/// See the section on [text layout](class.Label.html#text-layout) for details of how /// See the section on [text layout](class.Label.html#text-layout) for details
/// [property@Gtk.Label:width-chars] and [property@Gtk.Label:max-width-chars] /// of how [property@Gtk.Label:width-chars] and [property@Gtk.Label:max-width-chars]
/// determine the width of ellipsized and wrapped labels. /// determine the width of ellipsized and wrapped labels.
var widthChars: Int? var widthChars: Int?
/// %TRUE if the label text will wrap if it gets too wide. /// True if the label text will wrap if it gets too wide.
var wrap: Bool? var wrap: Bool?
/// The horizontal alignment of the label text inside its size allocation. /// The horizontal alignment of the label text inside its size allocation.
/// ///
@ -298,7 +306,7 @@ public struct Label: AdwaitaWidget {
var yalign: Float? var yalign: Float?
/// Gets emitted to copy the selection to the clipboard. /// Gets emitted to copy the selection to the clipboard.
/// ///
/// The ::copy-clipboard signal is a [keybinding signal](class.SignalAction.html). /// The `::copy-clipboard` signal is a [keybinding signal](class.SignalAction.html).
/// ///
/// The default binding for this signal is <kbd>Ctrl</kbd>+<kbd>c</kbd>. /// The default binding for this signal is <kbd>Ctrl</kbd>+<kbd>c</kbd>.
var copyClipboard: (() -> Void)? var copyClipboard: (() -> Void)?
@ -402,13 +410,13 @@ public struct Label: AdwaitaWidget {
/// ///
/// If the string contains Pango markup (see [func@Pango.parse_markup]), /// If the string contains Pango markup (see [func@Pango.parse_markup]),
/// you will have to set the [property@Gtk.Label:use-markup] property to /// you will have to set the [property@Gtk.Label:use-markup] property to
/// %TRUE in order for the label to display the markup attributes. See also /// true in order for the label to display the markup attributes. See also
/// [method@Gtk.Label.set_markup] for a convenience function that sets both /// [method@Gtk.Label.set_markup] for a convenience function that sets both
/// this property and the [property@Gtk.Label:use-markup] property at the /// this property and the [property@Gtk.Label:use-markup] property at the
/// same time. /// same time.
/// ///
/// If the string contains underlines acting as mnemonics, you will have to /// If the string contains underlines acting as mnemonics, you will have to
/// set the [property@Gtk.Label:use-underline] property to %TRUE in order /// set the [property@Gtk.Label:use-underline] property to true in order
/// for the label to display them. /// for the label to display them.
public func label(_ label: String) -> Self { public func label(_ label: String) -> Self {
var newSelf = self var newSelf = self
@ -417,9 +425,19 @@ public struct Label: AdwaitaWidget {
} }
/// The number of lines to which an ellipsized, wrapping label /// The number of lines to which an ellipsized, wrapping label
/// should be limited. /// should display before it gets ellipsized. This both prevents the label
/// from ellipsizing before this many lines are displayed, and limits the
/// height request of the label to this many lines.
///
/// ::: warning
/// Setting this property has unintuitive and unfortunate consequences
/// for the minimum _width_ of the label. Specifically, if the height
/// of the label is such that it fits a smaller number of lines than
/// the value of this property, the label can not be ellipsized at all,
/// which means it must be wide enough to fit all the text fully.
/// ///
/// This property has no effect if the label is not wrapping or ellipsized. /// This property has no effect if the label is not wrapping or ellipsized.
///
/// Set this property to -1 if you don't want to limit the number of lines. /// Set this property to -1 if you don't want to limit the number of lines.
public func lines(_ lines: Int?) -> Self { public func lines(_ lines: Int?) -> Self {
var newSelf = self var newSelf = self
@ -431,8 +449,8 @@ public struct Label: AdwaitaWidget {
/// ///
/// If this property is set to -1, the width will be calculated automatically. /// If this property is set to -1, the width will be calculated automatically.
/// ///
/// See the section on [text layout](class.Label.html#text-layout) for details of how /// See the section on [text layout](class.Label.html#text-layout) for details
/// [property@Gtk.Label:width-chars] and [property@Gtk.Label:max-width-chars] /// of how [property@Gtk.Label:width-chars] and [property@Gtk.Label:max-width-chars]
/// determine the width of ellipsized and wrapped labels. /// determine the width of ellipsized and wrapped labels.
public func maxWidthChars(_ maxWidthChars: Int?) -> Self { public func maxWidthChars(_ maxWidthChars: Int?) -> Self {
var newSelf = self var newSelf = self
@ -473,7 +491,7 @@ public struct Label: AdwaitaWidget {
return newSelf return newSelf
} }
/// %TRUE if the text of the label includes Pango markup. /// True if the text of the label includes Pango markup.
/// ///
/// See [func@Pango.parse_markup]. /// See [func@Pango.parse_markup].
public func useMarkup(_ useMarkup: Bool? = true) -> Self { public func useMarkup(_ useMarkup: Bool? = true) -> Self {
@ -482,7 +500,7 @@ public struct Label: AdwaitaWidget {
return newSelf return newSelf
} }
/// %TRUE if the text of the label indicates a mnemonic with an _ /// True if the text of the label indicates a mnemonic with an `_`
/// before the mnemonic character. /// before the mnemonic character.
public func useUnderline(_ useUnderline: Bool? = true) -> Self { public func useUnderline(_ useUnderline: Bool? = true) -> Self {
var newSelf = self var newSelf = self
@ -494,8 +512,8 @@ public struct Label: AdwaitaWidget {
/// ///
/// If this property is set to -1, the width will be calculated automatically. /// If this property is set to -1, the width will be calculated automatically.
/// ///
/// See the section on [text layout](class.Label.html#text-layout) for details of how /// See the section on [text layout](class.Label.html#text-layout) for details
/// [property@Gtk.Label:width-chars] and [property@Gtk.Label:max-width-chars] /// of how [property@Gtk.Label:width-chars] and [property@Gtk.Label:max-width-chars]
/// determine the width of ellipsized and wrapped labels. /// determine the width of ellipsized and wrapped labels.
public func widthChars(_ widthChars: Int?) -> Self { public func widthChars(_ widthChars: Int?) -> Self {
var newSelf = self var newSelf = self
@ -503,7 +521,7 @@ public struct Label: AdwaitaWidget {
return newSelf return newSelf
} }
/// %TRUE if the label text will wrap if it gets too wide. /// True if the label text will wrap if it gets too wide.
public func wrap(_ wrap: Bool? = true) -> Self { public func wrap(_ wrap: Bool? = true) -> Self {
var newSelf = self var newSelf = self
newSelf.wrap = wrap newSelf.wrap = wrap
@ -532,7 +550,7 @@ public struct Label: AdwaitaWidget {
/// Gets emitted to copy the selection to the clipboard. /// Gets emitted to copy the selection to the clipboard.
/// ///
/// The ::copy-clipboard signal is a [keybinding signal](class.SignalAction.html). /// The `::copy-clipboard` signal is a [keybinding signal](class.SignalAction.html).
/// ///
/// The default binding for this signal is <kbd>Ctrl</kbd>+<kbd>c</kbd>. /// The default binding for this signal is <kbd>Ctrl</kbd>+<kbd>c</kbd>.
public func copyClipboard(_ copyClipboard: @escaping () -> Void) -> Self { public func copyClipboard(_ copyClipboard: @escaping () -> Void) -> Self {

View File

@ -2,18 +2,18 @@
// LevelBar.swift // LevelBar.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 31.10.24. // Created by auto-generation on 09.04.25.
// //
import CAdw import CAdw
import LevenshteinTransformations import LevenshteinTransformations
/// `GtkLevelBar` is a widget that can be used as a level indicator. /// Shows a level indicator.
/// ///
/// Typical use cases are displaying the strength of a password, or /// Typical use cases are displaying the strength of a password, or
/// showing the charge level of a battery. /// showing the charge level of a battery.
/// ///
/// ![An example GtkLevelBar](levelbar.png) /// <picture><source srcset="levelbar-dark.png" media="(prefers-color-scheme: dark)"><img alt="An example GtkLevelBar" src="levelbar.png"></picture>
/// ///
/// Use [method@Gtk.LevelBar.set_value] to set the current value, and /// Use [method@Gtk.LevelBar.set_value] to set the current value, and
/// [method@Gtk.LevelBar.add_offset_value] to set the value offsets at which /// [method@Gtk.LevelBar.add_offset_value] to set the value offsets at which
@ -104,7 +104,7 @@ import LevenshteinTransformations
/// ///
/// # Accessibility /// # Accessibility
/// ///
/// `GtkLevelBar` uses the %GTK_ACCESSIBLE_ROLE_METER role. /// `GtkLevelBar` uses the [enum@Gtk.AccessibleRole.meter] role.
public struct LevelBar: AdwaitaWidget { public struct LevelBar: AdwaitaWidget {
/// Additional update functions for type extensions. /// Additional update functions for type extensions.

View File

@ -2,15 +2,15 @@
// LinkButton.swift // LinkButton.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 31.10.24. // Created by auto-generation on 09.04.25.
// //
import CAdw import CAdw
import LevenshteinTransformations import LevenshteinTransformations
/// A `GtkLinkButton` is a button with a hyperlink. /// A button with a hyperlink.
/// ///
/// ![An example GtkLinkButton](link-button.png) /// <picture><source srcset="link-button-dark.png" media="(prefers-color-scheme: dark)"><img alt="An example GtkLinkButton" src="link-button.png"></picture>
/// ///
/// It is useful to show quick links to resources. /// It is useful to show quick links to resources.
/// ///
@ -46,7 +46,7 @@ import LevenshteinTransformations
/// ///
/// # Accessibility /// # Accessibility
/// ///
/// `GtkLinkButton` uses the %GTK_ACCESSIBLE_ROLE_LINK role. /// `GtkLinkButton` uses the [enum@Gtk.AccessibleRole.link] role.
public struct LinkButton: AdwaitaWidget { public struct LinkButton: AdwaitaWidget {
/// Additional update functions for type extensions. /// Additional update functions for type extensions.

View File

@ -2,13 +2,15 @@
// ListBox.swift // ListBox.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 31.10.24. // Created by auto-generation on 09.04.25.
// //
import CAdw import CAdw
import LevenshteinTransformations import LevenshteinTransformations
/// `GtkListBox` is a vertical list. /// Shows a vertical list.
///
/// <picture><source srcset="list-box-dark.png" media="(prefers-color-scheme: dark)"><img alt="An example GtkListBox" src="list-box.png"></picture>
/// ///
/// A `GtkListBox` only contains `GtkListBoxRow` children. These rows can /// A `GtkListBox` only contains `GtkListBoxRow` children. These rows can
/// by dynamically sorted and filtered, and headers can be added dynamically /// by dynamically sorted and filtered, and headers can be added dynamically
@ -49,10 +51,10 @@ import LevenshteinTransformations
/// ///
/// # CSS nodes /// # CSS nodes
/// ///
/// |[<!-- language="plain" --> /// ```
/// list[.separators][.rich-list][.navigation-sidebar][.boxed-list] /// list[.separators][.rich-list][.navigation-sidebar][.boxed-list]
/// row[.activatable] /// row[.activatable]
/// ]| /// ```
/// ///
/// `GtkListBox` uses a single CSS node named list. It may carry the .separators /// `GtkListBox` uses a single CSS node named list. It may carry the .separators
/// style class, when the [property@Gtk.ListBox:show-separators] property is set. /// style class, when the [property@Gtk.ListBox:show-separators] property is set.
@ -68,8 +70,8 @@ import LevenshteinTransformations
/// ///
/// # Accessibility /// # Accessibility
/// ///
/// `GtkListBox` uses the %GTK_ACCESSIBLE_ROLE_LIST role and `GtkListBoxRow` uses /// `GtkListBox` uses the [enum@Gtk.AccessibleRole.list] role and `GtkListBoxRow` uses
/// the %GTK_ACCESSIBLE_ROLE_LIST_ITEM role. /// the [enum@Gtk.AccessibleRole.list_item] role.
public struct ListBox<Element>: AdwaitaWidget where Element: Identifiable { public struct ListBox<Element>: AdwaitaWidget where Element: Identifiable {
/// Additional update functions for type extensions. /// Additional update functions for type extensions.

View File

@ -2,15 +2,15 @@
// Menu.swift // Menu.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 31.10.24. // Created by auto-generation on 09.04.25.
// //
import CAdw import CAdw
import LevenshteinTransformations import LevenshteinTransformations
/// The `GtkMenuButton` widget is used to display a popup when clicked. /// Displays a popup when clicked.
/// ///
/// ![An example GtkMenuButton](menu-button.png) /// <picture><source srcset="menu-button-dark.png" media="(prefers-color-scheme: dark)"><img alt="An example GtkMenuButton" src="menu-button.png"></picture>
/// ///
/// This popup can be provided either as a `GtkPopover` or as an abstract /// This popup can be provided either as a `GtkPopover` or as an abstract
/// `GMenuModel`. /// `GMenuModel`.
@ -68,7 +68,7 @@ import LevenshteinTransformations
/// ///
/// # Accessibility /// # Accessibility
/// ///
/// `GtkMenuButton` uses the %GTK_ACCESSIBLE_ROLE_BUTTON role. /// `GtkMenuButton` uses the [enum@Gtk.AccessibleRole.button] role.
public struct Menu: AdwaitaWidget { public struct Menu: AdwaitaWidget {
/// Additional update functions for type extensions. /// Additional update functions for type extensions.

View File

@ -2,7 +2,7 @@
// NavigationView.swift // NavigationView.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 31.10.24. // Created by auto-generation on 09.04.25.
// //
import CAdw import CAdw
@ -129,11 +129,29 @@ public struct NavigationView: AdwaitaWidget {
/// ///
/// Gesture-based transitions are always animated. /// Gesture-based transitions are always animated.
var animateTransitions: Bool? var animateTransitions: Bool?
/// Whether the view is horizontally homogeneous.
///
/// If the view is horizontally homogeneous, it allocates the same width for
/// all pages.
///
/// If it's not, the page may change width when a different page becomes
/// visible.
var hhomogeneous: Bool?
/// Whether pressing Escape pops the current page. /// Whether pressing Escape pops the current page.
/// ///
/// Applications using `AdwNavigationView` to implement a browser may want to /// Applications using `AdwNavigationView` to implement a browser may want to
/// disable it. /// disable it.
var popOnEscape: Bool? var popOnEscape: Bool?
/// Whether the view is vertically homogeneous.
///
/// If the view is vertically homogeneous, it allocates the same height for
/// all pages.
///
/// If it's not, the view may change height when a different page becomes
/// visible.
var vhomogeneous: Bool?
/// The tag of the currently visible page.
var visiblePageTag: String?
/// Emitted when a push shortcut or a gesture is triggered. /// Emitted when a push shortcut or a gesture is triggered.
/// ///
/// To support the push shortcuts and gestures, the application is expected to /// To support the push shortcuts and gestures, the application is expected to
@ -214,9 +232,15 @@ public struct NavigationView: AdwaitaWidget {
if let animateTransitions, updateProperties, (storage.previousState as? Self)?.animateTransitions != animateTransitions { if let animateTransitions, updateProperties, (storage.previousState as? Self)?.animateTransitions != animateTransitions {
adw_navigation_view_set_animate_transitions(widget, animateTransitions.cBool) adw_navigation_view_set_animate_transitions(widget, animateTransitions.cBool)
} }
if let hhomogeneous, updateProperties, (storage.previousState as? Self)?.hhomogeneous != hhomogeneous {
adw_navigation_view_set_hhomogeneous(widget, hhomogeneous.cBool)
}
if let popOnEscape, updateProperties, (storage.previousState as? Self)?.popOnEscape != popOnEscape { if let popOnEscape, updateProperties, (storage.previousState as? Self)?.popOnEscape != popOnEscape {
adw_navigation_view_set_pop_on_escape(widget, popOnEscape.cBool) adw_navigation_view_set_pop_on_escape(widget, popOnEscape.cBool)
} }
if let vhomogeneous, updateProperties, (storage.previousState as? Self)?.vhomogeneous != vhomogeneous {
adw_navigation_view_set_vhomogeneous(widget, vhomogeneous.cBool)
}
@ -238,6 +262,19 @@ public struct NavigationView: AdwaitaWidget {
return newSelf return newSelf
} }
/// Whether the view is horizontally homogeneous.
///
/// If the view is horizontally homogeneous, it allocates the same width for
/// all pages.
///
/// If it's not, the page may change width when a different page becomes
/// visible.
public func hhomogeneous(_ hhomogeneous: Bool? = true) -> Self {
var newSelf = self
newSelf.hhomogeneous = hhomogeneous
return newSelf
}
/// Whether pressing Escape pops the current page. /// Whether pressing Escape pops the current page.
/// ///
/// Applications using `AdwNavigationView` to implement a browser may want to /// Applications using `AdwNavigationView` to implement a browser may want to
@ -248,6 +285,26 @@ public struct NavigationView: AdwaitaWidget {
return newSelf return newSelf
} }
/// Whether the view is vertically homogeneous.
///
/// If the view is vertically homogeneous, it allocates the same height for
/// all pages.
///
/// If it's not, the view may change height when a different page becomes
/// visible.
public func vhomogeneous(_ vhomogeneous: Bool? = true) -> Self {
var newSelf = self
newSelf.vhomogeneous = vhomogeneous
return newSelf
}
/// The tag of the currently visible page.
public func visiblePageTag(_ visiblePageTag: String?) -> Self {
var newSelf = self
newSelf.visiblePageTag = visiblePageTag
return newSelf
}
/// Emitted when a push shortcut or a gesture is triggered. /// Emitted when a push shortcut or a gesture is triggered.
/// ///
/// To support the push shortcuts and gestures, the application is expected to /// To support the push shortcuts and gestures, the application is expected to

View File

@ -2,16 +2,15 @@
// Overlay.swift // Overlay.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 31.10.24. // Created by auto-generation on 09.04.25.
// //
import CAdw import CAdw
import LevenshteinTransformations import LevenshteinTransformations
/// `GtkOverlay` is a container which contains a single main child, on top /// Places overlay widgets on top of a single main child.
/// of which it can place overlay widgets.
/// ///
/// ![An example GtkOverlay](overlay.png) /// <picture><source srcset="overlay-dark.png" media="(prefers-color-scheme: dark)"><img alt="An example GtkOverlay" src="overlay.png"></picture>
/// ///
/// The position of each overlay widget is determined by its /// The position of each overlay widget is determined by its
/// [property@Gtk.Widget:halign] and [property@Gtk.Widget:valign] /// [property@Gtk.Widget:halign] and [property@Gtk.Widget:valign]

View File

@ -2,7 +2,7 @@
// OverlaySplitView.swift // OverlaySplitView.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 31.10.24. // Created by auto-generation on 09.04.25.
// //
import CAdw import CAdw

View File

@ -2,7 +2,7 @@
// PasswordEntryRow.swift // PasswordEntryRow.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 31.10.24. // Created by auto-generation on 09.04.25.
// //
import CAdw import CAdw

View File

@ -2,15 +2,15 @@
// Picture.swift // Picture.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 31.10.24. // Created by auto-generation on 09.04.25.
// //
import CAdw import CAdw
import LevenshteinTransformations import LevenshteinTransformations
/// The `GtkPicture` widget displays a `GdkPaintable`. /// Displays a `GdkPaintable`.
/// ///
/// ![An example GtkPicture](picture.png) /// picture><source srcset="picture-dark.png" media="(prefers-color-scheme: dark)"><img alt="An example GtkPicture" src="picture.png"></picture>
/// ///
/// Many convenience functions are provided to make pictures simple to use. /// Many convenience functions are provided to make pictures simple to use.
/// For example, if you want to load an image from a file, and then display /// For example, if you want to load an image from a file, and then display
@ -53,7 +53,7 @@ import LevenshteinTransformations
/// ///
/// ## Accessibility /// ## Accessibility
/// ///
/// `GtkPicture` uses the `GTK_ACCESSIBLE_ROLE_IMG` role. /// `GtkPicture` uses the [enum@Gtk.AccessibleRole.img] role.
public struct Picture: AdwaitaWidget { public struct Picture: AdwaitaWidget {
/// Additional update functions for type extensions. /// Additional update functions for type extensions.

View File

@ -2,15 +2,15 @@
// Popover.swift // Popover.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 31.10.24. // Created by auto-generation on 09.04.25.
// //
import CAdw import CAdw
import LevenshteinTransformations import LevenshteinTransformations
/// `GtkPopover` is a bubble-like context popup. /// Presents a bubble-like popup.
/// ///
/// ![An example GtkPopover](popover.png) /// <picture><source srcset="popover-dark.png" media="(prefers-color-scheme: dark)"><img alt="An example GtkPopover" src="popover.png"></picture>
/// ///
/// It is primarily meant to provide context-dependent information /// It is primarily meant to provide context-dependent information
/// or options. Popovers are attached to a parent widget. By default, /// or options. Popovers are attached to a parent widget. By default,

View File

@ -2,7 +2,7 @@
// PreferencesGroup.swift // PreferencesGroup.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 31.10.24. // Created by auto-generation on 09.04.25.
// //
import CAdw import CAdw

View File

@ -2,7 +2,7 @@
// PreferencesPage.swift // PreferencesPage.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 31.10.24. // Created by auto-generation on 09.04.25.
// //
import CAdw import CAdw
@ -63,7 +63,7 @@ public struct PreferencesPage: AdwaitaWidget {
var childStorage: [ViewStorage] = [] var childStorage: [ViewStorage] = []
for view in child() { for view in child() {
childStorage.append(view.storage(data: data, type: type)) childStorage.append(view.storage(data: data, type: type))
adw_preferences_group_add(storage.opaquePointer?.cast(), childStorage.last?.opaquePointer?.cast()) adw_preferences_page_add(storage.opaquePointer?.cast(), childStorage.last?.opaquePointer?.cast())
} }
storage.content["child"] = childStorage storage.content["child"] = childStorage
return storage return storage

View File

@ -2,7 +2,7 @@
// PreferencesRow.swift // PreferencesRow.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 31.10.24. // Created by auto-generation on 09.04.25.
// //
import CAdw import CAdw

View File

@ -2,19 +2,18 @@
// ProgressBar.swift // ProgressBar.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 31.10.24. // Created by auto-generation on 09.04.25.
// //
import CAdw import CAdw
import LevenshteinTransformations import LevenshteinTransformations
/// `GtkProgressBar` is typically used to display the progress of a long /// Displays the progress of a long-running operation.
/// running operation.
/// ///
/// It provides a visual clue that processing is underway. `GtkProgressBar` /// `GtkProgressBar` provides a visual clue that processing is underway.
/// can be used in two different modes: percentage mode and activity mode. /// It can be used in two different modes: percentage mode and activity mode.
/// ///
/// ![An example GtkProgressBar](progressbar.png) /// <picture><source srcset="progressbar-dark.png" media="(prefers-color-scheme: dark)"><img alt="An example GtkProgressBar" src="progressbar.png"></picture>
/// ///
/// When an application can determine how much work needs to take place /// When an application can determine how much work needs to take place
/// (e.g. read a fixed number of bytes from a file) and can monitor its /// (e.g. read a fixed number of bytes from a file) and can monitor its
@ -53,7 +52,7 @@ import LevenshteinTransformations
/// ///
/// # Accessibility /// # Accessibility
/// ///
/// `GtkProgressBar` uses the %GTK_ACCESSIBLE_ROLE_PROGRESS_BAR role. /// `GtkProgressBar` uses the [enum@Gtk.AccessibleRole.progress_bar] role.
public struct ProgressBar: AdwaitaWidget { public struct ProgressBar: AdwaitaWidget {
/// Additional update functions for type extensions. /// Additional update functions for type extensions.

View File

@ -2,13 +2,15 @@
// ScrolledWindow.swift // ScrolledWindow.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 31.10.24. // Created by auto-generation on 09.04.25.
// //
import CAdw import CAdw
import LevenshteinTransformations import LevenshteinTransformations
/// `GtkScrolledWindow` is a container that makes its child scrollable. /// Makes its child scrollable.
///
/// <picture><source srcset="scrolledwindow-dark.png" media="(prefers-color-scheme: dark)"><img alt="An example GtkScrolledWindow" src="scrolledwindow.png"></picture>
/// ///
/// It does so using either internally added scrollbars or externally /// It does so using either internally added scrollbars or externally
/// associated adjustments, and optionally draws a frame around the child. /// associated adjustments, and optionally draws a frame around the child.
@ -79,9 +81,10 @@ import LevenshteinTransformations
/// ///
/// # Accessibility /// # Accessibility
/// ///
/// Until GTK 4.10, `GtkScrolledWindow` used the `GTK_ACCESSIBLE_ROLE_GROUP` role. /// Until GTK 4.10, `GtkScrolledWindow` used the [enum@Gtk.AccessibleRole.group] role.
/// ///
/// Starting from GTK 4.12, `GtkScrolledWindow` uses the `GTK_ACCESSIBLE_ROLE_GENERIC` role. /// Starting from GTK 4.12, `GtkScrolledWindow` uses the [enum@Gtk.AccessibleRole.generic]
/// role.
public struct ScrolledWindow: AdwaitaWidget { public struct ScrolledWindow: AdwaitaWidget {
/// Additional update functions for type extensions. /// Additional update functions for type extensions.

View File

@ -2,15 +2,15 @@
// SearchBar.swift // SearchBar.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 31.10.24. // Created by auto-generation on 09.04.25.
// //
import CAdw import CAdw
import LevenshteinTransformations import LevenshteinTransformations
/// `GtkSearchBar` is a container made to have a search entry. /// Reveals a search entry when search is started.
/// ///
/// ![An example GtkSearchBar](search-bar.png) /// <picture><source srcset="search-bar-dark.png" media="(prefers-color-scheme: dark)"><img alt="An example GtkSearchBar" src="search-bar.png"></picture>
/// ///
/// It can also contain additional widgets, such as drop-down menus, /// It can also contain additional widgets, such as drop-down menus,
/// or buttons. The search bar would appear when a search is started /// or buttons. The search bar would appear when a search is started
@ -57,7 +57,7 @@ import LevenshteinTransformations
/// ///
/// # Accessibility /// # Accessibility
/// ///
/// `GtkSearchBar` uses the %GTK_ACCESSIBLE_ROLE_SEARCH role. /// `GtkSearchBar` uses the [enum@Gtk.AccessibleRole.search] role.
public struct SearchBar: AdwaitaWidget { public struct SearchBar: AdwaitaWidget {
/// Additional update functions for type extensions. /// Additional update functions for type extensions.

View File

@ -2,19 +2,18 @@
// SearchEntry.swift // SearchEntry.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 31.10.24. // Created by auto-generation on 09.04.25.
// //
import CAdw import CAdw
import LevenshteinTransformations import LevenshteinTransformations
/// `GtkSearchEntry` is an entry widget that has been tailored for use /// A single-line text entry widget for use as a search entry.
/// as a search entry.
/// ///
/// The main API for interacting with a `GtkSearchEntry` as entry /// The main API for interacting with a `GtkSearchEntry` as entry
/// is the `GtkEditable` interface. /// is the `GtkEditable` interface.
/// ///
/// ![An example GtkSearchEntry](search-entry.png) /// <picture><source srcset="search-entry-dark.png" media="(prefers-color-scheme: dark)"><img alt="An example GtkSearchEntry" src="search-entry.png"></picture>
/// ///
/// It will show an inactive symbolic find icon when the search /// It will show an inactive symbolic find icon when the search
/// entry is empty, and a symbolic clear icon when there is text. /// entry is empty, and a symbolic clear icon when there is text.
@ -60,7 +59,7 @@ import LevenshteinTransformations
/// ///
/// ## Accessibility /// ## Accessibility
/// ///
/// `GtkSearchEntry` uses the %GTK_ACCESSIBLE_ROLE_SEARCH_BOX role. /// `GtkSearchEntry` uses the [enum@Gtk.AccessibleRole.search_box] role.
public struct SearchEntry: AdwaitaWidget { public struct SearchEntry: AdwaitaWidget {
/// Additional update functions for type extensions. /// Additional update functions for type extensions.

View File

@ -2,15 +2,15 @@
// Separator.swift // Separator.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 31.10.24. // Created by auto-generation on 09.04.25.
// //
import CAdw import CAdw
import LevenshteinTransformations import LevenshteinTransformations
/// `GtkSeparator` is a horizontal or vertical separator widget. /// Draws a horizontal or vertical line to separate other widgets.
/// ///
/// ![An example GtkSeparator](separator.png) /// <picture><source srcset="separator-dark.png" media="(prefers-color-scheme: dark)"><img alt="An example GtkSeparator" src="separator.png"></picture>
/// ///
/// A `GtkSeparator` can be used to group the widgets within a window. /// A `GtkSeparator` can be used to group the widgets within a window.
/// It displays a line with a shadow to make it appear sunken into the /// It displays a line with a shadow to make it appear sunken into the
@ -23,7 +23,7 @@ import LevenshteinTransformations
/// ///
/// # Accessibility /// # Accessibility
/// ///
/// `GtkSeparator` uses the %GTK_ACCESSIBLE_ROLE_SEPARATOR role. /// `GtkSeparator` uses the [enum@Gtk.AccessibleRole.separator] role.
public struct Separator: AdwaitaWidget { public struct Separator: AdwaitaWidget {
/// Additional update functions for type extensions. /// Additional update functions for type extensions.

View File

@ -2,7 +2,7 @@
// SpinRow.swift // SpinRow.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 31.10.24. // Created by auto-generation on 09.04.25.
// //
import CAdw import CAdw

View File

@ -2,7 +2,7 @@
// Spinner.swift // Spinner.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 31.10.24. // Created by auto-generation on 09.04.25.
// //
import CAdw import CAdw

View File

@ -2,7 +2,7 @@
// SplitButton.swift // SplitButton.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 31.10.24. // Created by auto-generation on 09.04.25.
// //
import CAdw import CAdw

View File

@ -2,7 +2,7 @@
// StatusPage.swift // StatusPage.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 31.10.24. // Created by auto-generation on 09.04.25.
// //
import CAdw import CAdw

View File

@ -2,7 +2,7 @@
// SwitchRow.swift // SwitchRow.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 31.10.24. // Created by auto-generation on 09.04.25.
// //
import CAdw import CAdw

View File

@ -2,7 +2,7 @@
// ToastOverlay.swift // ToastOverlay.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 31.10.24. // Created by auto-generation on 09.04.25.
// //
import CAdw import CAdw
@ -16,6 +16,9 @@ import LevenshteinTransformations
/// main child, on top of which it can display a [class@Toast], overlaid. /// main child, on top of which it can display a [class@Toast], overlaid.
/// Toasts can be shown with [method@ToastOverlay.add_toast]. /// Toasts can be shown with [method@ToastOverlay.add_toast].
/// ///
/// Use [method@ToastOverlay.dismiss_all] to dismiss all toasts at once, or
/// [method@Toast.dismiss] to dismiss a single toast.
///
/// See [class@Toast] for details. /// See [class@Toast] for details.
/// ///
/// ## CSS nodes /// ## CSS nodes

View File

@ -2,14 +2,15 @@
// ToggleButton.swift // ToggleButton.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 31.10.24. // Created by auto-generation on 09.04.25.
// //
import CAdw import CAdw
import LevenshteinTransformations import LevenshteinTransformations
/// A `GtkToggleButton` is a button which remains pressed-in when /// Shows a button which remains pressed-in when clicked.
/// clicked. ///
/// <picture><source srcset="toggle-button-dark.png" media="(prefers-color-scheme: dark)"><img alt="Example GtkToggleButtons" src="toggle-button.png"></picture>
/// ///
/// Clicking again will cause the toggle button to return to its normal state. /// Clicking again will cause the toggle button to return to its normal state.
/// ///
@ -22,9 +23,6 @@ import LevenshteinTransformations
/// [method@Gtk.ToggleButton.set_active], and retrieved using /// [method@Gtk.ToggleButton.set_active], and retrieved using
/// [method@Gtk.ToggleButton.get_active]. /// [method@Gtk.ToggleButton.get_active].
/// ///
/// To simply switch the state of a toggle button, use
/// [method@Gtk.ToggleButton.toggled].
///
/// ## Grouping /// ## Grouping
/// ///
/// Toggle buttons can be grouped together, to form mutually exclusive /// Toggle buttons can be grouped together, to form mutually exclusive
@ -40,7 +38,7 @@ import LevenshteinTransformations
/// ///
/// ## Accessibility /// ## Accessibility
/// ///
/// `GtkToggleButton` uses the %GTK_ACCESSIBLE_ROLE_TOGGLE_BUTTON role. /// `GtkToggleButton` uses the [enum@Gtk.AccessibleRole.toggle_button] role.
/// ///
/// ## Creating two `GtkToggleButton` widgets. /// ## Creating two `GtkToggleButton` widgets.
/// ///

View File

@ -2,7 +2,7 @@
// ToolbarView.swift // ToolbarView.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 31.10.24. // Created by auto-generation on 09.04.25.
// //
import CAdw import CAdw

View File

@ -2,7 +2,7 @@
// WindowTitle.swift // WindowTitle.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 31.10.24. // Created by auto-generation on 09.04.25.
// //
import CAdw import CAdw

View File

@ -40,7 +40,12 @@ struct GenerationConfiguration {
/// The Libadwaita widgets. /// The Libadwaita widgets.
var adwWidgets: [WidgetConfiguration] = [ var adwWidgets: [WidgetConfiguration] = [
.init(class: "StatusPage", excludeProperties: ["paintable"]), .init(class: "StatusPage", excludeProperties: ["paintable"]),
.init(class: "Banner", initializer: "adw_banner_new(title)", requiredProperties: ["title"]), .init(
class: "Banner",
initializer: "adw_banner_new(title)",
requiredProperties: ["title"],
excludeProperties: ["button-style"]
),
.init( .init(
class: "Avatar", class: "Avatar",
initializer: "adw_avatar_new(size.cInt, text, showInitials.cBool)", initializer: "adw_avatar_new(size.cInt, text, showInitials.cBool)",
@ -121,7 +126,10 @@ struct GenerationConfiguration {
), ),
.init( .init(
class: "PreferencesPage", class: "PreferencesPage",
staticWidgets: [.init(name: "child", add: "adw_preferences_group_add")], staticWidgets: [
.init(name: "child", add: "adw_preferences_page_add"),
],
excludeProperties: ["banner"],
cast: true cast: true
), ),
.init( .init(
@ -194,7 +202,7 @@ struct GenerationConfiguration {
remove: "gtk_list_box_remove", remove: "gtk_list_box_remove",
getElement: "gtk_list_box_get_row_at_index(widget, index.cInt)?.cast()" getElement: "gtk_list_box_get_row_at_index(widget, index.cInt)?.cast()"
), ),
excludeProperties: ["selection-mode"] excludeProperties: ["selection-mode", "tab-behavior"]
), ),
.init(class: "ProgressBar", excludeProperties: ["ellipsize", "orientation"]), .init(class: "ProgressBar", excludeProperties: ["ellipsize", "orientation"]),
.init( .init(

View File

@ -0,0 +1,53 @@
{
"app-id": "io.github.AparokshaUI.Demo",
"runtime": "org.gnome.Platform",
"runtime-version": "48",
"sdk": "org.gnome.Sdk",
"sdk-extensions": [
"org.freedesktop.Sdk.Extension.swift6"
],
"command": "Demo",
"finish-args": [
"--share=network",
"--share=ipc",
"--socket=fallback-x11",
"--device=dri",
"--socket=wayland"
],
"build-options": {
"append-path": "/usr/lib/sdk/swift6/bin",
"prepend-ld-library-path": "/usr/lib/sdk/swift6/lib"
},
"cleanup": [
"/include",
"/lib/pkgconfig",
"/man",
"/share/doc",
"/share/gtk-doc",
"/share/man",
"/share/pkgconfig",
"/share/vala",
"*.la",
"*.a"
],
"modules": [
{
"name": "Generation",
"builddir": true,
"buildsystem": "simple",
"sources": [
{
"type": "dir",
"path": "."
}
],
"build-commands": [
"swift package clean",
"swift run Generation",
"swift package clean",
"swift build -c debug --static-swift-stdlib",
"install -Dm755 .build/debug/Demo /app/bin/Demo"
]
}
]
}