X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9ce8d6a2b0fec3ce3f6e838445fdea3445d2ce8d..32c19f25fce3a38f9e4cf1497761fd7364d7bc62:/include/wx/motif/app.h diff --git a/include/wx/motif/app.h b/include/wx/motif/app.h index a0d914b1df..c5a30c70fe 100644 --- a/include/wx/motif/app.h +++ b/include/wx/motif/app.h @@ -12,7 +12,7 @@ #ifndef _WX_APP_H_ #define _WX_APP_H_ -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma interface "app.h" #endif @@ -21,6 +21,7 @@ // ---------------------------------------------------------------------------- #include "wx/event.h" +#include "wx/hashmap.h" // ---------------------------------------------------------------------------- // forward declarations @@ -33,12 +34,14 @@ class WXDLLEXPORT wxKeyEvent; class WXDLLEXPORT wxLog; class WXDLLEXPORT wxEventLoop; class WXDLLEXPORT wxXVisualInfo; -class wxXVisualInfoMap; +class WXDLLEXPORT 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) @@ -51,69 +54,51 @@ public: // ----------------------------------- 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() const { return m_topLevelWidget; } + WXWidget GetTopLevelWidget(); + WXWidget GetTopLevelRealizedWidget(); WXColormap GetMainColormap(WXDisplay* display); WXDisplay* GetInitialDisplay() const { return m_initialDisplay; } - long GetMaxRequestSize() const { return m_maxRequestSize; } - + + 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); wxXVisualInfo* GetVisualInfo(WXDisplay* display); private: - static long sm_lastMessageTime; - int m_nCmdShow; - - wxEventLoop* m_eventLoop; - // Motif-specific WXAppContext m_appContext; - WXWidget m_topLevelWidget; WXColormap m_mainColormap; WXDisplay* m_initialDisplay; - long m_maxRequestSize; - wxXVisualInfoMap* m_visualInfoMap; + wxPerDisplayDataMap* m_perDisplayData; DECLARE_EVENT_TABLE() }; -int WXDLLEXPORT wxEntry( int argc, char *argv[] ); - #endif // _WX_APP_H_