]>
git.saurik.com Git - wxWidgets.git/blob - include/wx/os2/app.h
1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: wxApp class
4 // Author: David Webster
8 // Copyright: (c) David Webster
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
17 #include <sys/ioctl.h>
18 #include <sys/select.h>
23 #include <sys/types.h>
39 class WXDLLEXPORT wxFrame
;
40 class WXDLLEXPORT wxWindow
;
41 class WXDLLEXPORT wxApp
;
42 class WXDLLEXPORT wxKeyEvent
;
43 class WXDLLEXPORT wxLog
;
45 WXDLLEXPORT_DATA(extern wxApp
*) wxTheApp
;
46 WXDLLEXPORT_DATA(extern HAB
) vHabmain
;
48 // Force an exit from main loop
49 void WXDLLEXPORT
wxExit(void);
51 // Yield to other apps/messages
52 bool WXDLLEXPORT
wxYield(void);
54 extern MRESULT EXPENTRY
wxWndProc( HWND
61 // Represents the application. Derive OnInit and declare
62 // a new App object to start application
63 class WXDLLEXPORT wxApp
: public wxAppBase
65 DECLARE_DYNAMIC_CLASS(wxApp
)
71 virtual bool OnInitGui(void);
73 // override base class (pure) virtuals
74 virtual int MainLoop(void);
75 virtual void ExitMainLoop(void);
76 virtual bool Initialized(void);
77 virtual bool Pending(void) ;
78 virtual void Dispatch(void);
79 virtual bool Yield(bool onlyIfNeeded
= FALSE
);
81 virtual wxIcon
GetStdIcon(int which
) const;
83 virtual void SetPrintMode(int mode
) { m_nPrintMode
= mode
; }
84 virtual int GetPrintMode(void) const { return m_nPrintMode
; }
86 // implementation only
87 void OnIdle(wxIdleEvent
& rEvent
);
88 void OnEndSession(wxCloseEvent
& rEvent
);
89 void OnQueryEndSession(wxCloseEvent
& rEvent
);
91 // Send idle event to all top-level windows.
92 // Returns TRUE if more idle time is requested.
93 bool SendIdleEvents(void);
95 // Send idle event to window and all subwindows
96 // Returns TRUE if more idle time is requested.
97 bool SendIdleEvents(wxWindow
* pWin
);
99 void SetAuto3D(bool bFlag
) { m_bAuto3D
= bFlag
; }
100 bool GetAuto3D(void) const { return m_bAuto3D
; }
102 int AddSocketHandler(int handle
, int mask
,
103 void (*callback
)(void*), void * gsock
);
104 void RemoveSocketHandler(int handle
);
105 void HandleSockets();
109 int m_nPrintMode
; // wxPRINT_WINDOWS, wxPRINT_POSTSCRIPT
110 bool m_bAuto3D
; // Always use 3D controls, except where overriden
113 // PM-specific wxApp definitions */
116 int m_maxSocketHandles
;
118 int m_lastUsedHandle
;
121 void* m_sockCallbackInfo
;
126 static bool Initialize(HAB vHab
);
127 static void CleanUp(void);
129 static bool RegisterWindowClasses(HAB vHab
);
130 virtual void DoMessage(WXMSG
*pMsg
);
131 virtual bool DoMessage(void);
132 virtual bool ProcessMessage(WXMSG
* pMsg
);
133 void DeletePendingObjects(void);
134 bool ProcessIdle(void);
143 DECLARE_EVENT_TABLE()
146 int WXDLLEXPORT
wxEntry( int argc
, char *argv
[] );