From: Olaf Wintermann Date: Tue, 8 Jul 2025 15:15:01 +0000 (+0200) Subject: add kotlin menu/toolbar API X-Git-Url: https://uap-core.de/gitweb/?a=commitdiff_plain;h=395a5ec251279a239eb8e0b3a3793ec3cf8345e8;p=rssreader.git add kotlin menu/toolbar API --- diff --git a/ui-kotlin/src/main/kotlin/de/unixwork/ui/kotlin/Menu.kt b/ui-kotlin/src/main/kotlin/de/unixwork/ui/kotlin/Menu.kt new file mode 100644 index 0000000..2ea7e14 --- /dev/null +++ b/ui-kotlin/src/main/kotlin/de/unixwork/ui/kotlin/Menu.kt @@ -0,0 +1,31 @@ +package de.unixwork.ui.kotlin + +import de.unixwork.ui.AppMenu +import de.unixwork.ui.EventHandler +import de.unixwork.ui.MenuUI +import de.unixwork.ui.Toolbar +import de.unixwork.ui.ToolbarPosition + +fun menu(label: String, menu: MenuUI? = null) { + AppMenu.menu(label, menu) +} + +fun menuItem(label: String? = null, stockId: String? = null, icon: String? = null, onClick: EventHandler? = null) { + if(stockId != null) { + // TODO + } else { + AppMenu.menuItem(label, icon, onClick) + } +} + +fun toolbarItem(name: String, label: String? = null, icon: String? = null, stockId: String? = null, onClick: EventHandler? = null) { + if(stockId != null) { + // TODO + } else { + Toolbar.item(name, label, icon, onClick) + } +} + +fun addToolbarDefault(name: String, position: ToolbarPosition) { + Toolbar.addDefault(name, position) +} diff --git a/ui-kotlin/src/test/kotlin/de/unixwork/ui/kotlin/demo/Main.kt b/ui-kotlin/src/test/kotlin/de/unixwork/ui/kotlin/demo/Main.kt index 86890cd..28548cb 100644 --- a/ui-kotlin/src/test/kotlin/de/unixwork/ui/kotlin/demo/Main.kt +++ b/ui-kotlin/src/test/kotlin/de/unixwork/ui/kotlin/demo/Main.kt @@ -2,13 +2,18 @@ package de.unixwork.ui.kotlin.demo import de.unixwork.ui.Application import de.unixwork.ui.Button +import de.unixwork.ui.ToolbarPosition import de.unixwork.ui.Toolkit import de.unixwork.ui.UiObject import de.unixwork.ui.kotlin.Toplevel -import de.unixwork.ui.kotlin.window +import de.unixwork.ui.kotlin.* + class Main : Application { override fun startup() { + toolbarItem(name = "button1", label = "Test") + addToolbarDefault("button1", ToolbarPosition.RIGHT); + val window = window("Test Window") { grid { vbox(vexpand = true, vfill = true) {