import de.unixwork.ui.ColumnType
import de.unixwork.ui.LinkButtonType
+import de.unixwork.ui.Menu
import de.unixwork.ui.SubListItem
import de.unixwork.ui.TabViewType
import de.unixwork.ui.TableModel
import de.unixwork.ui.UiList
import de.unixwork.ui.UiString
import de.unixwork.ui.UiText
+import de.unixwork.ui.kotlin.MenuBuilder
import de.unixwork.ui.kotlin.Toplevel
import de.unixwork.ui.kotlin.dialogWindow
import de.unixwork.ui.kotlin.openFileDialog
var currentSublistIndex = -1
var currentFeedIndex = -1
+ val contextMenu: MenuBuilder
+
init {
+ contextMenu = MenuBuilder(Menu())
+ contextMenu.menuItem(label = "Move Up") {
+
+ }
+ contextMenu.menuItem(label = "Move Down") {
+
+ }
+ contextMenu.menuItem(label = "Delete") {
+
+ }
+
setDefaultWindowSize(1600, 900)
window = splitViewWindow(title = "RSS Reader", sidebar = true) {
sidebar {
)
{ elm: FeedCollection?, i, sublist ->
val item = SubListItem()
+ //item.buttonMenu = contextMenu
elm?.let {
item.label = it.name
if(it.unreadItemsCount > 0 && it.itemStateMode != 2) {
import de.unixwork.ui.Toolbar
import de.unixwork.ui.ToolbarPosition
-class MenuBuilder(menu: Menu) {
- private val menu = menu
-
- fun menuItem(label: String? = null, icon: String? = null, onClick: EventHandler? = null) {
- val item = MenuItem(label, onClick)
- menu.add(item)
- }
+fun Menu.menuItem(label: String? = null, icon: String? = null, onClick: EventHandler? = null) {
+ val item = MenuItem(label, onClick)
+ add(item)
+}
- fun menu(label: String, block: MenuBuilder.() -> Unit) {
- val subMenu = Menu(label)
- val builder = MenuBuilder(subMenu)
- builder.block()
- menu.add(subMenu)
- }
+fun Menu.menu(label: String, block: Menu.() -> Unit) {
+ val subMenu = Menu(label)
+ subMenu.block()
+ add(subMenu)
+}
- fun checkItem(label: String? = null, icon: String? = null, varname: String? = null, onChange: EventHandler? = null) {
- val item = MenuCheckItem(label, varname)
- item.icon = icon
- item.onChange = onChange
- menu.add(item)
- }
+fun Menu.checkItem(label: String? = null, icon: String? = null, varname: String? = null, onChange: EventHandler? = null) {
+ val item = MenuCheckItem(label, varname)
+ item.icon = icon
+ item.onChange = onChange
+ add(item)
+}
- fun radioItem(label: String? = null, icon: String? = null, varname: String? = null, onChange: EventHandler? = null) {
- val item = MenuRadioItem(label, varname)
- item.icon = icon
- item.onChange = onChange
- menu.add(item)
- }
+fun Menu.radioItem(label: String? = null, icon: String? = null, varname: String? = null, onChange: EventHandler? = null) {
+ val item = MenuRadioItem(label, varname)
+ item.icon = icon
+ item.onChange = onChange
+ add(item)
+}
- fun separator() {
- menu.add(MenuSeparator())
- }
+fun Menu.separator() {
+ add(MenuSeparator())
}
-fun applicationMenu(block: MenuBuilder.() -> Unit) {
+
+fun applicationMenu(block: Menu.() -> Unit) {
Application.setAppMenu(menuBuilder(block))
}
-fun menuBuilder(block: MenuBuilder.() -> Unit) : Menu {
+fun menuBuilder(block: Menu.() -> Unit) : Menu {
val menu = Menu()
- val builder = MenuBuilder(menu)
- builder.block()
+ menu.block()
return menu
}
Toolbar.toggleItem(name, label, icon, tooltip, varname, onChange)
}
-fun toolbarMenu(name: String?, label: String? = null, icon: String? = null, tooltip: String? = null, block: MenuBuilder.() -> Unit) {
+fun toolbarMenu(name: String?, label: String? = null, icon: String? = null, tooltip: String? = null, block: Menu.() -> Unit) {
Toolbar.menu(name, label, icon, tooltip, menuBuilder(block))
}
-fun toolbarAppMenu(block: MenuBuilder.() -> Unit) {
+fun toolbarAppMenu(block: Menu.() -> Unit) {
Toolbar.menu(null, null, null, menuBuilder(block))
}