Inceptum/launcher-gtk/src/main/kotlin/io/gitlab/jfronny/inceptum/gtk/menu/BuiltToggleItem.kt

20 lines
500 B
Kotlin

package io.gitlab.jfronny.inceptum.gtk.menu
import org.gnome.gio.MenuItem
import org.gnome.gio.SimpleAction
import org.gnome.glib.Variant
class BuiltToggleItem(action: SimpleAction, menuItem: MenuItem?) : BuiltMenuItem(action, menuItem) {
var state: Boolean
get() = action.state!!.boolean
set(state) {
action.state = Variant.newBoolean(state)
}
fun toggle(): Boolean {
val toggled = !state
state = toggled
return toggled
}
}