X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4a446b03dccd9218f73ea00820e48d4bfc464600..ed38aa559ccd74566a2b6e60cef1313284749114:/include/wx/gtk/toplevel.h diff --git a/include/wx/gtk/toplevel.h b/include/wx/gtk/toplevel.h index 45bfd16771..fcc7ff9871 100644 --- a/include/wx/gtk/toplevel.h +++ b/include/wx/gtk/toplevel.h @@ -7,20 +7,14 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// - -#ifndef __GTKTOPLEVELH__ -#define __GTKTOPLEVELH__ - -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma interface "toplevel.h" -#endif - +#ifndef _WX_GTK_TOPLEVEL_H_ +#define _WX_GTK_TOPLEVEL_H_ //----------------------------------------------------------------------------- // wxTopLevelWindowGTK //----------------------------------------------------------------------------- -class wxTopLevelWindowGTK : public wxTopLevelWindowBase +class WXDLLIMPEXP_CORE wxTopLevelWindowGTK : public wxTopLevelWindowBase { public: // construction @@ -49,24 +43,25 @@ 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 EnableCloseButton(bool enable = true); + virtual bool ShowFullScreen(bool show, long style = wxFULLSCREEN_ALL); virtual bool IsFullScreen() const { return m_fsIsShowing; }; virtual bool SetShape(const wxRegion& region); -#if wxABI_VERSION >= 20602 virtual void RequestUserAttention(int flags = wxUSER_ATTENTION_INFO); -#endif - virtual bool Show(bool show = TRUE); + virtual void SetWindowStyleFlag( long style ); + + virtual bool Show(bool show = true); virtual void Raise(); @@ -75,6 +70,9 @@ public: virtual void SetTitle( const wxString &title ); virtual wxString GetTitle() const { return m_title; } + virtual bool SetTransparent(wxByte alpha); + virtual bool CanSetTransparent(); + // Experimental, to allow help windows to be // viewable from within modal dialogs virtual void AddGrab(); @@ -84,18 +82,13 @@ public: // 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 GtkOnSize(); virtual void OnInternalIdle(); // 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; @@ -110,23 +103,50 @@ public: 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; + + // give hints to the Window Manager for how the size + // of the TLW can be changed by dragging + virtual void DoSetSizeHints( int minW, int minH, + int maxW = wxDefaultCoord, int maxH = wxDefaultCoord, + int incW = wxDefaultCoord, int incH = wxDefaultCoord ); + + // return the full size of the window without WM decorations + void GTKDoGetSize(int *width, int *height) const; + protected: // common part of all ctors void Init(); - // override wxWindow methods to take into account tool/menu/statusbars + // 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); + + // take into account WM decorations here + virtual void DoGetSize(int *width, int *height) const; virtual void DoSetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO); + // override these methods to take into account tool/menu/statusbars virtual void DoSetClientSize(int width, int height); - virtual void DoGetClientSize( int *width, int *height ) const; + virtual void DoGetClientSize(int *width, int *height) const; + + // this method takes the size of the window not taking account of + // decorations and is used by both DoSetSize() and DoSetClientSize() + void GTKDoSetSize(int width, int height); + + + // string shown in the title bar + wxString m_title; // is the frame currently iconized? bool m_isIconized; - // is the frame currently grabbed explicitly - // by the application? + + // is the frame currently grabbed explicitly by the application? bool m_grabbed; }; -#endif // __GTKTOPLEVELH__ +#endif // _WX_GTK_TOPLEVEL_H_