adwaita-swift/Sources/Adwaita/Menu/MenuSection.swift

36 lines
960 B
Swift

//
// Submenu.swift
// Adwaita
//
// Created by david-swift on 22.10.23.
//
import Libadwaita
/// 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: Libadwaita.Menu, app: GTUIApp, window: GTUIApplicationWindow?) {
let section = Libadwaita.Menu()
_ = menu.append("", section: section)
for element in sectionContent {
element.addMenuItems(menu: section, app: app, window: window)
}
}
}