본문 바로가기
프로그래밍/설계공부

제 3 장. HelloWord 예제

by 건우아빠유리남편 2009. 7. 23.
반응형

제 3 장. HelloWord 예제

이 장에서는 Hello, world 예제를 가지고 Add-In을 개발하는 방법과 과정을 간단하게 설명한다.

"Hello, world" 예제

Hello, world 예제는 어떤 기술들을 익히기 위해 가장 처음으로 사용되는 예제이자 가장 쉬운 예제이다. 이 예제를 통해서 Add-In에 대한 감을 잡을 수 있도록 한다. Hello, world 예제는 모든 Add-In 구성 요소들을 사용하지 않고 가장 기본적인 것만을 사용하여, 다음과 같이 구성한다.

  • 하나의 메뉴 확장(Menu Extension)
  • 하나의 스크립트(Script)

Hello, world 예제는 메뉴 [Hello, world!]를 하나 추가하고 사용자가 해당 메뉴를 선택하면 프로젝트의 명칭(title)이 "Helloworld"로 바뀌도록 하는 기능을 추가하는 과정을 설명한다.

스크립트 작성하기

먼저 프로젝트의 명칭을 "Helloworld"로 바뀌게 하는 스크립트를 JScript 언어로 작성한다. 스크립트 소스를 다음과 같이 텍스트 편집기로 작성하고 helloworld.js로 저장한다.

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

var prj = app.GetProject();
prj.Title = "Helloworld";

스크립트의 첫 번째 라인은 StarUMLApplication 개체를 하나 생성한다. 이 개체는 StarUML을 다루기 위한 시발점이 되는 개체 이므로 반드시 생성해야 한다. 두 번째 라인은 프로젝트(Project)에 해당하는 개체를 얻어오는 것이고, 세 번째 라인은 가져온 프로젝트 개체에 명칭(Title)을 "Helloworld"로 지정하라는 명령이다.

메뉴 확장 파일 작성하기

StarUML의 메뉴를 확장하기 위해서는 먼저 메뉴 확장 파일(.mnu)을 작성해야 한다. 여기서는 [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> 부분에 메뉴 확장에 관한 내용이 기록되는데, 여기서는 메인 메뉴를 확장할 것이므로 <MAINMENU> 요소 하위에 <MAINITEM> 요소로 메뉴를 추가한다. 이 요소의 'base' 속성은 메뉴가 추가될 위치를, 'caption'은 메뉴의 이름, 'availableWhen'은 메뉴가 활성화되는 시점, 그리고 'script'는 메뉴가 눌러졌을 때 실행될 스크립트를 연결한다.

노트: 메뉴 확장에 관한 자세한 내용은 "Chapter 8. Extending Menu"를 참고하라.

Add-In 배치

작성된 소크립트 파일(helloworld.js)과 메뉴 확장 파일(helloworld.mnu)을 특정 디렉토리에 함께 배치해야 한다. StarUML을 설치한 디렉토리에 보면 "modules"라는 디렉토리가 있다. 이 디렉토리 하위에 "HelloworldAddIn"이라는 디렉토리를 만들고 두 파일을 여기에 위치시킨다.

Add-In 등록

Add-In 파일들을 정상적으로 디렉토리에 배치했다면 StarUML™ 에서 Add-In을 인식할 수 있도록 Add-In Description 파일을 작성해야 한다. Add-In Description 파일은 확장자가 .aid 인 XML문서 파일로 여기에는 Add-In의 이름, COM 객체 이름, 실행 모듈 파일명, 메뉴 파일명, 도움말 URL 등 Add-In에 관한 전반적인 정보를 담고 있다. Add-In Description 파일 작성에 대한 자세한 내용은 "Chapter 9. Writing Add-in COM Object"를 참고하라.
다음은 HelloWorld 예제의 Add-In Description 파일이다.

<?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>

작성된 Add-In Description 파일을 Add-In을 배치한 디렉토리에 저장한다.

Add-In 추가 확인 및 실행

위 과정을 정상적으로 수행했다면 StarUML에 Hello, world Add-In이 추가되어 있을 것이다. StarUML을 구동한 뒤 [Tools]->[Add-In Manager]를 선택하여 Add-In이 정상적으로 추가되었는지를 점검한다.

정상적으로 설치되었다면 [Tools] 메뉴 하위에 [Hello, world!] 메뉴가 추가되어 있는 것을 확인할 수 있다. 이 메뉴를 선택하면 helloworld.js 파일이 실행되어 프로젝트 명칭(Title)이 "Helloworld"로 변경될 것이다.

반응형

'프로그래밍 > 설계공부' 카테고리의 다른 글

제 5 장. 접근법 사용하기  (0) 2009.07.23
제 4 장. Open API 사용하기  (0) 2009.07.23
제 2 장. StarUML 아키텍쳐  (0) 2009.07.23
1장 StarUML 소개  (0) 2009.07.23
도서관리프로그램 UseCase - Diagram  (0) 2009.07.16

댓글