Fix static widget modifiers not always generated

This commit is contained in:
david-swift 2024-02-04 21:12:55 +01:00
parent 8d05d22dc6
commit 4ed780bcfc
42 changed files with 169 additions and 37 deletions

View File

@ -277,3 +277,15 @@ Whether an embedded underline in the title indicates a mnemonic.
### `activated(_:)` ### `activated(_:)`
This signal is emitted after the row has been activated. This signal is emitted after the row has been activated.
### `suffix(_:)`
Set the body for "suffix".
- Parameter body: The body.
- Returns: The widget.
### `prefix(_:)`
Set the body for "prefix".
- Parameter body: The body.
- Returns: The widget.

View File

@ -176,3 +176,15 @@ See [property@EntryRow:show-apply-button].
### `entryActivated(_:)` ### `entryActivated(_:)`
Emitted when the embedded entry is activated. Emitted when the embedded entry is activated.
### `suffix(_:)`
Set the body for "suffix".
- Parameter body: The body.
- Returns: The widget.
### `prefix(_:)`
Set the body for "prefix".
- Parameter body: The body.
- Returns: The widget.

View File

@ -298,3 +298,15 @@ See [signal@Gtk.SpinButton::wrapped].
### `activated(_:)` ### `activated(_:)`
This signal is emitted after the row has been activated. This signal is emitted after the row has been activated.
### `suffix(_:)`
Set the body for "suffix".
- Parameter body: The body.
- Returns: The widget.
### `prefix(_:)`
Set the body for "prefix".
- Parameter body: The body.
- Returns: The widget.

View File

@ -216,3 +216,15 @@ Whether an embedded underline in the title indicates a mnemonic.
### `activated(_:)` ### `activated(_:)`
This signal is emitted after the row has been activated. This signal is emitted after the row has been activated.
### `suffix(_:)`
Set the body for "suffix".
- Parameter body: The body.
- Returns: The widget.
### `prefix(_:)`
Set the body for "prefix".
- Parameter body: The body.
- Returns: The widget.

View File

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

View File

@ -2,7 +2,7 @@
// Avatar.swift // Avatar.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 29.01.24. // Created by auto-generation on 04.02.24.
// //
import CAdw import CAdw

View File

@ -2,7 +2,7 @@
// Banner.swift // Banner.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 29.01.24. // Created by auto-generation on 04.02.24.
// //
import CAdw import CAdw

View File

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

View File

@ -2,7 +2,7 @@
// Box.swift // Box.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 29.01.24. // Created by auto-generation on 04.02.24.
// //
import CAdw import CAdw

View File

@ -2,7 +2,7 @@
// Button.swift // Button.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 29.01.24. // Created by auto-generation on 04.02.24.
// //
import CAdw import CAdw

View File

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

View File

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

View File

@ -2,7 +2,7 @@
// CenterBox.swift // CenterBox.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 29.01.24. // Created by auto-generation on 04.02.24.
// //
import CAdw import CAdw

View File

@ -2,7 +2,7 @@
// CheckButton.swift // CheckButton.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 29.01.24. // Created by auto-generation on 04.02.24.
// //
import CAdw import CAdw

View File

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

View File

@ -2,7 +2,7 @@
// ComboRow.swift // ComboRow.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 29.01.24. // Created by auto-generation on 04.02.24.
// //
import CAdw import CAdw
@ -378,4 +378,20 @@ public struct ComboRow: Widget {
return newSelf return newSelf
} }
/// Set the body for "suffix".
/// - Parameter body: The body.
/// - Returns: The widget.
public func suffix(@ViewBuilder _ body: @escaping () -> Body) -> Self {
var newSelf = self
newSelf.suffix = body
return newSelf
}
/// Set the body for "prefix".
/// - Parameter body: The body.
/// - Returns: The widget.
public func prefix(@ViewBuilder _ body: @escaping () -> Body) -> Self {
var newSelf = self
newSelf.prefix = body
return newSelf
}
} }

View File

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

View File

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

View File

@ -2,7 +2,7 @@
// HeaderBar.swift // HeaderBar.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 29.01.24. // Created by auto-generation on 04.02.24.
// //
import CAdw import CAdw

View File

@ -2,7 +2,7 @@
// Label.swift // Label.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 29.01.24. // Created by auto-generation on 04.02.24.
// //
import CAdw import CAdw

View File

@ -2,7 +2,7 @@
// LevelBar.swift // LevelBar.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 29.01.24. // Created by auto-generation on 04.02.24.
// //
import CAdw import CAdw

View File

@ -2,7 +2,7 @@
// LinkButton.swift // LinkButton.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 29.01.24. // Created by auto-generation on 04.02.24.
// //
import CAdw import CAdw

View File

@ -2,7 +2,7 @@
// ListBox.swift // ListBox.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 29.01.24. // Created by auto-generation on 04.02.24.
// //
import CAdw import CAdw

View File

@ -2,7 +2,7 @@
// Menu.swift // Menu.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 29.01.24. // Created by auto-generation on 04.02.24.
// //
import CAdw import CAdw

View File

@ -2,7 +2,7 @@
// Overlay.swift // Overlay.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 29.01.24. // Created by auto-generation on 04.02.24.
// //
import CAdw import CAdw

View File

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

View File

@ -2,7 +2,7 @@
// PasswordEntryRow.swift // PasswordEntryRow.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 29.01.24. // Created by auto-generation on 04.02.24.
// //
import CAdw import CAdw
@ -246,4 +246,20 @@ public struct PasswordEntryRow: Widget {
return newSelf return newSelf
} }
/// Set the body for "suffix".
/// - Parameter body: The body.
/// - Returns: The widget.
public func suffix(@ViewBuilder _ body: @escaping () -> Body) -> Self {
var newSelf = self
newSelf.suffix = body
return newSelf
}
/// Set the body for "prefix".
/// - Parameter body: The body.
/// - Returns: The widget.
public func prefix(@ViewBuilder _ body: @escaping () -> Body) -> Self {
var newSelf = self
newSelf.prefix = body
return newSelf
}
} }

View File

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

View File

@ -2,7 +2,7 @@
// PreferencesPage.swift // PreferencesPage.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 29.01.24. // Created by auto-generation on 04.02.24.
// //
import CAdw import CAdw

View File

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

View File

@ -2,7 +2,7 @@
// ProgressBar.swift // ProgressBar.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 29.01.24. // Created by auto-generation on 04.02.24.
// //
import CAdw import CAdw

View File

@ -2,7 +2,7 @@
// ScrolledWindow.swift // ScrolledWindow.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 29.01.24. // Created by auto-generation on 04.02.24.
// //
import CAdw import CAdw

View File

@ -2,7 +2,7 @@
// SpinRow.swift // SpinRow.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 29.01.24. // Created by auto-generation on 04.02.24.
// //
import CAdw import CAdw
@ -434,4 +434,20 @@ public struct SpinRow: Widget {
return newSelf return newSelf
} }
/// Set the body for "suffix".
/// - Parameter body: The body.
/// - Returns: The widget.
public func suffix(@ViewBuilder _ body: @escaping () -> Body) -> Self {
var newSelf = self
newSelf.suffix = body
return newSelf
}
/// Set the body for "prefix".
/// - Parameter body: The body.
/// - Returns: The widget.
public func prefix(@ViewBuilder _ body: @escaping () -> Body) -> Self {
var newSelf = self
newSelf.prefix = body
return newSelf
}
} }

View File

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

View File

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

View File

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

View File

@ -2,7 +2,7 @@
// SwitchRow.swift // SwitchRow.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 29.01.24. // Created by auto-generation on 04.02.24.
// //
import CAdw import CAdw
@ -307,4 +307,20 @@ public struct SwitchRow: Widget {
return newSelf return newSelf
} }
/// Set the body for "suffix".
/// - Parameter body: The body.
/// - Returns: The widget.
public func suffix(@ViewBuilder _ body: @escaping () -> Body) -> Self {
var newSelf = self
newSelf.suffix = body
return newSelf
}
/// Set the body for "prefix".
/// - Parameter body: The body.
/// - Returns: The widget.
public func prefix(@ViewBuilder _ body: @escaping () -> Body) -> Self {
var newSelf = self
newSelf.prefix = body
return newSelf
}
} }

View File

@ -2,7 +2,7 @@
// ToastOverlay.swift // ToastOverlay.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 29.01.24. // Created by auto-generation on 04.02.24.
// //
import CAdw import CAdw

View File

@ -2,7 +2,7 @@
// ToggleButton.swift // ToggleButton.swift
// Adwaita // Adwaita
// //
// Created by auto-generation on 29.01.24. // Created by auto-generation on 04.02.24.
// //
import CAdw import CAdw

View File

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

View File

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

View File

@ -290,6 +290,22 @@ extension Class {
for signal in signals(classes: classes) where !config.excludeSignals.contains(signal.name) { for signal in signals(classes: classes) where !config.excludeSignals.contains(signal.name) {
content += signal.generateModifier(config: config, genConfig: genConfig) content += signal.generateModifier(config: config, genConfig: genConfig)
} }
content += generateWidgetModifiers(config: config, configs: configs, classes: classes)
return content
}
/// Generate the modifiers for static widgets.
/// - Parameters:
/// - config: The widget configuration.
/// - configs: The available widget configurations.
/// - classes: The available classes.
/// - Returns: The code.
func generateWidgetModifiers(
config: WidgetConfiguration,
configs: [WidgetConfiguration],
classes: [Class]
) -> String {
var content = ""
for widget in config.staticWidgets { for widget in config.staticWidgets {
content += """ content += """
@ -303,6 +319,10 @@ extension Class {
} }
""" """
} }
if let parent = parentClass(classes: classes), let config = configs.first(where: { $0.class == parent.name }) {
print("Parent: \(parent.name), Self: \(self.name)")
content += parent.generateWidgetModifiers(config: config, configs: configs, classes: classes)
}
return content return content
} }
} }