У меня есть DSL, содержащий два основных класса домена: Area и Entity. Области представлены визуально GeometryShape, тогда как объекты представлены CompartmentShape. Сущности могут быть встроены в область или нет (в этом случае они встроены в корневой объект, который является разновидностью области). Могут быть отношения между сущностями, в том числе между сущностями в разных областях. Области не могут быть встроены в другие области, а также объекты, встроенные в другие объекты.
Моя проблема в том, что я не могу получить желаемое поведение на диаграмме. Внедрение сущностей в области прекрасно работает на уровне модели, но визуальное представление ведет себя хаотично. Например, если я перетаскиваю сущность, созданную в области за пределами этой области, она больше не реагирует на щелчки мыши (у меня есть код, который выполняет переопределение, но каким-то образом сторона диаграммы не работает).
Я искал высоко и низко образцы того, как это сделать, и вышел пустым. Каждый пример, который я нашел в сети, имитирует вложение с помощью «ссылочных» отношений, в то время как я выполняю истинное встраивание классов домена (и, следовательно, связанных с ними классов формы).
У кого-нибудь есть пример, как это сделать?
Пока я проветриваюсь, я единственный, кто считает, что классы диаграмм / фигур недооценены?