]> git.saurik.com Git - wxWidgets.git/commitdiff
Up-ported wxBusyCursor fix and wxCombBov default dialog
authorRobert Roebling <robert@roebling.de>
Sun, 2 Mar 2003 21:34:32 +0000 (21:34 +0000)
committerRobert Roebling <robert@roebling.de>
Sun, 2 Mar 2003 21:34:32 +0000 (21:34 +0000)
    action behaviour if enter is hit in it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19431 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/gtk/combobox.cpp
src/gtk/cursor.cpp
src/gtk1/combobox.cpp
src/gtk1/cursor.cpp

index 3542a670b49df3e7fa891fb65722a982cc94f46f..976e127c4202e10583200005a6f0fa48bd10400a 100644 (file)
@@ -647,7 +647,24 @@ void wxComboBox::OnChar( wxKeyEvent &event )
         event.SetString( GetValue() );
         event.SetInt( GetSelection() );
         event.SetEventObject( this );
-        GetEventHandler()->ProcessEvent( event );
+
+        if (!GetEventHandler()->ProcessEvent( event ))
+        {
+            // This will invoke the dialog default action, such
+            // as the clicking the default button.
+
+            wxWindow *top_frame = m_parent;
+            while (top_frame->GetParent() && !(top_frame->IsTopLevel()))
+                top_frame = top_frame->GetParent();
+
+            if (top_frame && GTK_IS_WINDOW(top_frame->m_widget))
+            {
+                GtkWindow *window = GTK_WINDOW(top_frame->m_widget);
+
+                if (window->default_widget)
+                    gtk_widget_activate (window->default_widget);
+            }
+        }
             
         // Catch GTK event so that GTK doesn't open the drop
         // down list upon RETURN.
index dc03ce10db83ba99f5833335f94eba5c38c18cdd..a7ce14cfb54e592059fda6ba2f329a11960346fb 100644 (file)
@@ -370,7 +370,7 @@ void wxBeginBusyCursor( wxCursor *WXUNUSED(cursor) )
     wxSetCursor( wxCursor(wxCURSOR_WATCH) );
 
     if (wxTheApp)
-        wxTheApp->SendIdleEvents();
+        wxTheApp->ProcessIdle();
 
     gdk_flush();
 }
index 3542a670b49df3e7fa891fb65722a982cc94f46f..976e127c4202e10583200005a6f0fa48bd10400a 100644 (file)
@@ -647,7 +647,24 @@ void wxComboBox::OnChar( wxKeyEvent &event )
         event.SetString( GetValue() );
         event.SetInt( GetSelection() );
         event.SetEventObject( this );
-        GetEventHandler()->ProcessEvent( event );
+
+        if (!GetEventHandler()->ProcessEvent( event ))
+        {
+            // This will invoke the dialog default action, such
+            // as the clicking the default button.
+
+            wxWindow *top_frame = m_parent;
+            while (top_frame->GetParent() && !(top_frame->IsTopLevel()))
+                top_frame = top_frame->GetParent();
+
+            if (top_frame && GTK_IS_WINDOW(top_frame->m_widget))
+            {
+                GtkWindow *window = GTK_WINDOW(top_frame->m_widget);
+
+                if (window->default_widget)
+                    gtk_widget_activate (window->default_widget);
+            }
+        }
             
         // Catch GTK event so that GTK doesn't open the drop
         // down list upon RETURN.
index dc03ce10db83ba99f5833335f94eba5c38c18cdd..a7ce14cfb54e592059fda6ba2f329a11960346fb 100644 (file)
@@ -370,7 +370,7 @@ void wxBeginBusyCursor( wxCursor *WXUNUSED(cursor) )
     wxSetCursor( wxCursor(wxCURSOR_WATCH) );
 
     if (wxTheApp)
-        wxTheApp->SendIdleEvents();
+        wxTheApp->ProcessIdle();
 
     gdk_flush();
 }