pike
07/17/2019, 12:56 AMdata class rule(val name: String, val def: String)
class ruleBook{
val rulesProperty = SimpleListProperty<rule>()
var rules by rulesProperty
}
class RuleBookVM: ItemViewModel<ruleBook>() {
val rules = bind(ruleBook::rulesProperty)
}
class TestView : View("Test View") {
val myRuleBook: RuleBookVM by inject()
init {
myRuleBook.rules.value.add(rule("hoge", "fuga"))
}
val name = textfield()
val definition = textfield()
override val root = vbox{
label("Test")
add(name)
add(definition)
button("Add a rule").action{
myRuleBook.rules.value.add(rule(name.text, definition.text))
}
tableview(myRuleBook.rules) {
column("name", rule::name)
column("def", rule::def)
}
}
}
geepawhill
07/18/2019, 1:03 AMpike
07/18/2019, 5:54 AMpike
07/18/2019, 6:11 AMpike
07/18/2019, 6:50 AMdata class rule(name: String)
data class ruleBook(rules: mutableList<rule>)
class FXruleBook{
val rulesProperty = SimpleListProperty<rule>()
var rules by rulesProperty
}
class RulebookVm: ItemViewModel<ruleBook>() {
val rules = bind(ruleBook::rulesProperty)
}
pike
07/18/2019, 6:53 AMfun loadData() : UIRuleBook {
val myNaiveRuleBook = //load some data into a ruleBook
val myRuleBook = FXRuleBook()
myRuleBook.value.addAll(myNaiveRuleBook.rules)
return myRuleBook
}
pike
07/18/2019, 6:55 AMval MyRuleBook: RuleBookVM by inject()
async {
controller.loadData()
} ui {
MyRuleBook.item = it
}
pike
07/18/2019, 8:46 AMgeepawhill
07/18/2019, 11:28 AMpike
07/18/2019, 11:11 PM