X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7d9f12f3b9f997b6308faf336d5381be591b71f4..84c3e788d6200d68384852e4c4785c09922ec499:/include/wx/gtk/toplevel.h diff --git a/include/wx/gtk/toplevel.h b/include/wx/gtk/toplevel.h index f6cf403754..304f312de2 100644 --- a/include/wx/gtk/toplevel.h +++ b/include/wx/gtk/toplevel.h @@ -7,20 +7,14 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// - #ifndef __GTKTOPLEVELH__ #define __GTKTOPLEVELH__ -#ifdef __GNUG__ - #pragma interface "toplevel.h" -#endif - - //----------------------------------------------------------------------------- // wxTopLevelWindowGTK //----------------------------------------------------------------------------- -class wxTopLevelWindowGTK : public wxTopLevelWindowBase +class WXDLLIMPEXP_CORE wxTopLevelWindowGTK : public wxTopLevelWindowBase { public: // construction @@ -49,28 +43,41 @@ public: virtual ~wxTopLevelWindowGTK(); // implement base class pure virtuals - virtual void Maximize(bool maximize = TRUE); + virtual void Maximize(bool maximize = true); virtual bool IsMaximized() const; - virtual void Iconize(bool iconize = TRUE); + virtual void Iconize(bool iconize = true); virtual bool IsIconized() const; virtual void SetIcon(const wxIcon& icon); + virtual void SetIcons(const wxIconBundle& icons); virtual void Restore(); virtual bool ShowFullScreen(bool show, long style = wxFULLSCREEN_ALL); virtual bool IsFullScreen() const { return m_fsIsShowing; }; - virtual bool Show(bool show = TRUE); + virtual bool SetShape(const wxRegion& region); + + virtual void RequestUserAttention(int flags = wxUSER_ATTENTION_INFO); + + virtual void SetWindowStyleFlag( long style ); + + virtual bool Show(bool show = true); + + virtual void Raise(); + + virtual bool IsActive(); virtual void SetTitle( const wxString &title ); virtual wxString GetTitle() const { return m_title; } + // Experimental, to allow help windows to be + // viewable from within modal dialogs + virtual void AddGrab(); + virtual void RemoveGrab(); + virtual bool IsGrabbed() const { return m_grabbed; } + // implementation from now on // -------------------------- - // move the window to the specified location and resize it: this is called - // from both DoSetSize() and DoSetClientSize() - virtual void DoMoveWindow(int x, int y, int width, int height); - // GTK callbacks virtual void GtkOnSize( int x, int y, int width, int height ); virtual void OnInternalIdle(); @@ -78,21 +85,32 @@ public: // do *not* call this to iconize the frame, this is a private function! void SetIconizeState(bool iconic); - wxString m_title; int m_miniEdge, m_miniTitle; GtkWidget *m_mainWidget; bool m_insertInClientArea; /* not from within OnCreateXXX */ bool m_fsIsShowing; /* full screen */ - long m_fsSaveStyle; + long m_fsSaveGdkFunc, m_fsSaveGdkDecor; long m_fsSaveFlag; wxRect m_fsSaveFrame; + // m_windowStyle translated to GDK's terms + long m_gdkFunc, + m_gdkDecor; + + // private gtk_timeout_add result for mimicing wxUSER_ATTENTION_INFO and + // wxUSER_ATTENTION_ERROR difference, -2 for no hint, -1 for ERROR hint, rest for GtkTimeout handle. + int m_urgency_hint; + protected: // common part of all ctors void Init(); + // move the window to the specified location and resize it: this is called + // from both DoSetSize() and DoSetClientSize() + virtual void DoMoveWindow(int x, int y, int width, int height); + // override wxWindow methods to take into account tool/menu/statusbars virtual void DoSetSize(int x, int y, int width, int height, @@ -101,8 +119,13 @@ protected: virtual void DoSetClientSize(int width, int height); virtual void DoGetClientSize( int *width, int *height ) const; + wxString m_title; + // is the frame currently iconized? bool m_isIconized; + // is the frame currently grabbed explicitly + // by the application? + bool m_grabbed; }; #endif // __GTKTOPLEVELH__