Повторное использование элементов в TornadoFX - PullRequest
0 голосов
/ 05 августа 2020

Как сделать компоненты многоразовыми в TornadoFX? Предположим, у меня есть tableview, определенный следующим образом:

tableview<MyObj>(items) {
    column("name", MyObj::name)
    column("value", MyObj::value)
}

Могу ли я как-то обернуть его, чтобы повторно использовать те же столбцы в других представлениях? Чтобы использовать его как

mytableview(items)

Таким образом, я не буду дублировать какие-либо столбцы.

1 Ответ

1 голос
/ 05 августа 2020

Сделайте фабричную функцию!

fun EventTarget.myobjtable(items: ObservableList<MyObj>, op: TableView<MyObj>.() -> Unit = {}) =
    tableview(items) {
        column("name", MyObj::name)
        column("value", MyObj::value)
        op()
    }

Это должно работать так же, как вызов исходной функции tableview, только с уже добавленными столбцами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...