X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/07e497070e5666bf25e0f3616b853399b8b86c48..fa3b08caf17a6310540d623b6ce508c201efb9a5:/include/wx/gtk/toplevel.h diff --git a/include/wx/gtk/toplevel.h b/include/wx/gtk/toplevel.h index de507a0dae..7e0a51d981 100644 --- a/include/wx/gtk/toplevel.h +++ b/include/wx/gtk/toplevel.h @@ -7,8 +7,8 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifndef __GTKTOPLEVELH__ -#define __GTKTOPLEVELH__ +#ifndef _WX_GTK_TOPLEVEL_H_ +#define _WX_GTK_TOPLEVEL_H_ //----------------------------------------------------------------------------- // wxTopLevelWindowGTK @@ -51,6 +51,8 @@ public: 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; }; @@ -82,7 +84,7 @@ public: // -------------------------- // 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! @@ -106,6 +108,15 @@ public: // 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(); @@ -114,21 +125,29 @@ protected: // 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 + // 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; - wxString m_title; + // 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_