Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Финальный дип..doc
Скачиваний:
10
Добавлен:
27.09.2019
Размер:
878.59 Кб
Скачать

2.Кодирование с использованием среды разработки Net Beans и языка программирования JavaScript.

1.1 Общая структура аддина.

Программная реализация модуля может быть выполнена на любом языке программирования поддерживающего технологию COM или на одном из скриптовых языков поддерживаемых основной программой. Для создания небольших по объёму и функциональным возможностям модулей проще и удобнее использовать JavaScript, т.к. излишнее усложнение разрабатываемого приложения негативно скажется на его надёжности и увеличит количество времени потраченного на разработку. Каждый аддин представляет собой папку с фалами трёх типов: с расширением .js – сам исполняемый файл скрипта, который отвечает за доступ ко всем внутренним процедурам и функциям родительской программы, .aid – файл описания аддина, содержащий информацию о его регистрации в системе StarUML и .mnu – текстовый XML – файл содержащий описание встраиваемого пункта меню. Рис 1.

Рис.1 Файлы аддина.

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

var prj = app.GetProject();

prj.Title = "UML to SQL";

Первая строка скрипта создаёт объект с именем

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

Структура XML – файла расширения меню.

Создаётся XML – файл расширения меню – UmlToSql.mnu.

<?xml version="1.0"?>

<ADDINMENU addInID="StarUML.UmlToSqlAddIn">

<BODY>

<MAINMENU>

<MAINITEM caption="&UML to SQL" beginGroup="TRUE" availableWhen="MODEL_SELECTED">

<!-- reserved menu item for checking UML Model

<MAINITEM caption="Syntax Check" actionId="1" />

-->

<MAINITEM caption="&Generate Code..." actionId="2" />

</MAINITEM>

</MAINMENU>

<POPUPMENU>

<POPUPITEM caption="&UML to SQL" beginGroup="TRUE" availableWhen="MODEL_SELECTED">

<!-- reserved menu item for checking UML Model

<POPUPITEM caption="Syntax Check" actionId="1" />

-->

<POPUPITEM caption="&Generate Code..." actionId="2" />

</POPUPITEM>

</POPUPMENU>

</BODY>

</ADDINMENU>

Этот файл содержит XML – код описания нового элемента меню и содержит:

  • Версию XML и кодировку документа - xml version="1.0. Сюда же можно добавить название кодировки файла.

  • Идентификатор нового элемента addInID = "StarUML.UmlToSqlAddIn".

  • Указатель на родительский пункт меню, название элементов и их доступность. В данном случае они доступны, когда выделена исходная модель.

  • Указатель на родительский пункт меню, название подменю основного добавляемого элемента.

Родительским пунктом меню в данном случае является меню Tools. В него добавляется пункт UML to SQL, который в свою очередь имеет подменю Generate SQL code. Рис. 2.

Рис 2. Новые элементы меню.

1.2 Структура файла описания модуля.

Файл описания модуля с расширением .aid, служит для регистрации аддина в основной программе. Если регистрации не пройдена, система укажет файл, в котором обнаружена ошибка и не прошедший проверку модуль не будет загружен. Такая система способствует предотвращению ошибок в выходных данных из-за неправильной работы аддина. Рис.3-4.

Рис. 3 Пример неудачной регистрации. Указание причины неудачи.

Рис.4 Успешная регистрация модуля.

Файл представляет из себя XML – код с описанием аддина.

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

<ADDIN>

<NAME>UML to SQL</NAME>

<DISPLAYNAME>UML to SQL</DISPLAYNAME>

<COMPANY>OOO “Olmiks”</COMPANY>

<COPYRIGHT> Copyright by OOO “Olmiks” company.</COPYRIGHT>

<HELPFILE>http://www.staruml.com</HELPFILE>

<ICONFILE>UmlToSql.ico</ICONFILE>

<ISACTIVE>True</ISACTIVE>

<MENUFILE>UmlToSql.mnu</MENUFILE>

<VERSION>1.0.1.29</VERSION>

</ADDIN>

Код несёт в себе информацию о:

  • Версии XML и кодировке.

  • Названии модуля.

  • Отображаемом имени.

  • Названии компании производителя.

  • Имени правообладателя.

  • Файле помощи.

  • Названии логотипа модуля.

  • О файле расширения меню.

  • О текущей версии аддина.