7.오브젝트 인터페이스 함수 활용하기

Edit

넥사크로 모듈 디벨로퍼는 "베타" 버전입니다.

- "베타" 기간 동안 일부 제품 기능은 변경될 수 있습니다.

- 온라인 매뉴얼 URL은 변경될 수 있습니다.

- 가이드에서 사용한 샘플 코드는 아래 링크에서 내려받을 수 있습니다.

https://github.com/TOBESOFT-DOCS/SIMPLE_MODULE_PROJECT/archive/master.zip

https://github.com/TOBESOFT-DOCS/SIMPLE_MODULE_PROJECT

Project Explorer 탭에서 .xcdl 파일 또는 Design[Object 명].js 파일을 열면 속성창에서 오브젝트 인터페이스 목록을 확인할 수 있습니다. 넥사크로 스튜디오에서 이벤트를 추가하는 방식과 마찬가지로 각 항목을 더블클릭하면 기본 템플릿이 생성됩니다.

7.1XCDL 파일

Project Explorer 탭에서 .xcdl 파일을 열고 Class Definition 탭이 활성화된 경우 속성창에서 오브젝트 인터페이스 목록을 확인할 수 있습니다.

오브젝트 인터페이스 함수는 아래와 같이 분류할 수 있습니다.

7.1.1바인딩 정보 처리에 관여하는 오브젝트 인터페이스 함수

바인딩 정보 처리하기에서 바인딩 정보를 처리하면서 사용한 3가지 오브젝트 인터페이스 함수를 확인할 수 있습니다.

항목

설명

on_init_bindSource

바인딩 정보 중 Column ID가 없는 경우 바인딩된 속성값을 처리합니다.

예를 들어 Dataset 오브젝트의 updateColID 메소드를 실행해 Column ID가 변경되면서 바인딩 정보에 있던 Column ID가 없어지는 경우 호출합니다.

on_change_bindSource

바인딩된 Dataset 오브젝트의 컬럼값이 변경된 경우 발생합니다.

BindItem 오브젝트가 초기화되거나 Dataset 오브젝트의 rowposition 속성값이 변경되는 경우 호출합니다.

on_getBindableProperties

바인딩을 지원하는 속성을 지정합니다.

배열 형태로 여러 개를 지정할 수 있습니다.

on_getBindableProperties 오브젝트 인터페이스 함수에서는 배열 형태로 여러 속성을 지정할 수 있지만, 현재 버전에서는 하나의 속성만을 처리합니다.

7.1.2컴포넌트 초기화에 관여하는 오브젝트 인터페이스 함수

컴포지트 컴포넌트가 배치된 Form 로딩 시 아래와 같은 순서로 오브젝트 인터페이스가 동작합니다.

on_change_containerRect
on_create_contents
<< UI Components Initialize >>
on_create_contents_command (Web browser loading only)
on_attach_contents_handle (Web browser loading only)
on_created_contents (NRE loading only)

컴포지트 컴포넌트를 스크립트에서 생성하고 추가하는 경우에는 아래와 같은 순서로 오브젝트 인터페이스가 동작합니다.

on_change_containerRect
on_create_contents
<< UI Components Initialize >>
on_created_contents

항목

설명

on_change_containerRect

컴포넌트의 크기가 변경되면서 호출합니다.

컴포넌트 초기화 시 또는 width, height 속성값이 변경되는 경우 필요한 동작을 정의할 수 있습니다.

on_create_contents

nexacro.ControlElement를 생성 후 호출합니다.

컴포지트 컴포넌트의 경우 on_create_contents 오브젝트 인터페이스가 호출된 이후 화면에 배치된 컴포넌트를 생성하고 초기화합니다.

on_create_contents_command

Form 로딩 시 컴포넌트를 HTML 태그 형식으로 생성하는 과정에서 호출합니다.

동적으로 컨트롤을 추가하거나 속성을 변경하는 경우 필요한 동작을 정의할 수 있습니다.

on_attach_contents_handle

Form 로딩 시 컴포넌트를 HTML 태그 형식으로 모두 생성한 후 호출합니다.

동적으로 컨트롤을 추가하거나 속성을 변경하는 경우 필요한 동작을 정의할 수 있습니다.

on_created_contents

컴포넌트 생성이 완료된 이후 호출합니다.

NRE에서는 Form 로딩 시에도 호출되며, 웹브라우저에서는 스크립트에서 컴포넌트를 생성한 경우에만 호출됩니다.

Form 로딩 시 컴포넌트 생성 완료 시점에 호출되는 오브젝트 인터페이스가 NRE와 웹브라우저에 따라 다릅니다. 컴포지트 컴포넌트가 지원하는 범위에 따라 두 가지 오브젝트 인터페이스를 모두 구현해주어야 할 수 있습니다.

7.1.3컴포넌트 삭제에 관여하는 오브젝트 인터페이스 함수

항목

설명

on_destroy_contents

컴포넌트를 삭제하면서 호출합니다.

컴포넌트의 destroy 메소드를 실행하거나 Application 오브젝트의 exit 메소드를 실행하면서 호출합니다.

7.1.4특정 속성 변경 시 호출하는 오브젝트 인터페이스 함수

항목

설명

on_apply_prop_enable

enable 속성값이 변경되거나 enable 상태가 변경될 때 호출합니다.

on_apply_text

text, expr 속성값이 변경될 때 호출합니다.

on_apply_prop_cssclass

cssclass 속성값이 변경될 때 호출합니다.

on_change_containerRect

width, height 속성값이 변경될 때 호출합니다.

7.1.5접근성 속성 처리 시 호출하는 오브젝트 인터페이스 함수

항목

설명

on_get_accessibility_action

accessibilityaction 속성값이 없는 경우 값을 확인하기 위해 호출합니다.

on_get_accessibility_description

accessibilitydescription 속성값이 없는 경우 값을 확인하기 위해 호출합니다.

on_get_accessibility_label

accessibilitylabel 속성값이 없는 경우 값을 확인하기 위해 호출합니다.

7.2Design[오브젝트명] 파일

Project Explorer 탭에서 .js 파일을 열면 속성창에서 오브젝트 인터페이스 목록을 확인할 수 있습니다.

항목

설명

createCssDesignContents

XCSS 편집기에서 선택자 추가 시 미리보기 화면에서 필요한 처리를 위해 호출합니다.