]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/apptbase.h
split wxControl::Ellipsize() in two functions for better readability of the code...
[wxWidgets.git] / include / wx / msw / apptbase.h
index 551a0388e957742dd70a0f23dcf2bf9f6766bfab..6aba6b4ae3e2c9f572b7f694d8132fba6c108257 100644 (file)
@@ -6,7 +6,7 @@
 // Created:     22.06.2003
 // RCS-ID:      $Id$
 // Copyright:   (c) 2003 Vadim Zeitlin <vadim@wxwidgets.org>
-// Licence:     wxWidgets licence
+// Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
 #ifndef _WX_MSW_APPTBASE_H_
@@ -41,13 +41,31 @@ public:
     // false if and only if we have to exit the application
     virtual bool DoMessageFromThreadWait() = 0;
 
-    // other miscellaneous helpers
-    // ---------------------------
+    // wait for the handle to be signaled, return WAIT_OBJECT_0 if it is or, in
+    // the GUI code, WAIT_OBJECT_0 + 1 if a Windows message arrived
+    virtual WXDWORD WaitForThread(WXHANDLE hThread) = 0;
+
+
+#ifndef __WXWINCE__
+    // console helpers
+    // ---------------
+
+    // this method can be overridden by a derived class to always return true
+    // or false to force [not] using the console for output to stderr
+    //
+    // by default console applications always return true from here while the
+    // GUI ones only return true if they're being run from console and there is
+    // no other activity happening in this console
+    virtual bool CanUseStderr() = 0;
+
+    // write text to the console, return true if ok or false on error
+    virtual bool WriteToStderr(const wxString& text) = 0;
+#endif // !__WXWINCE__
 
-    // under MSW this function returns same version for both console and GUI
-    // applications so we can implement it directly in the base class and only
-    // override it wxGUIAppTraits to fill in toolkit information
-    virtual wxToolkitInfo& GetToolkitInfo();
+protected:
+    // implementation of WaitForThread() for the console applications which is
+    // also used by the GUI code if it doesn't [yet|already} dispatch events
+    WXDWORD DoSimpleWaitForThread(WXHANDLE hThread);
 };
 
 #endif // _WX_MSW_APPTBASE_H_