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

StarUML. Руководство разработчика. Глава 3. Пример Hello World

10 / 139

Глава 3. Пример Hello World

Эта глава кратко описывает методы и процедуры разработки аддина, используя стандартный пример "Здравствуй, мир".

Пример "Hello World"

"Hello World" - первый и самый простой пример разработанной программы. В этой главе мы будем использовать этот пример, чтобы побольше узнать об аддинах. Данный пример использует не все элементы расширения, а только основные. Он включает:

одно расширение меню,

один скрипт .

Этот пример добавляет пункт [Hello world!] в меню, и добавляет функцию, изменяющую название проекта на "Helloworld", когда пользователь выбирает этот элемент меню.

Создание скрипта

Сначала, используйте Jscript, чтобы создать скрипт, который изменяет заголовок проекта на "Helloworld". Используйте редактор текста, чтобы ввести исходный текст скрипта как показано ниже и сохранить его как «helloworld.js».

var app = new ActiveXObject("StarUML.StarUMLApplication"); var prj = app.GetProject();

prj.Title = "Helloworld";

Первая строка скрипта создает объект с именем StarUMLApplication. Этот объект обязательно должен быть создан, поскольку он предоставляет исходную точку для связи со StarUML™.

Вторая строка получает доступ к объекту проекта, а третья строка присваивает названию проекта строку "Helloworld".

Создание файла расширения меню

Файл расширения меню (.mnu) должен быть создан, чтобы расширить меню StarUML™. В этом примере, мы добавим пункт [Hello, world!] в меню [Tools].

<?xml version="1.0"?>

<ADDINMENU addInID="StarUML.HelloworldAddIn"> <BODY>

<MAINMENU>

<MAINITEM base="TOOLS" caption="Hello, world!" availableWhen="PROJECT_OPENED" script="helloworld.js"/>

</MAINMENU>

</BODY>

</ADDINMENU>

Файл расширения меню начинается с тега <ADDINMENU>, включающего теги <HEADER> и <BODY>. Секция <HEADER> может быть опущена, а секция <BODY> содержит информацию для расширения

StarUML. Руководство разработчика. Глава 3. Пример Hello World

11 / 139

меню. В этом примере элемент <MAINITEM> добавляется под элементом <MAINMENU>, чтобы расширить главное меню. Для элемента <MAINITEM> (это "основной" атрибут объявления элемента меню) параметр "caption" - означает название пункта меню, "availableWhen" - условие активизации пункта меню, а "script" - скрипт, который выполнится, когда элемент меню будет выбран.

Обратите внимание: для детального изучения технологии расширения меню, см. "Главу 8. Расширение меню".

Разработка аддина

Файл скрипта (helloworld.js) и файл расширения меню (helloworld.mnu) должны быть размещены в одном каталоге. В корневом каталоге StarUML™ есть каталог "modules". Создайте в нём подкаталог с имением "HelloworldAddIn" и поместите в него эти два файла.

Регистрация аддина

Если Вы создали собственный аддин, Вы должны создать для него файл описания, чтобы зарегистрировать аддин в StarUML. Файл описания аддина - XML-документ, имеющий то же имя, что и аддин, и расширение «.aid». Он содержит полную информацию об аддине, включая имя аддина, имя COM объекта, имя файла выполнимого модуля, имя файла расширения меню, URL системы помощи, и так далее. Для детального ознакомления со структурой файла описания аддина, см. "Главу 9. Написание дополнительного COM-объекта".

Ниже показан файл описания аддина «HelloWord».

<?xml version="1.0" encoding="UTF-8"?> <ADDIN>

<NAME>Helloworld AddIn</NAME> <DISPLAYNAME>Helloworld Sample</DISPLAYNAME> <COMPANY>Plastic Software, Inc.</COMPANY>

<COPYRIGHT>Copyright 2005 Plastic Software, Inc. All rights reserved.</COPYRIGHT> <HELPFILE>http://www.staruml.com</HELPFILE>

<ICONFILE>Helloworld.ico</ICONFILE>

<ISACTIVE>True</ISACTIVE>

<MENUFILE>helloworld.mnu</MENUFILE>

<VERSION>1.0.1.35</VERSION>

</ADDIN>

Сохраните файл описания в каталоге, где развернут аддин.

Проверка и выполнение аддина

Если регистрация аддина завершилась успешно, можно удостовериться, что пункт [Hello World!] добавлен в меню [Tools]. Когда этот пункт меню будет выбран, файл helloworld.js будет выполнен, и заголовок проекта изменится на "Helloworld".

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]