///////////////////////////////////////////////////////////////////////////// // Name: app.h // Purpose: wxApp class // Author: David Webster // Modified by: // Created: 10/13/99 // RCS-ID: $Id$ // Copyright: (c) David Webster // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_APP_H_ #define _WX_APP_H_ #ifdef __WATCOMC__ #include #include #include #else #include #include #ifdef __EMX__ #include #else #include #undef BYTE_ORDER #include #define INCL_ORDERS #endif #endif #include "wx/event.h" #include "wx/icon.h" class WXDLLIMPEXP_FWD_CORE wxFrame; class WXDLLIMPEXP_FWD_CORE wxWindow; class WXDLLIMPEXP_FWD_CORE wxApp; class WXDLLIMPEXP_FWD_CORE wxKeyEvent; class WXDLLIMPEXP_FWD_BASE wxLog; WXDLLIMPEXP_DATA_CORE(extern wxApp*) wxTheApp; WXDLLIMPEXP_DATA_CORE(extern HAB) vHabmain; // Force an exit from main loop void WXDLLIMPEXP_CORE wxExit(void); // Yield to other apps/messages bool WXDLLIMPEXP_CORE 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 WXDLLIMPEXP_CORE wxApp : public wxAppBase { DECLARE_DYNAMIC_CLASS(wxApp) public: wxApp(); virtual ~wxApp(); // override base class (pure) virtuals virtual bool Initialize(int& argc, wxChar **argv); virtual void CleanUp(void); virtual bool OnInitGui(void); virtual void WakeUpIdle(void); virtual void SetPrintMode(int mode) { m_nPrintMode = mode; } virtual int GetPrintMode(void) const { return m_nPrintMode; } // implementation only void OnIdle(wxIdleEvent& rEvent); void OnEndSession(wxCloseEvent& rEvent); void OnQueryEndSession(wxCloseEvent& rEvent); 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 // // 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 RegisterWindowClasses(HAB vHab); virtual bool DoYield(bool onlyIfNeeded, long eventsToProcess); public: int m_nCmdShow; HMQ m_hMq; protected: DECLARE_EVENT_TABLE() DECLARE_NO_COPY_CLASS(wxApp) }; #endif // _WX_APP_H_