@VEEvent
targetWidget 특성을 사용하는 Rich UI 위젯을 작성하는 경우(또는 외부 유형 위젯을 작성하는 경우) 다른 경우에는 정의되지 않는 이벤트 유형을 선언할 수 있습니다. 이러한 방식으로 비즈니스 개발자가 태스크 순서를 정의하는 데 대해 좀 더 명확하게 사고할 수 있습니다. 또한 개발자는 이벤트 보기에서 이벤트 핸들러를 지정할 수 있습니다.
다음 예에서는 @VEEvent 특성을 사용하는 사용자 정의 단추(MyButton)에 대한 사용을 보여줍니다. 사용자 작업공간에서 이 예를 사용하는 경우 EGL 개발자가 EGL 편집기를 다음 용도로 사용할 수 있음을 참고하십시오. MyButton 유형의 단추를 작성하고 새로 정의된 이벤트(onPreClick 및 onPostClick)에 대한 이벤트 핸들러를 지정할 수 있습니다.
다음은 MyButton 유형의 단추에 액세스하는 핸들러입니다.
package pkg;
import com.ibm.egl.rui.widgets.Button;
handler MyHandler type RUIhandler {initialUI = [ someButton ]}
someButton MyButton{text = "fresh",
onPreClick ::= respondToPreClick,
onClick ::= respondToClick,
onPostClick ::= respondToPostClick};
function respondToPreClick(e Event in)
sysLib.writeStdout("in pre");
end
function respondToClick(e Event in)
sysLib.writeStdout("in click");
end
function respondToPostClick(e Event in)
sysLib.writeStdout("in post");
end
end
다음은 MyButton에 대한 정의입니다.
package pkg;
import com.ibm.egl.rui.widgets.Button;
handler MyButton type RUIWidget {
targetWidget = internalButton,
@VEWidget{
category = "New EGL Widgets",
template = "pkg.myButton{ text=\"myButton\" }"}
}
text string {@EGLProperty{setMethod = setText,
getMethod = getText},
@VEProperty{}};
internalButton Button{onClick ::= respondToClick};
onPreClick EventHandler[] {@VEEvent{}};
onClick EventHandler[] {@VEEvent{}};
onPostClick EventHandler[] {@VEEvent{}};
private function setText(text String in)
internalButton.text = text;
end
private function getText() returns (String)
return ( internalButton.text );
end
private function respondToClick(e Event in)
preSize int = onPreClick.getSize();
clickSize int = onClick.getSize();
postSize int = onPostClick.getSize();
for (i int from 1 to preSize by 1)
OnPreClick[i](e);
end
for (i int from 1 to clickSize by 1)
OnClick[i](e);
end
for (i int from 1 to postSize by 1)
OnPostClick[i](e);
end
end
end
@VEEvent에 대한 변경사항은 팔레트와 파일을 새로 고치는 경우에만 EGL 편집기에서 파일에 사용할 수 있습니다. 팔레트를 새로 고치려면 디자인 표면에서 팔레트 도구 새로 고치기를 클릭하십시오(“디자인 표면의 도구 사용” 참조). 파일을 새로 고치려면 미리보기 탭의 웹 페이지 도구 새로 고치기를 클릭하십시오(“EGL 편집기에서 웹 애플리케이션 실행” 참조).