git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58911 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			99 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			99 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /////////////////////////////////////////////////////////////////////////////
 | |
| // Name:        wx/gtk/app.h
 | |
| // Purpose:     wxApp definition for wxGTK
 | |
| // Author:      Robert Roebling
 | |
| // Id:          $Id$
 | |
| // Copyright:   (c) 1998 Robert Roebling, Julian Smart
 | |
| // Licence:     wxWindows licence
 | |
| /////////////////////////////////////////////////////////////////////////////
 | |
| 
 | |
| #ifndef _WX_GTK_APP_H_
 | |
| #define _WX_GTK_APP_H_
 | |
| 
 | |
| //-----------------------------------------------------------------------------
 | |
| // classes
 | |
| //-----------------------------------------------------------------------------
 | |
| 
 | |
| #if wxUSE_THREADS
 | |
| class WXDLLIMPEXP_FWD_BASE wxMutex;
 | |
| #endif
 | |
| 
 | |
| #if wxUSE_LIBHILDON
 | |
| typedef struct _HildonProgram HildonProgram;
 | |
| #endif // wxUSE_LIBHILDON
 | |
| 
 | |
| //-----------------------------------------------------------------------------
 | |
| // wxApp
 | |
| //-----------------------------------------------------------------------------
 | |
| 
 | |
| class WXDLLIMPEXP_CORE wxApp: public wxAppBase
 | |
| {
 | |
| public:
 | |
|     wxApp();
 | |
|     virtual ~wxApp();
 | |
| 
 | |
|     /* override for altering the way wxGTK intializes the GUI
 | |
|      * (palette/visual/colorcube). under wxMSW, OnInitGui() does nothing by
 | |
|      * default. when overriding this method, the code in it is likely to be
 | |
|      * platform dependent, otherwise use OnInit(). */
 | |
|     virtual bool SetNativeTheme(const wxString& theme);
 | |
|     virtual bool OnInitGui();
 | |
| 
 | |
|     // override base class (pure) virtuals
 | |
|     virtual void WakeUpIdle();
 | |
| 
 | |
|     virtual bool Initialize(int& argc, wxChar **argv);
 | |
|     virtual void CleanUp();
 | |
| 
 | |
| #ifdef __WXDEBUG__
 | |
|     virtual void OnAssertFailure(const wxChar *file,
 | |
|                                  int line,
 | |
|                                  const wxChar *func,
 | |
|                                  const wxChar *cond,
 | |
|                                  const wxChar *msg);
 | |
| #endif // __WXDEBUG__
 | |
| 
 | |
|     // GTK-specific methods
 | |
|     // -------------------
 | |
| 
 | |
|     // this can be overridden to return a specific visual to be used for GTK+
 | |
|     // instead of the default one (it's used by wxGLApp)
 | |
|     //
 | |
|     // must return XVisualInfo pointer (it is not freed by caller)
 | |
|     virtual void *GetXVisualInfo() { return NULL; }
 | |
| 
 | |
| #if wxUSE_LIBHILDON
 | |
|     // Maemo-specific method: get the main program object
 | |
|     HildonProgram *GetHildonProgram() const { return m_hildonProgram; }
 | |
| #endif // wxUSE_LIBHILDON
 | |
| 
 | |
|     // implementation only from now on
 | |
|     // -------------------------------
 | |
| 
 | |
|     // This returns the current visual: either that used by wxRootWindow
 | |
|     // or the XVisualInfo* for SGI.
 | |
|     GdkVisual      *GetGdkVisual();
 | |
| 
 | |
|     // check for pending events, without interference from our idle source
 | |
|     bool EventsPending();
 | |
|     bool DoIdle();
 | |
| 
 | |
| private:
 | |
|     // true if we're inside an assert modal dialog
 | |
| #ifdef __WXDEBUG__
 | |
|     bool m_isInAssert;
 | |
| #endif // __WXDEBUG__
 | |
| #if wxUSE_THREADS
 | |
|     wxMutex* m_idleMutex;
 | |
| #endif
 | |
|     guint m_idleSourceId;
 | |
| 
 | |
| #if wxUSE_LIBHILDON
 | |
|     HildonProgram *m_hildonProgram;
 | |
| #endif // wxUSE_LIBHILDON
 | |
| 
 | |
|     DECLARE_DYNAMIC_CLASS(wxApp)
 | |
| };
 | |
| 
 | |
| #endif // _WX_GTK_APP_H_
 |