엑스플랫폼 쇼케이스
[엑스플랫폼] 쇼케이스 따라하기 (2) - Application Message
아이야이야
2012. 1. 6. 10:55
순서대로 진행합니다.
몇몇 내용은 앞에서 다룬 부분이 있기 때문에 중복된 내용은 링크로 처리합니다.
- Application > Application Message
: 예전에는 거의 대부분 Alert 을 많이 사용했는데 최근에는 사용자 동선에 방해되지 않게
메시지의 중요도에 따라 처리해주는 경향입니다.
여기서 다루는 것은 기능에 대한 이야기니깐 어떨때 어떻게 사용해야 한다는 것은
각 프로세스에 따라 달라질겁니다.
(1) alert
- 뭐 워낙 많이 다룬 내용이니깐..
(2) confirm
- alert 과 비슷하지만 사용자의 확인을 받는다는 점이 다릅니다.
엑스플랫폼 메뉴얼에는 confirm 메소드를 실행하는 경우 보여지는 대화상자라고 설명하고 있네요.
2개의 버튼을 가지고 있습니다.
- 쇼케이스를 보면 특이하게 alert 안에 confirm 을 사용하고 있습니다.
function Button01_onclick(obj:Button, e:ClickEventInfo){alert(confirm( "확인" ));}
이렇게 되면 confirm 에서 나온 리턴값을 alert 으로 보여주게 됩니다.
쉽게 풀어주면
var result = confirm("확인");
alert(result);
와 동일한 내용입니다.
alert 과 마찬가지로 confirm과 Confirm 은 다릅니다. ^^
(3) showModeless
(4) showModal
- 일단 modal 의 개념부터 알아야 할듯 합니다.
Modal Dialog : 사용자의 입력이 들어오기 전까지 메인 윈도우가 새로운 메시지를 처리하지 못하게 하는 대화상자
Modeless Dialog : 대화상자에 입력이 없어도 메인 윈도우에 포커스를 이동해서 프로세스를 진행할 수 있는 대화상자
* Modaless가 아니라 Modeless 가 맞는 표현입니다.
- 엑스플랫폼에서는 동적으로 생성된 자식프레임을 보여주는 방식으로
다음과 같이 4가지를 제안하고 있습니다.
ChildFrame.show()
: 그냥 보여주는 겁니다. show() 메소드가 호출되고 나서 ChildFrame 의 formurl을 로딩하게 됩니다.
물론 동적으로 생성하기 때문에 OwnerFrame에 add나 insert 를 먼저 해야겠죠.
ChildFrame.showModal(objParentFrame, [{objArgumentList}[, objOpener]])
: 이것은 대화상자 형식으로 보여줍니다. 우리가 일반적으로 이야기하는 팝업과 같은 형식이 되겠죠.
show()와는 달리 별도로 OwnerFrame에 포함시키지 않아도 자동으로 추가되고 창을 닫게 되면
목록에서 사라지게 됩니다.
ChildFrame.showModalAsync(objParentFrame, [{objArgumentList}][,objOpener][,callbackFunc]);
: showModel()과 동일하지만 한가지 중요한 차이가 showModalAsync()가 호출되고 나서 나머지 스크립트가 실행된다는 겁니다. 그리고 callback함수를 선언할 수 있어 결과값을 처리할 수 있습니다.
로딩 애니메이션같은 화면을 구현할때 적절하지 않을까 싶네요.
ChildFrame.showModeless(objParentFrame,[{objArgumentList}[, objOpener]]);
: 포커스가 이동되는 것만이 아니라 showModalAsync와 마찬가지로 호출 이후 나머지 스크립트가 실행됩니다.
objNew.showModal("showModal", objOwnerFrame);
trace('test');