]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/os2/app.h
Added reparenting helper classes to help apps to grab the windows
[wxWidgets.git] / include / wx / os2 / app.h
index effb025e8beee44fe6ab738189caef6867090baa..2c631f549436135da974b3873152dec514a0cc7a 100644 (file)
 #ifndef _WX_APP_H_
 #define _WX_APP_H_
 
+#ifdef __WATCOMC__
+
+#include <sys/ioctl.h>
+#include <sys/select.h>
+
+#else
+
+#include <sys/time.h>
+#include <sys/types.h>
+
+#ifdef __EMX__
+#include <unistd.h>
+#else
+#include <utils.h>
+#undef BYTE_ORDER
+#include <types.h>
+#define INCL_ORDERS
+#endif
+
+#endif
+
 #include "wx/event.h"
 #include "wx/icon.h"
 
 class WXDLLEXPORT wxFrame;
 class WXDLLEXPORT wxWindow;
-class WXDLLEXPORT wxApp ;
+class WXDLLEXPORT wxApp;
 class WXDLLEXPORT wxKeyEvent;
 class WXDLLEXPORT wxLog;
 
 WXDLLEXPORT_DATA(extern wxApp*) wxTheApp;
-HAB                             vHabmain;
+WXDLLEXPORT_DATA(extern HAB)    vHabmain;
 
 // Force an exit from main loop
 void WXDLLEXPORT wxExit(void);
@@ -30,6 +51,13 @@ void WXDLLEXPORT wxExit(void);
 // Yield to other apps/messages
 bool WXDLLEXPORT wxYield(void);
 
+extern MRESULT EXPENTRY wxWndProc( HWND
+                                  ,ULONG
+                                  ,MPARAM
+                                  ,MPARAM
+                                 );
+
+
 // Represents the application. Derive OnInit and declare
 // a new App object to start application
 class WXDLLEXPORT wxApp : public wxAppBase
@@ -48,6 +76,7 @@ public:
     virtual bool Initialized(void);
     virtual bool Pending(void) ;
     virtual void Dispatch(void);
+    virtual bool Yield(bool onlyIfNeeded = FALSE);
 
     virtual wxIcon GetStdIcon(int which) const;
 
@@ -70,6 +99,11 @@ public:
     void SetAuto3D(bool bFlag) { m_bAuto3D = bFlag; }
     bool GetAuto3D(void) const { return m_bAuto3D; }
 
+    int AddSocketHandler(int handle, int mask,
+                         void (*callback)(void*), void * gsock);
+    void RemoveSocketHandler(int handle);
+    void HandleSockets();
+
 protected:
     bool                            m_bShowOnInit;
     int                             m_nPrintMode; // wxPRINT_WINDOWS, wxPRINT_POSTSCRIPT
@@ -78,6 +112,14 @@ protected:
     //
     // PM-specific wxApp definitions */
     //
+private:
+    int                             m_maxSocketHandles;
+    int                             m_maxSocketNr;
+    int                             m_lastUsedHandle;
+    fd_set                          m_readfds;
+    fd_set                          m_writefds;
+    void*                           m_sockCallbackInfo;
+
 public:
 
     // Implementation
@@ -85,24 +127,20 @@ public:
     static void  CleanUp(void);
 
     static bool  RegisterWindowClasses(HAB vHab);
+    virtual void DoMessage(WXMSG *pMsg);
     virtual bool DoMessage(void);
     virtual bool ProcessMessage(WXMSG* pMsg);
     void         DeletePendingObjects(void);
     bool         ProcessIdle(void);
-#if wxUSE_THREADS
-    void         ProcessPendingEvents(void);
-#endif
 
 public:
     int                             m_nCmdShow;
+    HMQ                             m_hMq;
 
 protected:
     bool                            m_bKeepGoing ;
 
     DECLARE_EVENT_TABLE()
-private:
-    HMQ                             m_hMq;
-    QMSG                            m_vMsg;
 };
 
 int WXDLLEXPORT wxEntry( int argc, char *argv[] );