X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a1b05a60e14fe5a1309b7d46c5c87b25b1af3705..3b49331b7441e091fc5997b830801d76a1243f28:/include/wx/gtk/toplevel.h diff --git a/include/wx/gtk/toplevel.h b/include/wx/gtk/toplevel.h index 6ebb2001c8..f6f1b7c540 100644 --- a/include/wx/gtk/toplevel.h +++ b/include/wx/gtk/toplevel.h @@ -16,6 +16,7 @@ class WXDLLIMPEXP_CORE wxTopLevelWindowGTK : public wxTopLevelWindowBase { + DECLARE_EVENT_TABLE() public: // construction wxTopLevelWindowGTK() { Init(); } @@ -47,7 +48,6 @@ public: virtual bool IsMaximized() const; 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(); @@ -84,62 +84,63 @@ public: // -------------------------- // GTK callbacks - virtual void GtkOnSize(); virtual void OnInternalIdle(); + // Respond to system colour change + void OnSysColourChanged(wxSysColourChangedEvent& event); + // do *not* call this to iconize the frame, this is a private function! void SetIconizeState(bool iconic); - int m_miniEdge, - m_miniTitle; GtkWidget *m_mainWidget; - bool m_insertInClientArea; /* not from within OnCreateXXX */ bool m_fsIsShowing; /* full screen */ - long m_fsSaveGdkFunc, m_fsSaveGdkDecor; - long m_fsSaveFlag; + int m_fsSaveGdkFunc, m_fsSaveGdkDecor; wxRect m_fsSaveFrame; // m_windowStyle translated to GDK's terms - long m_gdkFunc, + int 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 size of the window without WM decorations + void GTKDoGetSize(int *width, int *height) const; + + // whether frame extents are accurate + virtual bool IsDecorCacheable() const; + 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() + // move the window to the specified location and resize it 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 DoSetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO); - // a different API for SetSizeHints - virtual void SetMinSize(const wxSize& minSize); - virtual void SetMaxSize(const wxSize& maxSize); - - // 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 ); - - virtual void DoSetClientSize(int width, int height); - virtual void DoGetClientSize( int *width, int *height ) const; + // override these methods to take into account tool/menu/statusbars + virtual void DoGetClientSize(int *width, int *height) const; - wxString m_title; + // string shown in the title bar + wxString m_title; +private: // 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; };