13.모듈 프로젝트 편집

Edit

넥사크로 스튜디오에서 모듈 프로젝트 관련 기능은 넥사크로플랫폼 17.1.0.100 이후 버전에서 지원하지 않는 기능입니다.

- Composite Component 프로젝트는 넥사크로 모듈 디벨로퍼(베타)에서 개발할 수 있습니다.

모듈 프로젝트에 포함된 오브젝트를 편집할 수 있습니다. 오브젝트의 속성, 메소드, 이벤트를 추가하거나 수정할 수 있으며 Metainfo 정보를 수정할 수 있습니다.

13.1모듈 프로젝트 구성


구성요소

설명

1

Project

모듈 프로젝트 명

2

Common

EnumInfo, UnitInfo, RefreshInfo 파일을 관리

모듈 프로젝트 생성 시에는 해당 파일을 생성하지 않으며 필요한 경우 추가로 생성할 수 있습니다.

3

ObjectInfo

오브젝트 Metainfo 파일

4

Scripts

오브젝트의 동작을 구현한 스크립트 파일

오브젝트 생성 시에는 상속된 오브젝트에 따라 자동 생성

5

DesignScript

오브젝트의 디자인 시점의 동작을 구현한 스크립트 파일

오브젝트 생성 시에는 상속된 오브젝트에 따라 자동 생성

Dataset, ErrorEventInfo 오브젝트처럼 Invisible 오브젝트를 상속받은 경우에는 DesignScript 파일을 생성하지 않습니다. ObjectInfo, Scripts 파일만 생성합니다.


13.2오브젝트 속성, 메소드 이벤트 핸들러 추가

13.2.1오브젝트 속성 추가

속성을 추가하는 경우에는 [Project Explorer]에서 [ObjectInfo > 오브젝트ID.info] 항목을 선택하고 오른쪽 마우스를 클릭한 후 컨텍스트 메뉴에서 [Add > Property]를 선택합니다.


항목

설명

1

Name

추가할 속성명을 입력합니다.

이미 사용하는 속성명을 입력하면 속성을 재정의할 수 있습니다.

2

Syntax

입력한 속성명에 따라 Setter Function을 자동생성합니다.

3

Location

Setter Function이 추가될 자바스크립트 파일을 지정합니다.

모듈 프로젝트 내에 생성된 자바스크립트 파일 중에서 선택할 수 있습니다.

속성 추가 시 기본 설정되는 항목값을 수정할 수 있습니다.

[Finish] 버튼을 클릭하면 속성값이 추가되고 Setter Function이 추가된 자바스크립트 파일이 열립니다. Setter Function 내에 필요한 코드를 추가하고 파일을 저장합니다.

13.2.2오브젝트 메소드 추가

메소드를 추가하는 경우에는 [Project Explorer]에서 [ObjectInfo > 오브젝트ID.info] 항목을 선택하고 오른쪽 마우스를 클릭한 후 컨텍스트 메뉴에서 [Add > Method]를 선택합니다.


항목

설명

1

Name

추가할 메소드명을 입력합니다.

이미 사용하는 메소드명을 입력하면 메소드를 재정의할 수 있습니다.

2

Syntax

입력한 메소드명과 파라미터에 따라 Syntax을 자동생성합니다.

3

Return Type

메소드에서 반환되는 값의 타입을 지정합니다.

4

Argument

메소드 실행 시 필요한 파라미터를 지정합니다.

[+] 버튼을 클릭해 항목을 추가할 수 있습니다.

5

Location

메소드가 추가될 자바스크립트 파일을 지정합니다.

모듈 프로젝트 내에 생성된 자바스크립트 파일 중에서 선택할 수 있습니다.

Argument 항목 추가 시 상세 항목은 아래와 같습니다.


항목

설명

1

Name

이름

2

type

변수 타입

3

in

값을 메소드로 전달해주는 용도로 사용하는 파라미터

4

out

값을 메소드에서 얻어오는 용도로 사용하는 파라미터

5

option

필수 파라미터 여부

6

variable

가변 파라미터 여부

true로 설정 시 여러 개의 파라미터가 들어올 수 있습니다.

7

description

메소드 설명

Return Type 또는 Argument type 지정 시 사용하는 변수 타입은 이해를 돕기 위해 추가되는 항목입니다. 지정된 변수 타입과 상관없이 자바스크립트에서는 var 형으로 처리합니다.

메소드 추가 시 기본 설정되는 항목값을 수정할 수 있습니다.

[Finish] 버튼을 클릭하면 메소드가 추가되고 Syntax가 추가된 자바스크립트 파일이 열립니다. 필요한 코드를 추가하고 파일을 저장합니다.

메소드 항목을 추가한 후 [Project Explorer]에서 추가된 메소드 항목을 마우스 오른쪽 버튼으로 클릭하고 컨텍스트 메뉴에서 [Add Method Syntax] 항목을 선택하면 Argument 만 다른 메소드를 추가할 수 있습니다.

메소드 이름은 수정할 수 없고 Argument 설정을 다르게 해서 메소드를 추가할 수 있습니다.

추가된 메소드는 아래와 같이 확인할 수 있습니다.

13.2.3오브젝트 이벤트 핸들러 추가

이벤트 핸들러를 추가하는 경우에는 [Project Explorer]에서 [ObjectInfo > 오브젝트ID.info] 항목을 선택하고 오른쪽 마우스를 클릭한 후 컨텍스트 메뉴에서 [Add > EventHandler]를 선택합니다.


항목

설명

1

Name

추가할 이벤트 핸들러명을 입력합니다.

이미 사용하는 이벤트 핸들러명을 입력하면 이벤트 핸들러를 재정의할 수 있습니다.

2

Syntax

입력한 이벤트 핸들러명과 파라미터에 따라 Syntax을 자동생성합니다.

3

Return Type

이벤트 핸들러에서 반환되는 값의 타입을 지정합니다.

4

Argument

이벤트 핸들러 실행 시 필요한 파라미터를 지정합니다.

첫 번째 파라미터는 오브젝트의 클래스명으로 자동 입력됩니다.

두 번째 파라미터는 EventInfo 오브젝트 중 선택할 수 있습니다.

Argument 항목 추가 시 상세 항목은 아래와 같습니다.


항목

설명

1

Name

이름

2

type

변수 타입

3

in

값을 이벤트 핸들러로 전달해주는 용도로 사용하는 파라미터

4

out

값을 이벤트 핸들러에서 얻어오는 용도로 사용하는 파라미터

5

option

필수 파라미터 여부

6

variable

가변 파라미터 여부.

true로 설정 시 여러 개의 파라미터가 들어올 수 있습니다.

7

description

이벤트 핸들러 설명

이벤트 핸들러 추가 시 기본 설정되는 항목값을 수정할 수 있습니다.

추가된 이벤트 핸들러는 아래와 같이 확인할 수 있습니다.

13.3Metainfo Editor

오브젝트의 속성, 메소드, 이벤트 핸들러와 관련된 정보는 "오브젝트ID.info" 파일에 저장됩니다. 모듈에 포함된 오브젝트와 관련된 정보를 저장하는 파일을 Metainfo 파일이라 합니다. 오브젝트의 각 항목을 편집할 때는 Metainfo Editor를 실행합니다. [Project Explorer]에서 [ObjectInfo > 오브젝트ID.info] 항목을 더블클릭하거나 오른쪽 마우스 버튼으로 클릭한 후 컨텍스트 메뉴에서 [Edit] 항목을 선택하면 Metainfo Editor가 실행됩니다.


항목

설명

1

Editor Navigator

편집할 항목을 클릭하고 에디터를 실행합니다.

2

Toolbar

Undo, Redo 기능을 제공합니다.

원하는 항목을 필터링해 에디터 목록에 표시합니다.

상속 상태, 사용자 추가 항목에 따라 필터링 기능을 제공합니다.

3

Editor

Editor Navigator에서 선택한 항목에 따라 에디터를 표시합니다.

Toolbar 영역은 편집할 항목에 따라 조금씩 다르게 표시됩니다. 편집 대상 중 상속받아 사용하는 항목이 있는 경우에는 해당 항목을 필터링하는 기능을 제공합니다. 또한 편집 대상 항목을 추가하거나 삭제하고 상세한 내용을 편집할 수 있는 기능을 제공합니다.


항목

설명

1

Shows inherited items

상속받아 그대로 사용하는 항목을 표시하거나 감춥니다.

2

Shows overridden items

상속받은 항목을 재정의해 사용하는 항목을 표시하거나 감춥니다.

3

Shows added items

사용자가 추가한 항목을 표시하거나 감춥니다.

4

상속받아 사용하는 항목은 삭제할 수 없습니다.

상속받아 그대로 사용하는 항목을 삭제하는 경우에는 unused 항목을 true로 변경합니다.

상속받은 항목을 재정의해 사용하는 항목을 삭제하는 경우에는 상속받아 그대로 사용하는 상태로 변경합니다.

5

Delete added item

사용자가 추가한 항목을 삭제합니다.

6

Add item

새로운 항목을 추가합니다.

7


선택한 항목의 상세 설정을 편집합니다.

상속받아 사용하는 항목을 삭제하려 하는 경우에는 해당 항목의 재정의 여부에 따라 아래와 같은 경고 메시지가 표시됩니다.

- 상속받아 그대로 사용하는 항목(속성)인 경우



- 상속받은 항목(속성)을 재정의해 사용하는 항목(속성)인 경우


13.3.1ObjectInfo

오브젝트의 기본 정보를 관리합니다. id, inheritance, classname 항목은 수정할 수 없습니다.

13.3.2PropertyInfo

오브젝트의 속성 정보를 관리합니다. 각 속성의 설정을 변경하거나 새로운 속성을 추가할 수 있습니다.

13.3.3CSSInfo

오브젝트의 스타일 관련 속성 정보를 관리합니다. 속성을 추가할 수 있지만 새로 생성할 수는 없고 넥사크로 플랫폼에서 지원하는 스타일 속성 중에서 선택할 수 있습니다.

각 스타일 속성 앞에 표시된 "i" 아이콘을 클릭하면 해당 속성의 Syntax 정보를 확인할 수 있습니다.

13.3.4StatusInfo

오브젝트의 상태 속성 정보를 관리합니다. 넥사크로플랫폼에서 지원하는 기본 상태 속성은 6가지입니다. 기본 상태 속성 중에서 선택하거나 userstatus를 생성해 추가할 수 있습니다.

disabled/mouseover/focused/deactivate/enabled/readonly

항목 추가 시 기본 상태 속성을 선택한 경우에는 group 항목값이 "status"로 설정되며 그 외 사용자가 추가한 상태 속성은 "userstatus"로 설정됩니다.

13.3.5MethodInfo

오브젝트의 메소드 정보를 관리합니다. 메소드 항목을 선택하면 Metainfo Editor 하단에 Syntax 정보가 표시되며 정보를 편집할 수 있습니다. 여러 개의 Syntax를 설정한 경우에는 원하는 번호 버튼을 클릭하고 내용을 편집합니다.

아래 그림은 추가한 메소드 testMethod 항목의 Syntax 정보입니다. 2개의 Syntax가 설정되어 있어 번호 버튼이 2개 표시됩니다.

13.3.6EventHandlerInfo

오브젝트의 이벤트 핸들러 정보를 관리합니다. 이벤트 핸들러 항목을 선택하면 Metainfo Editor 하단에 Syntax 정보가 표시되며 정보를 편집할 수 있습니다.

ErrorEventInfo 오브젝트를 상속받아 원하는 형태의 EventInfo 오브젝트를 생성할 수 있습니다. 생성된 EventInfo 오브젝트는 이벤트 핸들러 추가 시 type 속성값으로 선택할 수 있습니다.

13.3.7EnumInfo

모듈 내에서 공통으로 사용하는 열거형(enumerated type) 정보를 관리합니다. Enum 정보를 사용하면 오브젝트 속성값 설정 시 속성값을 입력하는 방식이 아니라 제시된 목록에서 속성값을 선택할 수 있습니다.


항목

설명

1

composit

여러 항목을 선택할 수 있는지 여부를 설정합니다.

2

delimiter

composit 설정이 true인 경우 여러 개 항목을 선택했을 때 구분자를 설정합니다. 예를 들어 구분자를 "|"로 설정한 경우에는 "Visa|AMEX"와 같은 식으로 속성값이 처리됩니다.

넥사크로 플랫폼에서 정의된 Enum 정보는 수정할 수 없습니다.

Enum 항목을 추가하면 [Project Explorer > Common] 항목 아래에 EnumInfo.info 파일이 생성됩니다.

13.3.8UnitInfo

모듈 내에서 공통으로 사용하는 단위 정보를 관리합니다. Unit 정보를 사용하면 오브젝트 속성값 설정 시 사용할 단위를 지정하고 최소, 최대값을 지정할 수 있습니다.

13.3.9RefreshInfo

배포된 오브젝트의 특정 속성 변경 시 변경된 속성값에 따라 갱신되어야 하는 다른 속성에 대한 목록을 정의합니다.

예를 들어 Combo 오브젝트를 상속받아 구현한 경우 PropertyInfo 에서 index 속성의 refreshinfo가 "selectitem"으로 적용되어 있는 경우 해당 컴포넌트의 index 속성 변경 시 text, value, index 속성값이 순차적으로 갱신됩니다.

13.3.10ContentsInfo

오브젝트가 하위 Contents 구조를 가지는 경우 Contents 구조를 정의할 수 있습니다.

항목

설명

ContentsInfo

contentsformat

contents info의 파일 형식을 설정합니다.

xml, json 중 선택 (기본값 xml)

contentseditor

contents editor 처리 방식을 설정합니다.

auto(내장 에디터), external(별도 설치 에디터) 중 선택 (기본값 auto)

contentstype

contents 형식을 설정합니다.

contents, formats 중 선택 (기본값 contents)

showpreview

프리뷰 출력 여부를 설정합니다.

true, false 중 선택 (기본값 false)

showobjtree

컨텐츠를 구성하는 오브젝트 트리 구조 출력 여부를 설정합니다.

true, false 중 선택 (기본값 false)

Contents

tagname

XML 편집 시 저장될 tagname을 지정합니다.

지정하지 않은 경우 오류로 처리되며 해당 Contents를 무시합니다.

tagname은 문자, 숫자, 기호(-, _, .)만 사용할 수 있습니다.

typename

XML 편집 시 저장될 type을 지정합니다.

minoccurs

필수 최소 개수를 지정합니다.

0 이하 또는 미지정 시 0으로 처리됩니다.

필수 태그인 경우 1이상의 값을 지정합니다.

maxoccurs

제한 최대 개수를 지정합니다.

0 이하 또는 미지정 시 0으로 처리됩니다.

13.4Resource Explorer

모듈 프로젝트에서 사용할 리소스 파일, 도움말 파일(chm), 라이선스 파일을 관리합니다.

13.4.1Resources

리소스 파일을 관리할 수 있습니다. 개별 파일을 가져오거나 지정된 폴더 하위의 모든 리소스를 가져올 수 있습니다.

항목

설명

Import Resource Files

지정한 파일을 리소스로 가져옵니다.

Import Files from Folder

지정한 폴더 아래에 있는 모든 폴더, 파일을 리소스로 가져옵니다.

New Folder

새로운 폴더를 생성합니다.

13.4.2Help

도움말 파일을 관리할 수 있습니다. 한국어, 영어, 일본어 CHM 파일을 리소스 파일로 가져올 수 있습니다.

도움말 파일은 CHM(Microsoft Compiled HTML Help) 파일만 리소스 파일로 사용할 수 있습니다.

도움말 리소스 파일이 있는 경우 모듈을 설치하면 [Help] 메뉴에서 모듈 도움말을 확인할 수 있습니다.

13.4.3License

라이선스 파일을 관리할 수 있습니다. 라이선스 파일은 문서 형태로 제공되며 모듈 설치 후 설치 폴더에서 확인할 수 있습니다.

항목

설명

Import License Files

지정한 파일을 리소스로 가져옵니다.

Import Files from Folder

지정한 폴더 아래에 있는 모든 폴더, 파일을 리소스로 가져옵니다.

New Folder

새로운 폴더를 생성합니다.