Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
37
Добавлен:
20.03.2016
Размер:
7.31 Mб
Скачать

StarUML. Руководство разработчика. Глава 4. Использование API

17 / 139

Сохранение проекта

Чтобы сохранить текущий проект, открытый в StarUML™, нужно получить ссылку на объект IProjectManager и затем использовать метод SaveProject. Используйте метод SaveProjectAs, чтобы сохранить проект под другим именем. Используйте метод SaveAllUnits, чтобы сохранить все секции проекта.

var app = new ActiveXObject("StarUML.StarUMLApplication"); var prjmgr = app.ProjectManager;

prjmgr.SaveProject();

prjmgr.SaveProjectAs("MyProject2.uml");

prjmgr.SaveAllUnits();

Закрытие проекта

Чтобы закрыть проект, получите ссылку на объект IProjectManager, и затем используйте его метод CloseProject

var app = new ActiveXObject("StarUML.StarUMLApplication"); var prjmgr = app.ProjectManager;

prjmgr.CloseProject();

Работа с секциями

Выделение новой секции

Чтобы выделить новую секцию и затем работать с пакетом, моделью или подсистемой как отдельным файлом, нужно получить ссылку на объект IProjectManager и затем использовать метод SeparateUnit.

 

 

 

var app

= new

ActiveXObject("StarUML.StarUMLApplication");

var prjmgr =

app.ProjectManager;

var

pkg

= ...

// Присвоить ссылку на пакет, превращаемый в секцию

var

new_unit

= prjmgr.SeparateUnit(pkg, "NewUnit.unt");

Присоединение секции

Если отделенный пакет, модель или секция подсистемы больше не должны обрабатываться как отдельный файл и должны быть объединены с проектом, получите ссылку на объект IProjectManager и затем используйте метод MergeUnit.

var app = new ActiveXObject("StarUML.StarUMLApplication"); var prjmgr = app.ProjectManager;

var pkg = ... // Assigns reference for the package that will no longer be managed as a unit. prjmgr.MergeUnit(pkg);

Доступ к подсекциям

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

var unit = ... // Присваиваем ссылку на секцию, которая имеет подсекции for (var i = 0; i < unit.GetSubUnitDocumentCount(); i++) {

Соседние файлы в папке ПиАПС ЛР2