adwaita-swift/Sources/Adwaita/Model/User Interface/Window/GTUIApplicationWindow.swift
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

40 lines
1.1 KiB
Swift

//
// GTUIApplicationWindow.swift
// Adwaita
//
// Created by david-swift on 19.10.23.
//
import CAdw
/// A GTUI application window.
public class GTUIApplicationWindow: GTUIWindow {
/// The window's parent app.
public var app: GTUIApp
/// Initialize the application window.
/// - Parameter app: The application.
public init(app: GTUIApp) {
self.app = app
super.init(fields: [:])
pointer = adw_application_window_new(app.pointer)?.cast()
}
/// Add a keyboard shortcut.
/// - Parameters:
/// - shortcut: The keyboard shortcut.
/// - id: The action's id.
/// - handler: The action's handler.
public func addKeyboardShortcut(_ shortcut: String, id: String, handler: @escaping () -> Void) {
app.addKeyboardShortcut(shortcut, id: id, window: self, handler: handler)
}
/// Set the window's child.
/// - Parameter child: The child.
override public func setChild(_ child: OpaquePointer?) {
adw_application_window_set_content(pointer?.cast(), child?.cast())
}
}