]> git.saurik.com Git - wxWidgets.git/blame_incremental - include/wx/gtk/app.h
Fix wxPropertyGrid::GetPropertyRect when the last item is collapsed.
[wxWidgets.git] / include / wx / gtk / app.h
... / ...
CommitLineData
1/////////////////////////////////////////////////////////////////////////////
2// Name: wx/gtk/app.h
3// Purpose: wxApp definition for wxGTK
4// Author: Robert Roebling
5// Copyright: (c) 1998 Robert Roebling, Julian Smart
6// Licence: wxWindows licence
7/////////////////////////////////////////////////////////////////////////////
8
9#ifndef _WX_GTK_APP_H_
10#define _WX_GTK_APP_H_
11
12//-----------------------------------------------------------------------------
13// classes
14//-----------------------------------------------------------------------------
15
16#if wxUSE_LIBHILDON || wxUSE_LIBHILDON2
17typedef struct _HildonProgram HildonProgram;
18#endif // wxUSE_LIBHILDON || wxUSE_LIBHILDON2
19
20//-----------------------------------------------------------------------------
21// wxApp
22//-----------------------------------------------------------------------------
23
24class WXDLLIMPEXP_CORE wxApp: public wxAppBase
25{
26public:
27 wxApp();
28 virtual ~wxApp();
29
30 /* override for altering the way wxGTK intializes the GUI
31 * (palette/visual/colorcube). under wxMSW, OnInitGui() does nothing by
32 * default. when overriding this method, the code in it is likely to be
33 * platform dependent, otherwise use OnInit(). */
34 virtual bool SetNativeTheme(const wxString& theme);
35 virtual bool OnInitGui();
36
37 // override base class (pure) virtuals
38 virtual void WakeUpIdle();
39
40 virtual bool Initialize(int& argc, wxChar **argv);
41 virtual void CleanUp();
42
43 virtual void OnAssertFailure(const wxChar *file,
44 int line,
45 const wxChar *func,
46 const wxChar *cond,
47 const wxChar *msg);
48
49 // GTK-specific methods
50 // -------------------
51
52 // this can be overridden to return a specific visual to be used for GTK+
53 // instead of the default one (it's used by wxGLApp)
54 //
55 // must return XVisualInfo pointer (it is not freed by caller)
56 virtual void *GetXVisualInfo() { return NULL; }
57
58 // Check if we're using a global menu. Currently this is only true when
59 // running under Ubuntu Unity and global menu is not disabled.
60 //
61 // This is mostly used in the implementation in order to work around
62 // various bugs arising due to this.
63 static bool GTKIsUsingGlobalMenu();
64
65#if wxUSE_LIBHILDON || wxUSE_LIBHILDON2
66 // Maemo-specific method: get the main program object
67 HildonProgram *GetHildonProgram();
68#endif // wxUSE_LIBHILDON || wxUSE_LIBHILDON2
69
70 // implementation only from now on
71 // -------------------------------
72
73 // check for pending events, without interference from our idle source
74 bool EventsPending();
75 bool DoIdle();
76
77private:
78 // true if we're inside an assert modal dialog
79 bool m_isInAssert;
80
81#if wxUSE_THREADS
82 wxMutex m_idleMutex;
83#endif
84 unsigned m_idleSourceId;
85
86#if wxUSE_LIBHILDON || wxUSE_LIBHILDON2
87 HildonProgram *m_hildonProgram;
88#endif // wxUSE_LIBHILDON || wxUSE_LIBHILDON2
89
90 DECLARE_DYNAMIC_CLASS(wxApp)
91};
92
93#endif // _WX_GTK_APP_H_