]> git.saurik.com Git - wxWidgets.git/blame_incremental - include/wx/gtk/app.h
Added DECLARE_LOCAL_EVENT_TYPE which doesn't use WXDLLEXPORT. This is
[wxWidgets.git] / include / wx / gtk / app.h
... / ...
CommitLineData
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
24class wxApp;
25class wxLog;
26
27//-----------------------------------------------------------------------------
28// wxApp
29//-----------------------------------------------------------------------------
30
31class wxApp: public wxAppBase
32{
33public:
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 // 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 bool m_initialized;
69
70 gint m_idleTag;
71#if wxUSE_THREADS
72 gint m_wakeUpTimerTag;
73#endif
74 unsigned char *m_colorCube;
75
76private:
77 /// Set to TRUE while we are in wxYield().
78 bool m_suppressIdleEvents;
79
80private:
81 DECLARE_DYNAMIC_CLASS(wxApp)
82 DECLARE_EVENT_TABLE()
83};
84
85int WXDLLEXPORT wxEntry( int argc, char *argv[] );
86
87#endif // __GTKAPPH__