2012-07-05 2 views
2

스크립팅 및 플러그인을위한 .NET 런타임이 포함 된 C++/wxWidgets로 작성된 응용 프로그램을 개발합니다.gtk # 이벤트 루프를 수동으로 펌핑하는 동안 유휴 이벤트 디스패치

gtk #을 플러그인 GUI에 사용하고 싶습니다. 그러나 gtk 이벤트 루프가 시작되지 않아 GUI가 응답하지 않습니다. (이것은 Windows에서 wxWidgets이므로 gtk를 백엔드로 사용하지 않습니다.) 그러나이 GTK 번호 유휴 이벤트 등 점멸 유휴 이벤트에 의존하므로 GUI 위젯을 유발하지 않는 것

public void OnWxWidgetsIdle() 
{ 
    while(Gtk.Application.EventsPending()) 
     Gtk.Application.RunIteration(); 
} 

:

은 wxWidgets에 유휴 처리 중에 이벤트 루프를 펌핑하여 해결할 수 있습니다 텍스트 상자의 커서가 제대로 업데이트되지 않습니다.

누구나 gtk 유휴 이벤트 또는이 문제의 다른 대체 솔루션을 어떻게 강제로 실행할 수 있는지 알고 있습니까?

친절한 답변,

Andrew Ward.

답변

0

사용하여 모노 측의 유휴 핸들러 :

void Start() 
    { 
    GLib.Idle.Add (new IdleHandler (OnIdleCreateThumbnail)); 
    } 

bool OnIdleCreateThumbnail() 
    { 
    Image img = GetNextImage(); 

    // If no more images remain, stop the idle handler. 
    if (img == null) 
     return false; 

    CreateThumbnail (img, img.ToString() + ".thumbnail"); 

    // There are more images, invoke this routine again on the next Idle moment. 
    return true;   
    } 

참조

관련 문제