#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
wxApp();
virtual ~wxApp();
+ virtual bool OnInitGui(void);
+
// override base class (pure) virtuals
- virtual int MainLoop();
- virtual void ExitMainLoop();
- virtual bool Initialized();
- virtual bool Pending() ;
- virtual void Dispatch() ;
+ virtual int MainLoop(void);
+ virtual void ExitMainLoop(void);
+ virtual bool Initialized(void);
+ virtual bool Pending(void) ;
+ virtual void Dispatch(void);
+ virtual bool Yield(bool onlyIfNeeded = FALSE);
virtual wxIcon GetStdIcon(int which) const;
- virtual void SetPrintMode(int mode) { m_printMode = mode; }
- virtual int GetPrintMode() const { return m_printMode; }
+ virtual void SetPrintMode(int mode) { m_nPrintMode = mode; }
+ virtual int GetPrintMode(void) const { return m_nPrintMode; }
// implementation only
- void OnIdle(wxIdleEvent& event);
- void OnEndSession(wxCloseEvent& event);
- void OnQueryEndSession(wxCloseEvent& event);
+ void OnIdle(wxIdleEvent& rEvent);
+ void OnEndSession(wxCloseEvent& rEvent);
+ void OnQueryEndSession(wxCloseEvent& rEvent);
// Send idle event to all top-level windows.
// Returns TRUE if more idle time is requested.
- bool SendIdleEvents();
+ bool SendIdleEvents(void);
// Send idle event to window and all subwindows
// Returns TRUE if more idle time is requested.
- bool SendIdleEvents(wxWindow* win);
+ bool SendIdleEvents(wxWindow* pWin);
- void SetAuto3D(bool flag) { m_auto3D = flag; }
- bool GetAuto3D() const { return m_auto3D; }
+ void SetAuto3D(bool bFlag) { m_bAuto3D = bFlag; }
+ bool GetAuto3D(void) const { return m_bAuto3D; }
-protected:
- bool m_showOnInit;
- int m_printMode; // wxPRINT_WINDOWS, wxPRINT_POSTSCRIPT
- bool m_auto3D ; // Always use 3D controls, except where overriden
+ int AddSocketHandler(int handle, int mask,
+ void (*callback)(void*), void * gsock);
+ void RemoveSocketHandler(int handle);
+ void HandleSockets();
- /* Windows-specific wxApp definitions */
+protected:
+ bool m_bShowOnInit;
+ int m_nPrintMode; // wxPRINT_WINDOWS, wxPRINT_POSTSCRIPT
+ bool m_bAuto3D ; // Always use 3D controls, except where overriden
+
+ //
+ // 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 Initialize(HAB vHab);
+ static void CleanUp(void);
- static bool RegisterWindowClasses();
- // Convert Windows to argc, argv style
- void ConvertToStandardCommandArgs(char* p);
- virtual bool DoMessage();
+ static bool RegisterWindowClasses(HAB vHab);
+ virtual void DoMessage(WXMSG *pMsg);
+ virtual bool DoMessage(void);
virtual bool ProcessMessage(WXMSG* pMsg);
- void DeletePendingObjects();
- bool ProcessIdle();
-#if wxUSE_THREADS
- void ProcessPendingEvents();
-#endif
- int GetComCtl32Version() const;
+ void DeletePendingObjects(void);
+ bool ProcessIdle(void);
public:
- int m_nCmdShow;
+ int m_nCmdShow;
+ HMQ m_hMq;
protected:
- bool m_keepGoing ;
+ bool m_bKeepGoing ;
DECLARE_EVENT_TABLE()
};
-#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
-
-
+int WXDLLEXPORT wxEntry( int argc, char *argv[] );
#endif
// _WX_APP_H_