C++로 만든 XPCOM에서 XUL 화면 호출
Posted: 2007 05 07 10:11 51
안녕하세요? 이번에 C++로 만든 XPCOM 모듈에서 XUL 화면을 호출하는 방법에
대해 여쭤볼게 있어서 이렇게 글을 올리게 되었습니다.
일단 목적은 XPCOM 모듈에서 사용자가 XUL을 통해 입력한 값을 받아와서
처리하는게 목적입니다.
그런데 XPCOM 모듈에서,
nsCOMPtr<nsIWindowWatcher> wwatch(do_GetService(NS_WINDOWWATCHER_CONTRACTID));
nsCOMPtr<nsIDOMWindow> newWindow;
....
wwatch->OpenWindow (parent, ....)
와 같이 nsIWindowWatcher를 이용하면 Dialog 형태의 화면을 처리하지 못하는 것
같습니다. 위와 같이 할 경우 화면을 띄울때 임의의 인자값을 넣어주어 (제가 구현한
코드에서는 선택할 메뉴를 인자로 넣어줌) 선택할 메뉴를 XPCOM에서 생성하여
전달할 수 있는데 해당 메뉴를 사용자가 선택한 결과값은 가져오기가 힘듭니다.
즉, 다음과 같은 흐름입니다.
1. XPCOM 모듈에서 선택할 인자값 생성
2. XPCOM 모듈에서 XUL 화면 호출
3. XUL 화면에서 사용자가 임의의 값 선택
4. XPCOM 모듈에서 사용자가 선택한 값 확인 (현재 불가)
현재 위와 같은 흐름으로 구현을 하고 싶은데 4번 흐름에서 막혀 있습니다.
혹시 다른 방법을 통해 구현해 보신 분이 계신다면 조언 부탁드리고 싶습니다.
대해 여쭤볼게 있어서 이렇게 글을 올리게 되었습니다.
일단 목적은 XPCOM 모듈에서 사용자가 XUL을 통해 입력한 값을 받아와서
처리하는게 목적입니다.
그런데 XPCOM 모듈에서,
nsCOMPtr<nsIWindowWatcher> wwatch(do_GetService(NS_WINDOWWATCHER_CONTRACTID));
nsCOMPtr<nsIDOMWindow> newWindow;
....
wwatch->OpenWindow (parent, ....)
와 같이 nsIWindowWatcher를 이용하면 Dialog 형태의 화면을 처리하지 못하는 것
같습니다. 위와 같이 할 경우 화면을 띄울때 임의의 인자값을 넣어주어 (제가 구현한
코드에서는 선택할 메뉴를 인자로 넣어줌) 선택할 메뉴를 XPCOM에서 생성하여
전달할 수 있는데 해당 메뉴를 사용자가 선택한 결과값은 가져오기가 힘듭니다.
즉, 다음과 같은 흐름입니다.
1. XPCOM 모듈에서 선택할 인자값 생성
2. XPCOM 모듈에서 XUL 화면 호출
3. XUL 화면에서 사용자가 임의의 값 선택
4. XPCOM 모듈에서 사용자가 선택한 값 확인 (현재 불가)
현재 위와 같은 흐름으로 구현을 하고 싶은데 4번 흐름에서 막혀 있습니다.
혹시 다른 방법을 통해 구현해 보신 분이 계신다면 조언 부탁드리고 싶습니다.