X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9ce8d6a2b0fec3ce3f6e838445fdea3445d2ce8d..4f7222ca3632e40ad8f77947dba6bced63733655:/include/wx/x11/app.h diff --git a/include/wx/x11/app.h b/include/wx/x11/app.h index f61e293a66..3d669c5b86 100644 --- a/include/wx/x11/app.h +++ b/include/wx/x11/app.h @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: app.h +// Name: wx/x11/app.h // Purpose: wxApp class // Author: Julian Smart // Modified by: @@ -9,12 +9,8 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifndef _WX_APP_H_ -#define _WX_APP_H_ - -#ifdef __GNUG__ -#pragma interface "app.h" -#endif +#ifndef _WX_X11_APP_H_ +#define _WX_X11_APP_H_ // ---------------------------------------------------------------------------- // headers @@ -27,121 +23,85 @@ // forward declarations // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxFrame; -class WXDLLEXPORT wxWindow; -class WXDLLEXPORT wxApp; -class WXDLLEXPORT wxKeyEvent; -class WXDLLEXPORT wxLog; -class WXDLLEXPORT wxEventLoop; -class WXDLLEXPORT wxXVisualInfo; +class WXDLLIMPEXP_FWD_CORE wxFrame; +class WXDLLIMPEXP_FWD_CORE wxWindow; +class WXDLLIMPEXP_FWD_CORE wxApp; +class WXDLLIMPEXP_FWD_CORE wxKeyEvent; +class WXDLLIMPEXP_FWD_BASE wxLog; +class WXDLLIMPEXP_FWD_CORE wxXVisualInfo; // ---------------------------------------------------------------------------- // the wxApp class for wxX11 - see wxAppBase for more details // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxApp : public wxAppBase +class WXDLLIMPEXP_CORE wxApp : public wxAppBase { - DECLARE_DYNAMIC_CLASS(wxApp) - public: wxApp(); - ~wxApp(); - + virtual ~wxApp(); + // override base class (pure) virtuals // ----------------------------------- - - virtual int MainLoop(); - virtual void ExitMainLoop(); - virtual bool Initialized(); - virtual bool Pending(); - virtual void Dispatch(); - virtual bool Yield(bool onlyIfNeeded = FALSE); - virtual bool ProcessIdle(); - + + virtual void Exit(); + + virtual void WakeUpIdle(); + virtual bool OnInitGui(); - + // implementation from now on // -------------------------- - - void OnIdle(wxIdleEvent& event); - - // Send idle event to all top-level windows. - // Returns TRUE if more idle time is requested. - bool SendIdleEvents(); - - // Send idle event to window and all subwindows - // Returns TRUE if more idle time is requested. - bool SendIdleEvents(wxWindow* win); - + // Processes an X event. virtual bool ProcessXEvent(WXEvent* event); - -#ifdef __WXDEBUG__ - virtual void OnAssert(const wxChar *file, int line, const wxChar* cond, const wxChar *msg); -#endif // __WXDEBUG__ - -protected: - bool m_showOnInit; - + public: // Implementation - static bool Initialize(); - static void CleanUp(); - - void DeletePendingObjects(); - + virtual bool Initialize(int& argc, wxChar **argv); + virtual void CleanUp(); + WXWindow GetTopLevelWidget() const { return m_topLevelWidget; } WXColormap GetMainColormap(WXDisplay* display); long GetMaxRequestSize() const { return m_maxRequestSize; } - + // This handler is called when a property change event occurs virtual bool HandlePropertyChange(WXEvent *event); - + // Values that can be passed on the command line. // Returns -1, -1 if none specified. const wxSize& GetInitialSize() const { return m_initialSize; } bool GetShowIconic() const { return m_showIconic; } - + #if wxUSE_UNICODE // Global context for Pango layout. Either use X11 // or use Xft rendering according to GDK_USE_XFT // environment variable PangoContext* GetPangoContext(); -#endif +#endif - wxXVisualInfo* GetVisualInfo(WXDisplay* display) + wxXVisualInfo* GetVisualInfo(WXDisplay* WXUNUSED(display)) { // this should be implemented correctly for wxBitmap to work // with multiple display return m_visualInfo; } - // We need this before creating the app - static WXDisplay* GetDisplay() { return ms_display; } - static WXDisplay* ms_display; - public: static long sm_lastMessageTime; - bool m_showIconic; + bool m_showIconic; wxSize m_initialSize; #if !wxUSE_NANOX wxXVisualInfo* m_visualInfo; #endif - + protected: - bool m_keepGoing; - WXWindow m_topLevelWidget; WXColormap m_mainColormap; long m_maxRequestSize; - wxEventLoop* m_mainLoop; - - DECLARE_EVENT_TABLE() -}; -int WXDLLEXPORT wxEntry( int argc, char *argv[] ); + DECLARE_DYNAMIC_CLASS(wxApp) +}; -#endif -// _WX_APP_H_ +#endif // _WX_X11_APP_H_