]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/control.cpp
Missing headers.
[wxWidgets.git] / src / gtk / control.cpp
index 4368959b6c8bf116e789e6d05bdddc9f3a472a91..9641245f398431d6079e6773f10aad799b50936d 100644 (file)
 
 #if wxUSE_CONTROLS
 
-#include "wx/log.h"
 #include "wx/control.h"
+
+#ifndef WX_PRECOMP
+    #include "wx/log.h"
+    #include "wx/settings.h"
+#endif
+
 #include "wx/fontutil.h"
-#include "wx/settings.h"
 #include "wx/gtk/private.h"
 
 // ============================================================================
@@ -30,7 +34,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxControl, wxWindow)
 
 wxControl::wxControl()
 {
-    m_needParent = TRUE;
+    m_needParent = true;
 }
 
 bool wxControl::Create( wxWindow *parent,
@@ -126,7 +130,7 @@ GtkWidget* wxControl::GTKCreateFrame(const wxString& label)
     GtkWidget* framewidget = gtk_frame_new(NULL);
     gtk_frame_set_label_widget(GTK_FRAME(framewidget), labelwidget);
 
-    return framewidget; //note that the label is already set so you'll 
+    return framewidget; //note that the label is already set so you'll
                         //only need to call wxControl::SetLabel afterwards
 }
 
@@ -362,5 +366,24 @@ wxControl::GetDefaultAttributesFromGTKWidget(wxGtkWidgetNewFromAdj_t widget_new,
     return attr;
 }
 
-#endif // wxUSE_CONTROLS
+// ----------------------------------------------------------------------------
+// idle handling
+// ----------------------------------------------------------------------------
+
+void wxControl::OnInternalIdle()
+{
+    if ( GtkShowFromOnIdle() )
+        return;
 
+    if ( GTK_WIDGET_REALIZED(m_widget) )
+    {
+        GTKUpdateCursor();
+
+        GTKSetDelayedFocusIfNeeded();
+    }
+
+    if ( wxUpdateUIEvent::CanUpdate(this) )
+        UpdateWindowUI(wxUPDATE_UI_FROMIDLE);
+}
+
+#endif // wxUSE_CONTROLS