]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/app.cpp
Small change to SetFont() logic.
[wxWidgets.git] / src / gtk / app.cpp
index 2572ce49978d0a43254281a1dbdd95b1498f8004..4cd16593da2dcf5f29a81d6ec499bbaf3db8ebac 100644 (file)
@@ -8,7 +8,6 @@
 /////////////////////////////////////////////////////////////////////////////
 
 #ifdef __GNUG__
-    #pragma implementation "appbase.h"
     #pragma implementation "app.h"
 #endif
 
 wxApp *wxTheApp = (wxApp *)  NULL;
 wxAppInitializerFunction wxAppBase::m_appInitFn = (wxAppInitializerFunction) NULL;
 
-#if wxUSE_THREADS
-extern wxList *wxPendingEvents;
-extern wxCriticalSection *wxPendingEventsLocker;
-#endif
 extern wxResourceCache *wxTheResourceCache;
 extern bool g_isIdle;
 
@@ -127,10 +122,15 @@ unsigned char g_palette[64*3] =
 // local functions
 //-----------------------------------------------------------------------------
 
-extern void wxFlushResources(void);
+extern void wxFlushResources();
+
+/* forward declaration */
+gint        wxapp_idle_callback( gpointer WXUNUSED(data) );
+void        wxapp_install_idle_handler();
+static gint wxapp_wakeup_timerout_callback( gpointer WXUNUSED(data) );
 
 //-----------------------------------------------------------------------------
-// global functions
+// wxExit
 //-----------------------------------------------------------------------------
 
 void wxExit()
@@ -138,8 +138,9 @@ void wxExit()
     gtk_main_quit();
 }
 
-/* forward declaration */
-gint wxapp_idle_callback( gpointer WXUNUSED(data) );
+//-----------------------------------------------------------------------------
+// wxYield
+//-----------------------------------------------------------------------------
 
 bool wxYield()
 {
@@ -170,6 +171,20 @@ bool wxYield()
     return TRUE;
 }
 
+//-----------------------------------------------------------------------------
+// wxWakeUpIdle
+//-----------------------------------------------------------------------------
+
+void wxWakeUpIdle()
+{
+    if (g_isIdle) 
+        wxapp_install_idle_handler();
+}
+
+//-----------------------------------------------------------------------------
+// local functions
+//-----------------------------------------------------------------------------
+
 gint wxapp_idle_callback( gpointer WXUNUSED(data) )
 {
     if (!wxTheApp) return TRUE;
@@ -206,7 +221,7 @@ gint wxapp_idle_callback( gpointer WXUNUSED(data) )
 
 void wxapp_install_idle_handler()
 {
-    wxASSERT_MSG( wxTheApp->m_idleTag == 0, T("attempt to install idle handler twice") );
+    wxASSERT_MSG( wxTheApp->m_idleTag == 0, wxT("attempt to install idle handler twice") );
 
     /* this routine gets called by all event handlers
        indicating that the idle is over. */
@@ -218,9 +233,6 @@ void wxapp_install_idle_handler()
 
 #if wxUSE_THREADS
 
-/* forward declaration */
-static gint wxapp_wakeup_timerout_callback( gpointer WXUNUSED(data) );
-
 void wxapp_install_thread_wakeup()
 {
     if (wxTheApp->m_wakeUpTimerTag) return;
@@ -265,7 +277,8 @@ static gint wxapp_wakeup_timerout_callback( gpointer WXUNUSED(data) )
 
     return TRUE;
 }
-#endif
+
+#endif // wxUSE_THREADS
 
 //-----------------------------------------------------------------------------
 // wxApp
@@ -397,7 +410,7 @@ bool wxApp::OnInitGui()
                     index |= (g >> (5 - vis->green_prec)) << vis->green_shift;
                     index |= (b >> (5 - vis->blue_prec)) << vis->blue_shift;
 #else
-                    wxFAIL_MSG( T("Unsupported graphics hardware") );
+                    wxFAIL_MSG( wxT("Unsupported graphics hardware") );
 #endif
                 }
                 m_colorCube[ (r*1024) + (g*32) + b ] = index;
@@ -427,11 +440,9 @@ void wxApp::OnIdle( wxIdleEvent &event )
 
     s_inOnIdle = TRUE;
 
-#if wxUSE_THREADS
     /* Resend in the main thread events which have been prepared in other
        threads */
     ProcessPendingEvents();
-#endif
 
     /* 'Garbage' collection of windows deleted with Close(). */
     DeletePendingObjects();
@@ -520,25 +531,6 @@ void wxApp::Dispatch()
     gtk_main_iteration();
 }
 
-#if wxUSE_THREADS
-void wxApp::ProcessPendingEvents()
-{
-    wxNode *node = wxPendingEvents->First();
-    wxCriticalSectionLocker locker(*wxPendingEventsLocker);
-
-    while (node)
-    {
-        wxEvtHandler *handler = (wxEvtHandler *)node->Data();
-
-        handler->ProcessPendingEvents();
-
-        delete node;
-
-        node = wxPendingEvents->First();
-    }
-}
-#endif // wxUSE_THREADS
-
 void wxApp::DeletePendingObjects()
 {
     wxNode *node = wxPendingDelete.First();
@@ -640,7 +632,7 @@ void wxApp::CleanUp()
 #if (defined(__WXDEBUG__) && wxUSE_MEMORY_TRACING) || wxUSE_DEBUG_CONTEXT
     if (wxDebugContext::CountObjectsLeft() > 0)
     {
-        wxLogDebug(T("There were memory leaks.\n"));
+        wxLogDebug(wxT("There were memory leaks.\n"));
         wxDebugContext::Dump();
         wxDebugContext::PrintStatistics();
     }
@@ -653,9 +645,8 @@ void wxApp::CleanUp()
     wxLog *oldLog = wxLog::SetActiveTarget( (wxLog*) NULL );
     if (oldLog)
         delete oldLog;
-}
-
 #endif // wxUSE_LOG
+}
 
 //-----------------------------------------------------------------------------
 // wxEntry
@@ -681,7 +672,7 @@ int wxEntry( int argc, char *argv[] )
     if (!wxTheApp)
     {
         wxCHECK_MSG( wxApp::GetInitializerFunction(), -1,
-                     T("wxWindows error: No initializer - use IMPLEMENT_APP macro.\n") );
+                     wxT("wxWindows error: No initializer - use IMPLEMENT_APP macro.\n") );
 
         wxAppInitializerFunction app_ini = wxApp::GetInitializerFunction();
 
@@ -690,7 +681,7 @@ int wxEntry( int argc, char *argv[] )
         wxTheApp = (wxApp*) test_app;
     }
 
-    wxCHECK_MSG( wxTheApp, -1, T("wxWindows error: no application object") );
+    wxCHECK_MSG( wxTheApp, -1, wxT("wxWindows error: no application object") );
 
     wxTheApp->argc = argc;
 #if wxUSE_UNICODE
@@ -794,7 +785,7 @@ wxApp::GetStdIcon(int which) const
             return wxIcon(warning_xpm);
 
         default:
-            wxFAIL_MSG(T("requested non existent standard icon"));
+            wxFAIL_MSG(wxT("requested non existent standard icon"));
             // still fall through
 
         case wxICON_HAND: