david-swift d8de611510 Add support for auto-generated widget bindings
Additionally fix an update problem occurring with custom views
2024-01-22 21:45:31 +01:00

50 lines
1.4 KiB
Swift

//
// GTUIAboutWindow.swift
// Adwaita
//
// Created by david-swift on 21.01.24.
//
import CAdw
/// A GTUI about window.
public class GTUIAboutWindow: GTUIWindow {
/// Initialize an about window using the AppStream metadata.
/// - Parameter filePath: The path.
public init(filePath: String? = nil) {
super.init(fields: [:])
if let filePath {
pointer = adw_about_window_new_from_appdata(filePath, nil)?.cast()
} else {
pointer = adw_about_window_new()?.cast()
}
}
/// Set the general data.
/// - Parameters:
/// - title: The app name.
/// - icon: The app icon.
/// - developer: The app's developer.
/// - version: The app's version.
public func generalData(title: String, icon: Icon, developer: String, version: String) {
adw_about_window_set_application_name(.init(pointer), title)
adw_about_window_set_application_icon(.init(pointer), icon.string)
adw_about_window_set_developer_name(.init(pointer), developer)
adw_about_window_set_version(.init(pointer), version)
}
/// Set the website.
/// - Parameter url: The website.
public func website(url: String) {
adw_about_window_set_website(.init(pointer), url)
}
/// Set the URL for issues.
/// - Parameter issues: The issues website.
public func issues(url: String) {
adw_about_window_set_issue_url(.init(pointer), url)
}
}