X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e2e04ea4a7f5ee257c46d2dc0eb1bd5eb7ecd852..707c4418929f09dfd8f5fb0f0d5aec3bb0775bd8:/include/wx/motif/app.h diff --git a/include/wx/motif/app.h b/include/wx/motif/app.h index 855a8267da..c5a30c70fe 100644 --- a/include/wx/motif/app.h +++ b/include/wx/motif/app.h @@ -12,16 +12,16 @@ #ifndef _WX_APP_H_ #define _WX_APP_H_ -#ifdef __GNUG__ - #pragma interface "app.h" +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) +#pragma interface "app.h" #endif // ---------------------------------------------------------------------------- // headers // ---------------------------------------------------------------------------- -#include "wx/gdicmn.h" #include "wx/event.h" +#include "wx/hashmap.h" // ---------------------------------------------------------------------------- // forward declarations @@ -29,105 +29,76 @@ class WXDLLEXPORT wxFrame; class WXDLLEXPORT wxWindow; -class WXDLLEXPORT wxApp ; +class WXDLLEXPORT wxApp; class WXDLLEXPORT wxKeyEvent; class WXDLLEXPORT wxLog; +class WXDLLEXPORT wxEventLoop; +class WXDLLEXPORT wxXVisualInfo; +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) - + 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 OnInitGui(); - - virtual wxIcon GetStdIcon(int which) const; + 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); - - // Motif implementation. - - // Processes an X event. - virtual void ProcessXEvent(WXEvent* event); - - // Returns TRUE if an accelerator has been processed - virtual bool CheckForAccelerator(WXEvent* event); - - // Returns TRUE if a key down event has been processed - virtual bool CheckForKeyDown(WXEvent* event); - - // Returns TRUE if a key up event has been processed - virtual bool CheckForKeyUp(WXEvent* event); - + protected: bool m_showOnInit; - + public: // Implementation - static bool Initialize(); - static void CleanUp(); - - void DeletePendingObjects(); - bool ProcessIdle(); -#if wxUSE_THREADS - void ProcessPendingEvents(); -#endif - + virtual bool Initialize(int& argc, wxChar **argv); + virtual void CleanUp(); + // Motif-specific WXAppContext GetAppContext() const { return m_appContext; } - WXWidget GetTopLevelWidget() const { return m_topLevelWidget; } - WXColormap GetMainColormap(WXDisplay* display) ; + 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); -public: - static long sm_lastMessageTime; - int m_nCmdShow; - -protected: - bool m_keepGoing ; + wxXVisualInfo* GetVisualInfo(WXDisplay* display); +private: // Motif-specific WXAppContext m_appContext; - WXWidget m_topLevelWidget; WXColormap m_mainColormap; WXDisplay* m_initialDisplay; - long m_maxRequestSize; + wxPerDisplayDataMap* m_perDisplayData; DECLARE_EVENT_TABLE() }; -int WXDLLEXPORT wxEntry( int argc, char *argv[] ); - #endif - // _WX_APP_H_ +// _WX_APP_H_