Move update responsibility to constructor
Some checks are pending
Deploy Docs / publish (push) Waiting to run
SwiftLint / SwiftLint (push) Waiting to run

When constructing views, the top-level constructor should now update
those views directly after the construction process. In adwaita-swift,
this applies only for EitherViews (as Meta will now automatically update
when constructing new scene elements).
This commit is contained in:
david-swift 2026-02-02 22:44:44 +01:00
parent c976c29cd0
commit 8f6a83dfc3
63 changed files with 60 additions and 131 deletions

View File

@ -68,9 +68,7 @@ struct AboutDialog: AdwaitaWidget {
/// - type: The view render data type. /// - type: The view render data type.
/// - Returns: The view storage. /// - Returns: The view storage.
func container<Data>(data: WidgetData, type: Data.Type) -> ViewStorage where Data: ViewRenderData { func container<Data>(data: WidgetData, type: Data.Type) -> ViewStorage where Data: ViewRenderData {
let storage = child.storage(data: data, type: type) child.storage(data: data, type: type)
update(storage, data: data, updateProperties: true, type: type)
return storage
} }
/// Update the stored content. /// Update the stored content.

View File

@ -106,9 +106,7 @@ public struct AlertDialog: AdwaitaWidget {
data: WidgetData, data: WidgetData,
type: Data.Type type: Data.Type
) -> ViewStorage where Data: ViewRenderData { ) -> ViewStorage where Data: ViewRenderData {
let storage = child.storage(data: data, type: type) child.storage(data: data, type: type)
update(storage, data: data, updateProperties: true, type: type)
return storage
} }
/// Update the stored content. /// Update the stored content.

View File

@ -64,9 +64,7 @@ struct Dialog: AdwaitaWidget {
/// - Returns: The view storage. /// - Returns: The view storage.
func container<Data>(data: WidgetData, type: Data.Type) -> ViewStorage where Data: ViewRenderData { func container<Data>(data: WidgetData, type: Data.Type) -> ViewStorage where Data: ViewRenderData {
let child = child.storage(data: data, type: type) let child = child.storage(data: data, type: type)
let storage = ViewStorage(child.opaquePointer, content: [.mainContent: [child]]) return .init(child.opaquePointer, content: [.mainContent: [child]])
update(storage, data: data, updateProperties: true, type: type)
return storage
} }
/// Update the stored content. /// Update the stored content.

View File

@ -105,9 +105,7 @@ struct FileDialog: AdwaitaWidget {
/// - Returns: The view storage. /// - Returns: The view storage.
func container<Data>(data: WidgetData, type: Data.Type) -> ViewStorage where Data: ViewRenderData { func container<Data>(data: WidgetData, type: Data.Type) -> ViewStorage where Data: ViewRenderData {
let child = child.storage(data: data, type: type) let child = child.storage(data: data, type: type)
let storage = ViewStorage(child.opaquePointer, content: [.mainContent: [child]]) return .init(child.opaquePointer, content: [.mainContent: [child]])
update(storage, data: data, updateProperties: true, type: type)
return storage
} }
/// Update the stored content. /// Update the stored content.

View File

@ -153,9 +153,7 @@ public struct PreferencesDialog: AdwaitaWidget {
/// - Returns: The view storage. /// - Returns: The view storage.
public func container<Data>(data: WidgetData, type: Data.Type) -> ViewStorage where Data: ViewRenderData { public func container<Data>(data: WidgetData, type: Data.Type) -> ViewStorage where Data: ViewRenderData {
let child = child.storage(data: data, type: type) let child = child.storage(data: data, type: type)
let storage = ViewStorage(child.opaquePointer, content: [.mainContent: [child]]) return .init(child.opaquePointer, content: [.mainContent: [child]])
update(storage, data: data, updateProperties: true, type: type)
return storage
} }
/// Update the stored content. /// Update the stored content.

View File

@ -109,9 +109,7 @@ public struct ShortcutsDialog: AdwaitaWidget {
/// - Returns: The view storage. /// - Returns: The view storage.
public func container<Data>(data: WidgetData, type: Data.Type) -> ViewStorage where Data: ViewRenderData { public func container<Data>(data: WidgetData, type: Data.Type) -> ViewStorage where Data: ViewRenderData {
let child = child.storage(data: data, type: type) let child = child.storage(data: data, type: type)
let storage = ViewStorage(child.opaquePointer, content: [.mainContent: [child]]) return .init(child.opaquePointer, content: [.mainContent: [child]])
update(storage, data: data, updateProperties: true, type: type)
return storage
} }
/// Update the stored content. /// Update the stored content.

View File

@ -36,11 +36,9 @@ public struct ForEach<Element>: AdwaitaWidget where Element: Identifiable {
data: WidgetData, data: WidgetData,
type: Data.Type type: Data.Type
) -> ViewStorage where Data: ViewRenderData { ) -> ViewStorage where Data: ViewRenderData {
let storage = ViewStorage( .init(
gtk_box_new(horizontal ? GTK_ORIENTATION_HORIZONTAL : GTK_ORIENTATION_VERTICAL, 0)?.opaque() gtk_box_new(horizontal ? GTK_ORIENTATION_HORIZONTAL : GTK_ORIENTATION_VERTICAL, 0)?.opaque()
) )
update(storage, data: data, updateProperties: true, type: type)
return storage
} }
/// Update the stored content. /// Update the stored content.

View File

@ -2,7 +2,7 @@
// ActionRow.swift // ActionRow.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -95,7 +95,6 @@ public struct ActionRow: AdwaitaWidget {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
if let activatableWidgetStorage = activatableWidget?.storage(data: data, type: type) { if let activatableWidgetStorage = activatableWidget?.storage(data: data, type: type) {
storage.content["activatableWidget"] = [activatableWidgetStorage] storage.content["activatableWidget"] = [activatableWidgetStorage]
adw_action_row_set_activatable_widget(storage.opaquePointer?.cast(), activatableWidgetStorage.opaquePointer?.cast()) adw_action_row_set_activatable_widget(storage.opaquePointer?.cast(), activatableWidgetStorage.opaquePointer?.cast())

View File

@ -2,7 +2,7 @@
// AspectFrame.swift // AspectFrame.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -54,7 +54,6 @@ public struct AspectFrame: AdwaitaWidget {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
if let childStorage = child?.storage(data: data, type: type) { if let childStorage = child?.storage(data: data, type: type) {
storage.content["child"] = [childStorage] storage.content["child"] = [childStorage]
gtk_aspect_frame_set_child(storage.opaquePointer, childStorage.opaquePointer?.cast()) gtk_aspect_frame_set_child(storage.opaquePointer, childStorage.opaquePointer?.cast())

View File

@ -2,7 +2,7 @@
// Avatar.swift // Avatar.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -65,7 +65,6 @@ public struct Avatar: AdwaitaWidget {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
return storage return storage
} }

View File

@ -2,7 +2,7 @@
// Banner.swift // Banner.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -72,7 +72,6 @@ public struct Banner: AdwaitaWidget {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
return storage return storage
} }

View File

@ -2,7 +2,7 @@
// Bin.swift // Bin.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -41,7 +41,6 @@ public struct Bin: AdwaitaWidget {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
if let childStorage = child?.storage(data: data, type: type) { if let childStorage = child?.storage(data: data, type: type) {
storage.content["child"] = [childStorage] storage.content["child"] = [childStorage]
adw_bin_set_child(storage.opaquePointer?.cast(), childStorage.opaquePointer?.cast()) adw_bin_set_child(storage.opaquePointer?.cast(), childStorage.opaquePointer?.cast())

View File

@ -2,7 +2,7 @@
// Box.swift // Box.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -73,7 +73,6 @@ public struct Box: AdwaitaWidget {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
var appendStorage: [ViewStorage] = [] var appendStorage: [ViewStorage] = []
for view in append() { for view in append() {

View File

@ -2,7 +2,7 @@
// Button.swift // Button.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -74,7 +74,6 @@ public struct Button: AdwaitaWidget {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
if let childStorage = child?.storage(data: data, type: type) { if let childStorage = child?.storage(data: data, type: type) {
storage.content["child"] = [childStorage] storage.content["child"] = [childStorage]
gtk_button_set_child(storage.opaquePointer?.cast(), childStorage.opaquePointer?.cast()) gtk_button_set_child(storage.opaquePointer?.cast(), childStorage.opaquePointer?.cast())

View File

@ -2,7 +2,7 @@
// ButtonContent.swift // ButtonContent.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -66,7 +66,6 @@ public struct ButtonContent: AdwaitaWidget {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
return storage return storage
} }

View File

@ -2,7 +2,7 @@
// Carousel.swift // Carousel.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -80,7 +80,6 @@ public struct Carousel<Element>: AdwaitaWidget where Element: Identifiable {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
return storage return storage
} }

View File

@ -2,7 +2,7 @@
// CenterBox.swift // CenterBox.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -70,7 +70,6 @@ public struct CenterBox: AdwaitaWidget {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
if let centerWidgetStorage = centerWidget?.storage(data: data, type: type) { if let centerWidgetStorage = centerWidget?.storage(data: data, type: type) {
storage.content["centerWidget"] = [centerWidgetStorage] storage.content["centerWidget"] = [centerWidgetStorage]
gtk_center_box_set_center_widget(storage.opaquePointer, centerWidgetStorage.opaquePointer?.cast()) gtk_center_box_set_center_widget(storage.opaquePointer, centerWidgetStorage.opaquePointer?.cast())

View File

@ -2,7 +2,7 @@
// CheckButton.swift // CheckButton.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -79,7 +79,6 @@ public struct CheckButton: AdwaitaWidget {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
if let childStorage = child?.storage(data: data, type: type) { if let childStorage = child?.storage(data: data, type: type) {
storage.content["child"] = [childStorage] storage.content["child"] = [childStorage]
gtk_check_button_set_child(storage.opaquePointer?.cast(), childStorage.opaquePointer?.cast()) gtk_check_button_set_child(storage.opaquePointer?.cast(), childStorage.opaquePointer?.cast())

View File

@ -2,7 +2,7 @@
// Clamp.swift // Clamp.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -69,7 +69,6 @@ public struct Clamp: AdwaitaWidget {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
if let childStorage = child?.storage(data: data, type: type) { if let childStorage = child?.storage(data: data, type: type) {
storage.content["child"] = [childStorage] storage.content["child"] = [childStorage]
adw_clamp_set_child(storage.opaquePointer, childStorage.opaquePointer?.cast()) adw_clamp_set_child(storage.opaquePointer, childStorage.opaquePointer?.cast())

View File

@ -2,7 +2,7 @@
// ComboRow.swift // ComboRow.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -125,7 +125,6 @@ public struct ComboRow: AdwaitaWidget {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
if let activatableWidgetStorage = activatableWidget?.storage(data: data, type: type) { if let activatableWidgetStorage = activatableWidget?.storage(data: data, type: type) {
storage.content["activatableWidget"] = [activatableWidgetStorage] storage.content["activatableWidget"] = [activatableWidgetStorage]
adw_action_row_set_activatable_widget(storage.opaquePointer?.cast(), activatableWidgetStorage.opaquePointer?.cast()) adw_action_row_set_activatable_widget(storage.opaquePointer?.cast(), activatableWidgetStorage.opaquePointer?.cast())

View File

@ -2,7 +2,7 @@
// DropDown.swift // DropDown.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -89,7 +89,6 @@ public struct DropDown: AdwaitaWidget {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
return storage return storage
} }

View File

@ -2,7 +2,7 @@
// Entry.swift // Entry.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -279,7 +279,6 @@ public struct Entry: AdwaitaWidget {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
if let extraMenu { if let extraMenu {
let childStorage = MenuCollection { extraMenu }.getMenu(data: data) let childStorage = MenuCollection { extraMenu }.getMenu(data: data)
storage.content["extraMenu"] = [childStorage] storage.content["extraMenu"] = [childStorage]

View File

@ -2,7 +2,7 @@
// EntryRow.swift // EntryRow.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -96,7 +96,6 @@ public struct EntryRow: AdwaitaWidget {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
var suffixStorage: [ViewStorage] = [] var suffixStorage: [ViewStorage] = []
for view in suffix() { for view in suffix() {

View File

@ -2,7 +2,7 @@
// ExpanderRow.swift // ExpanderRow.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -82,7 +82,6 @@ public struct ExpanderRow: AdwaitaWidget {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
var rowsStorage: [ViewStorage] = [] var rowsStorage: [ViewStorage] = []
for view in rows() { for view in rows() {

View File

@ -2,7 +2,7 @@
// Fixed.swift // Fixed.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -71,7 +71,6 @@ public struct Fixed: AdwaitaWidget {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
return storage return storage
} }

View File

@ -2,7 +2,7 @@
// FlowBox.swift // FlowBox.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -140,7 +140,6 @@ public struct FlowBox<Element>: AdwaitaWidget where Element: Identifiable {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
return storage return storage
} }

View File

@ -2,7 +2,7 @@
// HeaderBar.swift // HeaderBar.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -92,7 +92,6 @@ public struct HeaderBar: AdwaitaWidget {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
if let titleWidgetStorage = titleWidget?.storage(data: data, type: type) { if let titleWidgetStorage = titleWidget?.storage(data: data, type: type) {
storage.content["titleWidget"] = [titleWidgetStorage] storage.content["titleWidget"] = [titleWidgetStorage]
adw_header_bar_set_title_widget(storage.opaquePointer, titleWidgetStorage.opaquePointer?.cast()) adw_header_bar_set_title_widget(storage.opaquePointer, titleWidgetStorage.opaquePointer?.cast())

View File

@ -2,7 +2,7 @@
// Image.swift // Image.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -85,7 +85,6 @@ public struct Image: AdwaitaWidget {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
return storage return storage
} }

View File

@ -2,7 +2,7 @@
// Label.swift // Label.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -121,7 +121,6 @@ public struct Label: AdwaitaWidget {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
if let mnemonicWidgetStorage = mnemonicWidget?.storage(data: data, type: type) { if let mnemonicWidgetStorage = mnemonicWidget?.storage(data: data, type: type) {
storage.content["mnemonicWidget"] = [mnemonicWidgetStorage] storage.content["mnemonicWidget"] = [mnemonicWidgetStorage]
gtk_label_set_mnemonic_widget(storage.opaquePointer, mnemonicWidgetStorage.opaquePointer?.cast()) gtk_label_set_mnemonic_widget(storage.opaquePointer, mnemonicWidgetStorage.opaquePointer?.cast())

View File

@ -2,7 +2,7 @@
// LevelBar.swift // LevelBar.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -73,7 +73,6 @@ public struct LevelBar: AdwaitaWidget {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
return storage return storage
} }

View File

@ -2,7 +2,7 @@
// LinkButton.swift // LinkButton.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -91,7 +91,6 @@ public struct LinkButton: AdwaitaWidget {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
if let childStorage = child?.storage(data: data, type: type) { if let childStorage = child?.storage(data: data, type: type) {
storage.content["child"] = [childStorage] storage.content["child"] = [childStorage]
gtk_button_set_child(storage.opaquePointer?.cast(), childStorage.opaquePointer?.cast()) gtk_button_set_child(storage.opaquePointer?.cast(), childStorage.opaquePointer?.cast())

View File

@ -2,7 +2,7 @@
// ListBox.swift // ListBox.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -117,7 +117,6 @@ public struct ListBox<Element>: AdwaitaWidget where Element: Identifiable {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
return storage return storage
} }

View File

@ -2,7 +2,7 @@
// Menu.swift // Menu.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -99,7 +99,6 @@ public struct Menu: AdwaitaWidget {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
if let childStorage = child?.storage(data: data, type: type) { if let childStorage = child?.storage(data: data, type: type) {
storage.content["child"] = [childStorage] storage.content["child"] = [childStorage]
gtk_menu_button_set_child(storage.opaquePointer, childStorage.opaquePointer?.cast()) gtk_menu_button_set_child(storage.opaquePointer, childStorage.opaquePointer?.cast())

View File

@ -2,7 +2,7 @@
// NavigationView.swift // NavigationView.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -114,7 +114,6 @@ public struct NavigationView: AdwaitaWidget {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
return storage return storage
} }

View File

@ -2,7 +2,7 @@
// Overlay.swift // Overlay.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -74,7 +74,6 @@ public struct Overlay: AdwaitaWidget {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
if let childStorage = child?.storage(data: data, type: type) { if let childStorage = child?.storage(data: data, type: type) {
storage.content["child"] = [childStorage] storage.content["child"] = [childStorage]
gtk_overlay_set_child(storage.opaquePointer, childStorage.opaquePointer?.cast()) gtk_overlay_set_child(storage.opaquePointer, childStorage.opaquePointer?.cast())

View File

@ -2,7 +2,7 @@
// OverlaySplitView.swift // OverlaySplitView.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -120,7 +120,6 @@ public struct OverlaySplitView: AdwaitaWidget {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
if let contentStorage = content?.storage(data: data, type: type) { if let contentStorage = content?.storage(data: data, type: type) {
storage.content["content"] = [contentStorage] storage.content["content"] = [contentStorage]
adw_overlay_split_view_set_content(storage.opaquePointer, contentStorage.opaquePointer?.cast()) adw_overlay_split_view_set_content(storage.opaquePointer, contentStorage.opaquePointer?.cast())

View File

@ -2,7 +2,7 @@
// PasswordEntryRow.swift // PasswordEntryRow.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -90,7 +90,6 @@ public struct PasswordEntryRow: AdwaitaWidget {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
var suffixStorage: [ViewStorage] = [] var suffixStorage: [ViewStorage] = []
for view in suffix() { for view in suffix() {

View File

@ -2,7 +2,7 @@
// Picture.swift // Picture.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -68,7 +68,6 @@ public struct Picture: AdwaitaWidget {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
return storage return storage
} }

View File

@ -2,7 +2,7 @@
// Popover.swift // Popover.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -81,7 +81,6 @@ public struct Popover: AdwaitaWidget {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
if let childStorage = child?.storage(data: data, type: type) { if let childStorage = child?.storage(data: data, type: type) {
storage.content["child"] = [childStorage] storage.content["child"] = [childStorage]
gtk_popover_set_child(storage.opaquePointer?.cast(), childStorage.opaquePointer?.cast()) gtk_popover_set_child(storage.opaquePointer?.cast(), childStorage.opaquePointer?.cast())

View File

@ -2,7 +2,7 @@
// PreferencesGroup.swift // PreferencesGroup.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -62,7 +62,6 @@ public struct PreferencesGroup: AdwaitaWidget {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
if let headerSuffixStorage = headerSuffix?.storage(data: data, type: type) { if let headerSuffixStorage = headerSuffix?.storage(data: data, type: type) {
storage.content["headerSuffix"] = [headerSuffixStorage] storage.content["headerSuffix"] = [headerSuffixStorage]
adw_preferences_group_set_header_suffix(storage.opaquePointer?.cast(), headerSuffixStorage.opaquePointer?.cast()) adw_preferences_group_set_header_suffix(storage.opaquePointer?.cast(), headerSuffixStorage.opaquePointer?.cast())

View File

@ -2,7 +2,7 @@
// PreferencesPage.swift // PreferencesPage.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -52,7 +52,6 @@ public struct PreferencesPage: AdwaitaWidget {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
var childStorage: [ViewStorage] = [] var childStorage: [ViewStorage] = []
for view in child() { for view in child() {

View File

@ -2,7 +2,7 @@
// PreferencesRow.swift // PreferencesRow.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -56,7 +56,6 @@ public struct PreferencesRow: AdwaitaWidget {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
return storage return storage
} }

View File

@ -2,7 +2,7 @@
// ProgressBar.swift // ProgressBar.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -79,7 +79,6 @@ public struct ProgressBar: AdwaitaWidget {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
return storage return storage
} }

View File

@ -2,7 +2,7 @@
// ScrolledWindow.swift // ScrolledWindow.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -153,7 +153,6 @@ public struct ScrolledWindow: AdwaitaWidget {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
if let childStorage = child?.storage(data: data, type: type) { if let childStorage = child?.storage(data: data, type: type) {
storage.content["child"] = [childStorage] storage.content["child"] = [childStorage]
gtk_scrolled_window_set_child(storage.opaquePointer, childStorage.opaquePointer?.cast()) gtk_scrolled_window_set_child(storage.opaquePointer, childStorage.opaquePointer?.cast())

View File

@ -2,7 +2,7 @@
// SearchBar.swift // SearchBar.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -62,7 +62,6 @@ public struct SearchBar: AdwaitaWidget {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
if let childStorage = child?.storage(data: data, type: type) { if let childStorage = child?.storage(data: data, type: type) {
storage.content["child"] = [childStorage] storage.content["child"] = [childStorage]
gtk_search_bar_set_child(storage.opaquePointer, childStorage.opaquePointer?.cast()) gtk_search_bar_set_child(storage.opaquePointer, childStorage.opaquePointer?.cast())

View File

@ -2,7 +2,7 @@
// SearchEntry.swift // SearchEntry.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -157,7 +157,6 @@ public struct SearchEntry: AdwaitaWidget {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
return storage return storage
} }

View File

@ -2,7 +2,7 @@
// Separator.swift // Separator.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -43,7 +43,6 @@ public struct Separator: AdwaitaWidget {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
return storage return storage
} }

View File

@ -2,7 +2,7 @@
// SpinRow.swift // SpinRow.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -125,7 +125,6 @@ public struct SpinRow: AdwaitaWidget {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
if let activatableWidgetStorage = activatableWidget?.storage(data: data, type: type) { if let activatableWidgetStorage = activatableWidget?.storage(data: data, type: type) {
storage.content["activatableWidget"] = [activatableWidgetStorage] storage.content["activatableWidget"] = [activatableWidgetStorage]
adw_action_row_set_activatable_widget(storage.opaquePointer?.cast(), activatableWidgetStorage.opaquePointer?.cast()) adw_action_row_set_activatable_widget(storage.opaquePointer?.cast(), activatableWidgetStorage.opaquePointer?.cast())

View File

@ -2,7 +2,7 @@
// Spinner.swift // Spinner.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -51,7 +51,6 @@ public struct Spinner: AdwaitaWidget {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
return storage return storage
} }

View File

@ -2,7 +2,7 @@
// SplitButton.swift // SplitButton.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -89,7 +89,6 @@ public struct SplitButton: AdwaitaWidget {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
if let childStorage = child?.storage(data: data, type: type) { if let childStorage = child?.storage(data: data, type: type) {
storage.content["child"] = [childStorage] storage.content["child"] = [childStorage]
adw_split_button_set_child(storage.opaquePointer, childStorage.opaquePointer?.cast()) adw_split_button_set_child(storage.opaquePointer, childStorage.opaquePointer?.cast())

View File

@ -2,7 +2,7 @@
// StatusPage.swift // StatusPage.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -50,7 +50,6 @@ public struct StatusPage: AdwaitaWidget {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
if let childStorage = child?.storage(data: data, type: type) { if let childStorage = child?.storage(data: data, type: type) {
storage.content["child"] = [childStorage] storage.content["child"] = [childStorage]
adw_status_page_set_child(storage.opaquePointer, childStorage.opaquePointer?.cast()) adw_status_page_set_child(storage.opaquePointer, childStorage.opaquePointer?.cast())

View File

@ -2,7 +2,7 @@
// SwitchRow.swift // SwitchRow.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -105,7 +105,6 @@ public struct SwitchRow: AdwaitaWidget {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
if let activatableWidgetStorage = activatableWidget?.storage(data: data, type: type) { if let activatableWidgetStorage = activatableWidget?.storage(data: data, type: type) {
storage.content["activatableWidget"] = [activatableWidgetStorage] storage.content["activatableWidget"] = [activatableWidgetStorage]
adw_action_row_set_activatable_widget(storage.opaquePointer?.cast(), activatableWidgetStorage.opaquePointer?.cast()) adw_action_row_set_activatable_widget(storage.opaquePointer?.cast(), activatableWidgetStorage.opaquePointer?.cast())

View File

@ -2,7 +2,7 @@
// ToastOverlay.swift // ToastOverlay.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -46,7 +46,6 @@ public struct ToastOverlay: AdwaitaWidget {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
if let childStorage = child?.storage(data: data, type: type) { if let childStorage = child?.storage(data: data, type: type) {
storage.content["child"] = [childStorage] storage.content["child"] = [childStorage]
adw_toast_overlay_set_child(storage.opaquePointer, childStorage.opaquePointer?.cast()) adw_toast_overlay_set_child(storage.opaquePointer, childStorage.opaquePointer?.cast())

View File

@ -2,7 +2,7 @@
// ToggleButton.swift // ToggleButton.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -85,7 +85,6 @@ public struct ToggleButton: AdwaitaWidget {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
if let childStorage = child?.storage(data: data, type: type) { if let childStorage = child?.storage(data: data, type: type) {
storage.content["child"] = [childStorage] storage.content["child"] = [childStorage]
gtk_button_set_child(storage.opaquePointer?.cast(), childStorage.opaquePointer?.cast()) gtk_button_set_child(storage.opaquePointer?.cast(), childStorage.opaquePointer?.cast())

View File

@ -2,7 +2,7 @@
// ToggleGroup.swift // ToggleGroup.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -91,7 +91,6 @@ public struct ToggleGroup: AdwaitaWidget {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
return storage return storage
} }

View File

@ -2,7 +2,7 @@
// ToolbarView.swift // ToolbarView.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -120,7 +120,6 @@ public struct ToolbarView: AdwaitaWidget {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
if let contentStorage = content?.storage(data: data, type: type) { if let contentStorage = content?.storage(data: data, type: type) {
storage.content["content"] = [contentStorage] storage.content["content"] = [contentStorage]
adw_toolbar_view_set_content(storage.opaquePointer, contentStorage.opaquePointer?.cast()) adw_toolbar_view_set_content(storage.opaquePointer, contentStorage.opaquePointer?.cast())

View File

@ -2,7 +2,7 @@
// WindowTitle.swift // WindowTitle.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 30.12.25. // Created by auto-generation on 02.02.26.
// //
import CAdw import CAdw
@ -49,7 +49,6 @@ public struct WindowTitle: AdwaitaWidget {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
return storage return storage
} }

View File

@ -94,9 +94,7 @@ struct ModifierWrapper: AdwaitaWidget {
/// - Returns: The view storage. /// - Returns: The view storage.
func container<Data>(data: WidgetData, type: Data.Type) -> ViewStorage where Data: ViewRenderData { func container<Data>(data: WidgetData, type: Data.Type) -> ViewStorage where Data: ViewRenderData {
let content = content.storage(data: data, type: type) let content = content.storage(data: data, type: type)
let storage = ViewStorage(content.pointer, content: [.mainContent: [content]]) return .init(content.pointer, content: [.mainContent: [content]])
update(storage, data: data, updateProperties: true, type: type)
return storage
} }
/// Update the stored content. /// Update the stored content.

View File

@ -58,7 +58,6 @@ public struct NavigationSplitView: AdwaitaWidget {
content[contentID] = [mainContent] content[contentID] = [mainContent]
let storage = ViewStorage(splitView?.opaque(), content: content) let storage = ViewStorage(splitView?.opaque(), content: content)
update(storage, data: data, updateProperties: true, type: type)
storage.fields["sidebar-page"] = sidebarPage?.opaque() storage.fields["sidebar-page"] = sidebarPage?.opaque()
storage.fields["main-page"] = mainPage?.opaque() storage.fields["main-page"] = mainPage?.opaque()

View File

@ -104,7 +104,6 @@ public struct TextView: AdwaitaWidget {
content: ["buffer": [buffer]] content: ["buffer": [buffer]]
) )
initProperties(editor, data: data, type: type) initProperties(editor, data: data, type: type)
update(editor, data: data, updateProperties: true, type: type)
return editor return editor
} }

View File

@ -53,9 +53,7 @@ public struct ViewStack: AdwaitaWidget {
type: Data.Type type: Data.Type
) -> ViewStorage where Data: ViewRenderData { ) -> ViewStorage where Data: ViewRenderData {
let stack = gtk_stack_new() let stack = gtk_stack_new()
let storage = ViewStorage(stack?.opaque()) return .init(stack?.opaque())
update(storage, data: data, updateProperties: true, type: type)
return storage
} }
/// Update the stored content. /// Update the stored content.
@ -74,6 +72,7 @@ public struct ViewStack: AdwaitaWidget {
content.updateStorage(view, data: data, updateProperties: updateProperties, type: type) content.updateStorage(view, data: data, updateProperties: updateProperties, type: type)
} else { } else {
let view = content.storage(data: data, type: type) let view = content.storage(data: data, type: type)
content.updateStorage(view, data: data, updateProperties: true, type: type)
gtk_stack_add_named(storage.opaquePointer, view.opaquePointer?.cast(), id.description) gtk_stack_add_named(storage.opaquePointer, view.opaquePointer?.cast(), id.description)
storage.content[id.description] = [view] storage.content[id.description] = [view]
} }

View File

@ -39,7 +39,6 @@ public struct ViewSwitcher<Element>: AdwaitaWidget where Element: ViewSwitcherOp
let switcher = ViewStorage(adw_view_switcher_new()?.opaque()) let switcher = ViewStorage(adw_view_switcher_new()?.opaque())
let stack = ViewStorage(adw_view_stack_new()?.opaque()) let stack = ViewStorage(adw_view_stack_new()?.opaque())
adw_view_switcher_set_stack(switcher.opaquePointer, stack.opaquePointer) adw_view_switcher_set_stack(switcher.opaquePointer, stack.opaquePointer)
updateSwitcher(switcher: switcher)
switcher.fields["stack"] = stack switcher.fields["stack"] = stack
return switcher return switcher
} }

View File

@ -102,7 +102,6 @@ struct Class: ClassLike, Decodable {
for function in appearFunctions { for function in appearFunctions {
function(storage, data) function(storage, data)
} }
update(storage, data: data, updateProperties: true, type: type)
\(generateWidgetAssignments(config: config, genConfig: genConfig, namespace: namespace, configs: configs)) \(generateWidgetAssignments(config: config, genConfig: genConfig, namespace: namespace, configs: configs))
return storage return storage
} }