]> git.saurik.com Git - wxWidgets.git/blob - include/wx/gtk1/app.h
(hopefully) fixed race condition in installing idle handler (calling wxPostEvent...
[wxWidgets.git] / include / wx / gtk1 / app.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/gtk/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 #if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
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 virtual ~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 bool Yield(bool onlyIfNeeded = FALSE);
45 virtual void WakeUpIdle();
46
47 virtual bool Initialize(int& argc, wxChar **argv);
48 virtual void CleanUp();
49
50 static bool InitialzeVisual();
51
52 #ifdef __WXDEBUG__
53 virtual void OnAssert(const wxChar *file, int line, const wxChar *cond, const wxChar *msg);
54
55 bool IsInAssert() const { return m_isInAssert; }
56 #endif // __WXDEBUG__
57
58 gint m_idleTag;
59 void RemoveIdleTag();
60
61 unsigned char *m_colorCube;
62
63 // Used by the the wxGLApp and wxGLCanvas class for GL-based X visual
64 // selection; this is actually an XVisualInfo*
65 void *m_glVisualInfo;
66 // This returns the current visual: either that used by wxRootWindow
67 // or the XVisualInfo* for SGI.
68 GdkVisual *GetGdkVisual();
69
70 private:
71 // true if we're inside an assert modal dialog
72 #ifdef __WXDEBUG__
73 bool m_isInAssert;
74 #endif // __WXDEBUG__
75
76 DECLARE_DYNAMIC_CLASS(wxApp)
77 DECLARE_EVENT_TABLE()
78 };
79
80 #endif // __GTKAPPH__