X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/eb6fa4b4257897e4e9655b05e4105e8b47f67476..3b49331b7441e091fc5997b830801d76a1243f28:/include/wx/motif/app.h diff --git a/include/wx/motif/app.h b/include/wx/motif/app.h index 95c087af98..088f2d39cc 100644 --- a/include/wx/motif/app.h +++ b/include/wx/motif/app.h @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: app.h +// Name: wx/motif/app.h // Purpose: wxApp class // Author: Julian Smart // Modified by: @@ -12,84 +12,73 @@ #ifndef _WX_APP_H_ #define _WX_APP_H_ -#ifdef __GNUG__ -#pragma interface "app.h" -#endif - // ---------------------------------------------------------------------------- // headers // ---------------------------------------------------------------------------- #include "wx/event.h" +#include "wx/hashmap.h" // ---------------------------------------------------------------------------- // forward declarations // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxFrame; -class WXDLLEXPORT wxWindow; -class WXDLLEXPORT wxApp; -class WXDLLEXPORT wxKeyEvent; -class WXDLLEXPORT wxLog; -class WXDLLEXPORT wxEventLoop; -class WXDLLEXPORT wxXVisualInfo; -class wxPerDisplayDataMap; +class WXDLLIMPEXP_FWD_CORE wxFrame; +class WXDLLIMPEXP_FWD_CORE wxWindow; +class WXDLLIMPEXP_FWD_CORE wxApp; +class WXDLLIMPEXP_FWD_CORE wxKeyEvent; +class WXDLLIMPEXP_FWD_CORE wxLog; +class WXDLLIMPEXP_FWD_CORE wxEventLoop; +class WXDLLIMPEXP_FWD_CORE wxXVisualInfo; +class WXDLLIMPEXP_FWD_CORE wxPerDisplayData; // ---------------------------------------------------------------------------- // the wxApp class for Motif - see wxAppBase for more details // ---------------------------------------------------------------------------- +WX_DECLARE_VOIDPTR_HASH_MAP( wxPerDisplayData*, wxPerDisplayDataMap ); + class WXDLLEXPORT wxApp : public wxAppBase { DECLARE_DYNAMIC_CLASS(wxApp) - + public: 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 bool Yield(bool onlyIfNeeded = false); + virtual void WakeUpIdle(); // implemented in motif/evtloop.cpp + 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); - + protected: bool m_showOnInit; - + public: // Implementation - static bool Initialize(); - static void CleanUp(); - - void DeletePendingObjects(); - + virtual bool Initialize(int& argc, wxChar **argv); + virtual void CleanUp(); + // Motif-specific WXAppContext GetAppContext() const { return m_appContext; } WXWidget GetTopLevelWidget(); + WXWidget GetTopLevelRealizedWidget(); WXColormap GetMainColormap(WXDisplay* display); WXDisplay* GetInitialDisplay() const { return m_initialDisplay; } void SetTopLevelWidget(WXDisplay* display, WXWidget widget); + void SetTopLevelRealizedWidget(WXDisplay* display, + WXWidget widget); // This handler is called when a property change event occurs virtual void HandlePropertyChange(WXEvent *event); @@ -97,19 +86,12 @@ public: wxXVisualInfo* GetVisualInfo(WXDisplay* display); private: - wxEventLoop* m_eventLoop; - // Motif-specific WXAppContext m_appContext; WXColormap m_mainColormap; WXDisplay* m_initialDisplay; wxPerDisplayDataMap* m_perDisplayData; - - DECLARE_EVENT_TABLE() }; -int WXDLLEXPORT wxEntry( int argc, char *argv[] ); - #endif // _WX_APP_H_ -