added and documented wxApp::OnAssert
[wxWidgets.git] / include / wx / gtk / app.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: app.h
3 // Purpose:
4 // Author: Robert Roebling
5 // Id: $Id$
6 // Copyright: (c) 1998 Robert Roebling, Julian Smart
7 // Licence: wxWindows licence
8 /////////////////////////////////////////////////////////////////////////////
9
10 #ifndef __GTKAPPH__
11 #define __GTKAPPH__
12
13 #ifdef __GNUG__
14 #pragma interface
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 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();
42
43 // override base class (pure) virtuals
44 virtual int MainLoop();
45 virtual void ExitMainLoop();
46 virtual bool Initialized();
47 virtual bool Pending();
48 virtual void Dispatch();
49
50 virtual wxIcon GetStdIcon(int which) const;
51
52 // implementation only from now on
53 void OnIdle( wxIdleEvent &event );
54 bool SendIdleEvents();
55 bool SendIdleEvents( wxWindow* win );
56
57 static bool Initialize();
58 static bool InitialzeVisual();
59 static void CleanUp();
60
61 bool ProcessIdle();
62 void DeletePendingObjects();
63
64 #ifdef __WXDEBUG__
65 virtual void OnAssert(const wxChar *file, int line, const wxChar *msg);
66
67 bool IsInAssert() const { return m_isInAssert; }
68 #endif // __WXDEBUG__
69
70 bool m_initialized;
71
72 gint m_idleTag;
73 #if wxUSE_THREADS
74 gint m_wakeUpTimerTag;
75 #endif
76 unsigned char *m_colorCube;
77
78 private:
79 // true if we're inside an assert modal dialog
80 #ifdef __WXDEBUG__
81 bool m_isInAssert;
82 #endif // __WXDEBUG__
83
84 DECLARE_DYNAMIC_CLASS(wxApp)
85 DECLARE_EVENT_TABLE()
86 };
87
88 int WXDLLEXPORT wxEntry( int argc, char *argv[] );
89
90 #endif // __GTKAPPH__