본문 바로가기

Development/GE Smallworld

Tab_Box에 이름을 달아보자

먼저 modelplug-in을 사용하는 방법을 알아야 사용이 가능하다는 점을 먼저 말해두겠다.

혹시나 하는 맘에 modelplug-in을 사용하는 방법을 간단하게 설명을 하면,

1.     XXX_gui.magik

-       gui가 뒤에 붙는넘은 :model에서 상속을 받아서 사용한다.(클래스 이름은 내가 그냥 정의했다. 꼭 따르지 않아도 된다.)

-       이넘은 주로 화면을 꾸미는 GUI를 담당하는 넘이라고 생각하면 아~~~주 좋다.

-       GUI를 담당하니 화면을 꾸며야겠다. 그럼 이넘을 꾸미기 위해서는 activate_in() 메소드를 반드시 사용해야 한다. Activate_in() 메소는 Container를 파라메터로 받는다.

2.     XXX_plugin.magik

-       Plugin이 뒤에 붙는넘은 :plugin에서 상속을 받아서 사용한다.(이것은 암묵적으로 정의된듯하다. product소스를 보면 대부분이 이걸로 되어있다)

-       이넘은 주로 프로덕트 화면 레이아웃 구성에 사용한다. 프로퍼티, 액션메소드, 프레임웍 데이터버스등의 사용을 하도록 구성하면 된다.

-       Plug-in형식으로 사용자 GUI를 사용하고자 한다면 build-gui()를 통해서 화면에 그리면 된다. 위의 model과 잘 엮어서 사용하면 각 클래스를 구분하여 처리 영역을 나누어서 코딩이 가능하고, 클래스의 재사용을 활용할 수 있다.

-       프로덕트에 클래스를 붙이기 위해서는 config.xmlgui.xml을 사용한다.


자 이제 본론으로 들어가서 tab_box에 의 이름을 달기 위해서는 config.xml gui.xml에 만들어진 클래스를 붙여보자..

첨에 그냥 붙이면 탭의 이름이 그냥 “Tab”이라는 이름으로 보여질꺼다


이놈의 이름을 바꾸기 위해서는 몇가지만 고치면 된다.

먼저 아까 model에서 상속받은 XXX_gui 클래스를 살펴보면 Activate_in 메소드가 보일꺼다. 그 안에 화면구성에 필요한 코딩을 전부 했을 거다.

그 소스코드 안에서 파라메터로 받은 container(frame)로부터 최초 rowcol을 생성한 넘이 있을것이다.(이게 없으면 화면구성이 안된다.)


그넘을 메소드의 맨 마지막에 리턴을 해줘라


그리고, plugin으로부터 상속받은 XXX_plugin클래스로 가자

Build_gui메소드가 보일것이다.



이놈안에 위와 같이 코딩하면 끝난다.

model로부터 상속받은 클래스 인스턴스를 build_embedded_gui를 통해서 화면을 구성하고, 리턴받은 객체에 tab_label에 이름을 주면 그 객체를 리턴하면 된다는 거다. build_embedded_gui 메소드는 model이 가지고 있다.

참 쉽죠잉~~

'Development > GE Smallworld' 카테고리의 다른 글

나의 데이터셋(Dataset) 생성기  (0) 2011.11.01