]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/os2/app.h
Added support for compiling with wxUSE_STL set to 1.
[wxWidgets.git] / include / wx / os2 / app.h
index 4b0c4d52a3f9f5e5e9959cc0420bfa65f4e9a0db..37fcdf23d63e0c800a23e12b7ff66874126090cc 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;
+WXDLLEXPORT_DATA(extern HAB)    vHabmain;
 
 // Force an exit from main loop
-void WXDLLEXPORT wxExit();
+void WXDLLEXPORT wxExit(void);
 
 // Yield to other apps/messages
-bool WXDLLEXPORT wxYield();
+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
@@ -40,75 +69,55 @@ public:
     virtual ~wxApp();
 
     // override base class (pure) virtuals
-    virtual int MainLoop();
-    virtual void ExitMainLoop();
-    virtual bool Initialized();
-    virtual bool Pending() ;
-    virtual void Dispatch() ;
+    virtual bool Initialize(int& argc, wxChar **argv);
+    virtual void CleanUp(void);
 
-    virtual wxIcon GetStdIcon(int which) const;
+    virtual bool OnInitGui(void);
 
-    virtual void SetPrintMode(int mode) { m_printMode = mode; }
-    virtual int GetPrintMode() const { return m_printMode; }
+    virtual bool Yield(bool onlyIfNeeded = FALSE);
+    virtual void WakeUpIdle(void);
 
-    // implementation only
-    void OnIdle(wxIdleEvent& event);
-    void OnEndSession(wxCloseEvent& event);
-    void OnQueryEndSession(wxCloseEvent& event);
-
-    // Send idle event to all top-level windows.
-    // Returns TRUE if more idle time is requested.
-    bool SendIdleEvents();
+    virtual void SetPrintMode(int mode) { m_nPrintMode = mode; }
+    virtual int  GetPrintMode(void) const { return m_nPrintMode; }
 
-    // Send idle event to window and all subwindows
-    // Returns TRUE if more idle time is requested.
-    bool SendIdleEvents(wxWindow* win);
+    // implementation only
+    void OnIdle(wxIdleEvent& rEvent);
+    void OnEndSession(wxCloseEvent& rEvent);
+    void OnQueryEndSession(wxCloseEvent& rEvent);
 
-    void SetAuto3D(bool flag) { m_auto3D = flag; }
-    bool GetAuto3D() const { return m_auto3D; }
+    int AddSocketHandler(int handle, int mask,
+                         void (*callback)(void*), void * gsock);
+    void RemoveSocketHandler(int handle);
+    void HandleSockets();
 
 protected:
-    bool              m_showOnInit;
-    int               m_printMode; // wxPRINT_WINDOWS, wxPRINT_POSTSCRIPT
-    bool              m_auto3D ;   // Always use 3D controls, except where overriden
-
-    /* Windows-specific wxApp definitions */
+    bool                            m_bShowOnInit;
+    int                             m_nPrintMode; // wxPRINT_WINDOWS, wxPRINT_POSTSCRIPT
+
+    //
+    // 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
-    static bool Initialize();
-    static void CleanUp();
-
-    static bool RegisterWindowClasses();
-    // Convert Windows to argc, argv style
-    void ConvertToStandardCommandArgs(char* p);
-    virtual bool DoMessage();
-    virtual bool ProcessMessage(WXMSG* pMsg);
-    void DeletePendingObjects();
-    bool ProcessIdle();
-#if wxUSE_THREADS
-    void ProcessPendingEvents();
-#endif
-    int GetComCtl32Version() const;
+    static bool  RegisterWindowClasses(HAB vHab);
 
 public:
-    int               m_nCmdShow;
+    int                             m_nCmdShow;
+    HMQ                             m_hMq;
 
 protected:
-    bool              m_keepGoing ;
-
     DECLARE_EVENT_TABLE()
+    DECLARE_NO_COPY_CLASS(wxApp)
 };
-
-#if !defined(_WINDLL) || (defined(_WINDLL) && defined(WXMAKINGDLL))
-int WXDLLEXPORT wxEntry(WXHINSTANCE hInstance, WXHINSTANCE hPrevInstance, char *lpszCmdLine,
-                    int nCmdShow, bool enterLoop = TRUE);
-#else
-int WXDLLEXPORT wxEntry(WXHINSTANCE hInstance);
-#endif
-
-
 #endif
     // _WX_APP_H_