]> git.saurik.com Git - wxWidgets.git/blob - include/wx/mgl/app.h
wxMac: wxUniversal integration steps
[wxWidgets.git] / include / wx / mgl / app.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: app.h
3 // Purpose:
4 // Author: Vaclav Slavik
5 // Id: $Id$
6 // Copyright: (c) 2001 SciTech Software, Inc. (www.scitechsoft.com)
7 // Licence: wxWindows licence
8 /////////////////////////////////////////////////////////////////////////////
9
10 #ifndef __WX_APP_H__
11 #define __WX_APP_H__
12
13 #ifdef __GNUG__
14 #pragma interface "app.h"
15 #endif
16
17 #include "wx/frame.h"
18 #include "wx/icon.h"
19
20 //-----------------------------------------------------------------------------
21 // classes
22 //-----------------------------------------------------------------------------
23
24 class wxApp;
25 class wxLog;
26
27 //-----------------------------------------------------------------------------
28 // wxApp
29 //-----------------------------------------------------------------------------
30
31 class WXDLLEXPORT wxApp: public wxAppBase
32 {
33 public:
34 wxApp() {}
35 ~wxApp() {}
36
37 /* override for altering the way wxGTK intializes the GUI
38 * (palette/visual/colorcube). under wxMSW, OnInitGui() does nothing by
39 * default. when overriding this method, the code in it is likely to be
40 * platform dependent, otherwise use OnInit(). */
41 virtual bool OnInitGui() {return 0;}
42
43 // override base class (pure) virtuals
44 virtual int MainLoop() {return 0;}
45 virtual void ExitMainLoop() {}
46 virtual bool Initialized() {return 0;}
47 virtual bool Pending() {return 0;}
48 virtual void Dispatch() {}
49
50 virtual wxIcon GetStdIcon(int which) const {return wxNullIcon;}
51
52 // implementation only from now on
53 void OnIdle( wxIdleEvent &event ) {}
54 bool SendIdleEvents() {return 0;}
55 bool SendIdleEvents( wxWindow* win ) {return 0;}
56
57 static bool Initialize() {return 0;}
58 static bool InitialzeVisual() {return 0;}
59 static void CleanUp() {}
60
61 bool ProcessIdle() {return 0;}
62 void DeletePendingObjects() {}
63
64 // This can be used to suppress the generation of Idle events.
65 void SuppressIdleEvents(bool arg = TRUE) { m_suppressIdleEvents = arg; }
66 bool GetSuppressIdleEvents() const { return m_suppressIdleEvents; }
67
68 #if 0 //FIXME MGL
69 bool m_initialized;
70
71 gint m_idleTag;
72 #if wxUSE_THREADS
73 gint m_wakeUpTimerTag;
74 #endif
75 unsigned char *m_colorCube;
76 #endif
77
78 private:
79 /// Set to TRUE while we are in wxYield().
80 bool m_suppressIdleEvents;
81
82 private:
83 DECLARE_DYNAMIC_CLASS(wxApp)
84 DECLARE_EVENT_TABLE()
85 };
86
87 int WXDLLEXPORT wxEntry( int argc, char *argv[] );
88
89 #endif // __WX_APP_H__