Поделиться через


Настройка и расширение доменного языка

Пакет SDK для моделирования и визуализации Visual Studio (VMSDK) предоставляет несколько уровней, на которых можно указать моделирование средств:

  1. Укажите доменный язык (DSL), используя схему определения DSL.Можно быстро создать DSL с diagrammatic нотацию, четкой формой XML и основными средствами, которые требуются создают код и другие артефакты.

    Дополнительные сведения см. в разделе Определение доменного языка.

  2. Настройка DSL с помощью нескольких продвинутых функциях определения DSL.Например, можно создать дополнительные связи появляться, когда пользователь создает элемент.Эти методы главным образом достиганы в определении DSL, а некоторые требуется несколько линий программного кода.

  3. Расширение пользовательских инструментов моделирования с помощью программного кода.VMSDK разработан специально для расширения, чтобы облегчить его интеграции с кодом, создается из определения DSL.Дополнительные сведения см. в разделе Написание кода для настройки доменного языка.

ПримечаниеПримечание

При обновлении файл определений DSL, не забудьте щелкнуть Преобразовать все шаблоны на панели инструментов обозревателя решений, прежде чем перестроить решение.

Темы данного раздела

Добиться этого эффекта

См. раздел в этом разделе

Разрешить пользователю задавать свойства цветов и стилей фигуры.

Щелкните правой кнопкой мыши фигуру или соединителя, класс Добавьте предоставляетсяи щелкните этот элемент.

Дополнительные сведения см. в разделе Настройка представления схемы.

Различные классы элементов модели выглядят похожи на схеме, совместное использование свойства как исходные высота и ширина, цвет подсказки.

Используйте наследование между фигурами или классами соединителя.Сопоставление между фигурами производными и доменными классами, унаследованными наследуют сведения о сопоставлении родительскиев.

Сопоставьте различные классы доменных или к тому же классу формы.

Класс элемента модели отображается различными контекстами фигур.

Сопоставление несколько классов фигуры на один и тот же доменному классу.При построении решения следуйте отчетом об ошибках и введите код, чтобы решить, какую запрошенная форма, которую необходимо использовать.

Цвет фигуры или другие функции, такие как шрифт, указывающие текущее состояние.

Дополнительные сведения см. в разделе Обновление фигур и соединителей в соответствии с моделью.

Создайте правило, обновляет предоставляемых ими свойств.Дополнительные сведения см. в разделе Правила распространяют изменения в пределах модели.

Или используйте OnAssociatedPropertyChanged () обновления non-предоставляла функции, такие как стрелки или шрифт ссылки.

Значок изменится на форму для отображения состояния.

Задайте видимость сопоставление в окне сведения о оформителя DSL.Найдите несколько оформителей образа в той же позиции.См. описание свойства Обновление фигур и соединителей в соответствии с моделью.

Или, переопределение ImageField.GetDisplayImage().См. пример в описании метода ImageField.

Задайте образом фоновое изображение в любой форме

Переопределите InitializeInstanceResources (), чтобы добавить границы ImageField.Дополнительные сведения см. в разделе Настройка представления схемы.

Гнездитесь фигуры на любой глубине

Настройка рекурсивное внедрения дерево.Укажите BoundsRules, чтобы содержать фигуры.Дополнительные сведения см. в разделе Настройка представления схемы.

Вложите соединители на фиксированные точек на границе элемента.

Терминальные define содержит внедренные элементы, представленные маленькими портам на схеме.Используйте BoundsRules, чтобы исправить портов на месте.См. образец схемы на принципиальной Пакет SDK для визуализации данных и моделирования.

Текстовое поле отображает значение, полученное из других значений.

Сопоставление оформитель текст на вычисляемый или настраиваемому свойству домена хранения.Дополнительные сведения см. в разделе Вычисляемые и пользовательские свойства хранилища.

Распространите изменения между элементами модели или между фигурами

Дополнительные сведения см. в разделе Проверка в доменных языках.

Распространите изменения к ресурсам, что и другие Visual Studio расширения вне хранилища.

Дополнительные сведения см. в разделе Обработчики событий распространяют изменения за пределы модели.

В окне свойства отображаются свойства связанного элемента.

Переадресованы свойства установки.Дополнительные сведения см. в разделе Настройка окна свойств.

Категории свойств

Окно свойств разделено на разделы, называемые категориям.Установка Категория своих свойств домена.Свойства с одинаковым именем категории отображаются в один и тот же раздел.Можно также присвоить Категория роли в связи.

Контролируйте доступ пользователей к свойствам домена

Установка Отображается false предотвратить отображение свойство домена в окне свойств во время выполнения.Можно сопоставить его отправки СМС оформителей.

Пользовательский интерфейс только для чтения запрещает пользователям изменить свойство домена.

Доступ к свойству домена приложения не трогнут.

Изменение имени, значка и видимость для узлов в обозревателе модели DSL.

Дополнительные сведения см. в разделе Настройка обозревателя моделей.

Включите копию, вырезать и вставить

Установка Включите вставить копии свойство Редактор узел в обозревателе DSL.

Связи ссылки копии и их целевые объекты, когда элемент копируется.Например, комментарии копии, вложенных в элемент.

Установка Передает копии свойство роли источника (представленных линией на одной стороне связи в схеме определения доменной DSL).

Напишите код для переопределения ProcessOnCopy для достижения более сложных эффектов.

Дополнительные сведения см. в разделе Настройка функции копирования.

Удаление reparent или выполните повторную компоновку связанные элементы, если элемент удален.

Установка Распространяет удалить значение роли в связи.Для более сложных эффектов, переопределение ShouldVisitRelationship и ShouldVisitRolePlayer методы MyDslDeleteClosure класс, определенный внутри DomainModel.cs

См. раздел Настройка функции удаления.

Сохраните макет и внешний вид фигуры на копии и сопротивлени-удалении.

Добавление фигур и соединителей на скопированный ElementGroupPrototype.Самый удобный метод для переопределения ElementOperations.CreateElementGroupPrototype()

Дополнительные сведения см. в разделе Настройка функции копирования.

Вставьте фигуры в выбранном местоположении, как текущая позиция курсора.

Переопределенный ClipboardCommandSet.ProcessOnCopy() использовать версию место хранения-специфического ElementOperations.Merge(). См. Настройка функции копирования.

Создайте дополнительные ссылки на затире

Переопределите ClipboardCommandSet.ProcessOnPasteCommand ()

Включите drag and drop из этой схемы, DSLs или других схем UML и элементов окон

См. раздел Практическое руководство. Добавление обработчика перетаскивания.

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

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

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

Укажите директиву слияния элементов на доменном классе целевого объекта и определение связей.В сложных случаях можно добавлять пользовательский код.Дополнительные сведения см. в разделе Настройка создания и перемещения элементов.

Создайте группу в составе элементы с одним средством.Например, компонент с заданным набором портов.

Переопределите метод инициализации области элементов в ToolboxHelper.cs.Создайте прототип группы элементов (EGP), содержащий элементы и их отношения связей.Дополнительные сведения см. в разделе Настройка элементов и панели элементов.

Включить фигуры субъекта и порта в EGP или укажите BoundsRules, чтобы изменить расположение фигур EGP порта при создании экземпляра.Дополнительные сведения см. в разделе Класс BoundsRules ограничивает расположение и размеры фигур.

Используйте одно средство соединения для создания нескольких типов связей.

Добавление правила подключения ссылки (жидкокристаллический монитор) к конструктору соединения, вызванный функцией.Жидкокристаллические мониторы определяют тип связи из типов 2 элементов.Чтобы сделать данным зависит от состояния элементов можно добавлять пользовательский код.Дополнительные сведения см. в разделе Настройка элементов и панели элементов.

Липкие средства - пользователь может дважды щелкнуть любое средство для создания фигур и соединителей много можно последовательно.

Выберите в обозревателе DSL Editor узел.В окне свойства установите Использует липкие элементы панели инструментов.

Определение команды меню

См. раздел Практическое руководство. Изменение стандартной команды меню в доменном языке.

Ограничьте модель с правилами проверки

См. раздел Проверка в доменных языках.

Создание кода, файлы конфигурации или документы на основе DSL.

Создание кода из доменного языка

Как настраивать модели сохраняются в файл.

См. раздел Настройка хранилища файлов и XML-сериализации.

Сохраните модели с базами данных или другими носитель.

Переопределенный YourLanguageDocData

См. раздел Настройка хранилища файлов и XML-сериализации.

Интеграция несколько DSLs таким образом, что они будут работать как часть одного приложения.

Дополнительные сведения см. в разделе Интеграция моделей с помощью Visual Studio Modelbus.

Разрешить его DSL, которые будут расширение сторонние разработчики, проконтролируйте и расширение.

Расширение доменного языка с помощью MEF

Совместное использование классов в различных доменных языках с помощью библиотеки доменных языков

Определение политики блокировки для создания сегментов, доступных только для чтения

См. также

Основные понятия

Определение доменного языка

Пакет SDK визуализации и моделирования — доменные языки

Другие ресурсы

Написание кода для настройки доменного языка