Как вложить фигуры в диаграмму DSL Tools? - PullRequest
0 голосов
/ 13 мая 2009

У меня есть DSL, содержащий два основных класса домена: Area и Entity. Области представлены визуально GeometryShape, тогда как объекты представлены CompartmentShape. Сущности могут быть встроены в область или нет (в этом случае они встроены в корневой объект, который является разновидностью области). Могут быть отношения между сущностями, в том числе между сущностями в разных областях. Области не могут быть встроены в другие области, а также объекты, встроенные в другие объекты.

Моя проблема в том, что я не могу получить желаемое поведение на диаграмме. Внедрение сущностей в области прекрасно работает на уровне модели, но визуальное представление ведет себя хаотично. Например, если я перетаскиваю сущность, созданную в области за пределами этой области, она больше не реагирует на щелчки мыши (у меня есть код, который выполняет переопределение, но каким-то образом сторона диаграммы не работает).

Я искал высоко и низко образцы того, как это сделать, и вышел пустым. Каждый пример, который я нашел в сети, имитирует вложение с помощью «ссылочных» отношений, в то время как я выполняю истинное встраивание классов домена (и, следовательно, связанных с ними классов формы).

У кого-нибудь есть пример, как это сделать?

Пока я проветриваюсь, я единственный, кто считает, что классы диаграмм / фигур недооценены?

1 Ответ

0 голосов
/ 13 мая 2009

Я полагаю, что есть пример этого в Специфичная для домена разработка с инструментами Visual Studio DSL . Кроме того, вы можете задать вопрос на форуме Visual Studio Extensibility .

...