adwaita-swift/Sources/Adwaita/Menu/MenuSection.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

36 lines
960 B
Swift

//
// Submenu.swift
// Adwaita
//
// Created by david-swift on 22.10.23.
//
import CAdw
/// A section for menus.
public struct MenuSection: MenuItem {
/// The content of the section.
var sectionContent: MenuContent
/// Initialize a section for menus.
/// - Parameter content: The content of the section.
public init(@MenuBuilder content: () -> MenuContent) {
self.sectionContent = content()
}
/// Add the section to a menu.
/// - Parameters:
/// - menu: The menu.
/// - app: The application containing the menu.
/// - window: The application window containing the menu.
public func addMenuItem(menu: OpaquePointer?, app: GTUIApp, window: GTUIApplicationWindow?) {
let section = g_menu_new()
g_menu_append_section(menu, nil, section?.cast())
for element in sectionContent {
element.addMenuItems(menu: section, app: app, window: window)
}
}
}