Как открыть несколько просмотров редактора в TornadoFX - PullRequest
0 голосов
/ 05 февраля 2020

Я следую руководству здесь , где приводится пример редактора, использующего ViewModel.

Я хочу изменить это так, чтобы вместо одного редактора, который привязка к каждому объекту домена для редактирования, вместо этого каждый объект вызовет свой собственный отдельный редактор.

Я хочу продолжать использовать ViewModels, так как мне нравится разделение, которое они предоставляют, и API, который они имеют (простой откат / сохранение ).

Как мне обращаться с открытием редактора для объекта домена (особенно способом TornadoFX)?

1 Ответ

1 голос
/ 05 февраля 2020

Решение состоит в том, чтобы создать новую область видимости для нового редактора и вставить соответствующие модели в эту новую область видимости. Если вы используете рабочее пространство, это делается с помощью встроенных функций, таких как dockInNewScope:

workspace.dockInNewScope<MyEditor>(myModel1, myModel2, etc)

Если вы не используете рабочее пространство, вы можете создать новую область вручную, поместить в нее модели и Кроме того, в новой области видимости поиска:

val newScope = Scope(myModel1, myModel2)
find<MyEditor>(newScope).openWindow()

MyEditor в этом случае увидит myModel и myModel2 в своей области видимости, так что он сможет внедрить их.

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