Показывать теги на диаграмме Enterprise-Architect через надстройку

Я использую следующий код для создания диаграммы в Enterprise-Architect (надстройка с C#):

using EA;
...
public int AddDiagram(string name)
    {
        Package treeSelectedPackage = repository.GetTreeSelectedPackage();
        Diagram dgr = treeSelectedPackage.Diagrams.AddNew(name, "Extended::Requirements");
        dgr.Update();
        treeSelectedPackage.Diagrams.Refresh();
        treeSelectedPackage.Update();
        return dgr.DiagramID;
    }

хранилище является EA.Repository-Объект.

Я могу добавить элементы на диаграмму, но мне нужно включить отображение тегов / значений тегов на диаграмме. В Enterprise-Architect вы включаете его:

щелкните правой кнопкой мыши на диаграмме -> Свойства... -> Вкладка "Элементы" -> Показать отделения: отметьте "Теги"

Что я должен добавить к методу выше, чтобы включить это для новой диаграммы?

2 ответа

Решение

В Diagram класс, некоторые свойства диаграммы доступны для настройки (например, ShowPackageContents), а другие нет. Свойство тега element является одним из последних.

Тем не менее, есть два дополнительных атрибута, которые инкапсулируют другие свойства, StyleEx а также ExtendedStyle, которые соответствуют t_diagram таблицы StyleEx а также PDATA столбцы соответственно. Обе они предназначены для чтения / записи, но их содержимое не документировано, поэтому нет гарантии, что компоновка не изменится от одной версии EA к другой (хотя на практике вы в безопасности, поскольку EA, как правило, очень хорошо поддерживает обратную работу. совместимость).

Каждый на форме keyword=value;где значение в большинстве случаев равно 1 или 0 для true/false. Свойство tag элемента находится в ExtendedStyle и называется ShowTags,

Советник устанавливает все эти свойства при создании диаграммы, но вы хотите изменить только одно. Так что вам нужно сделать, это создать диаграмму, включающую Update() позвони, сделай поиск ExtendedStyle, заменяя ShowTags=0; с ShowTags=1;, а затем позвоните Update() снова.

Возможно, вам придется обновить базу данных, "ShowTags=0;" в таблице t_diagram используйте метод repository.SQLQuery

Другие вопросы по тегам