X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5644933fa64abf5a122e3f15d0a66d415a63c35b..c8b1fdc0b52fbc0ce71ab54b4b8954643f788f2a:/include/wx/gtk/window.h diff --git a/include/wx/gtk/window.h b/include/wx/gtk/window.h index 82b9f99d8c..5bcfb26b5c 100644 --- a/include/wx/gtk/window.h +++ b/include/wx/gtk/window.h @@ -68,6 +68,7 @@ public: virtual bool IsRetained() const; virtual void SetFocus(); + virtual void SetCanFocus(bool canFocus); virtual bool Reparent( wxWindowBase *newParent ); @@ -180,6 +181,11 @@ public: static wxLayoutDirection GTKGetLayout(GtkWidget *widget); static void GTKSetLayout(GtkWidget *widget, wxLayoutDirection dir); + // return true if this window must have a non-NULL parent, false if it can + // be created without parent (normally only top level windows but in wxGTK + // there is also the exception of wxMenuBar) + virtual bool GTKNeedsParent() const { return !IsTopLevel(); } + protected: // Override GTKWidgetNeedsMnemonic and return true if your // needs to set its mnemonic widget, such as for a @@ -254,6 +260,9 @@ public: GtkWidget *m_widget; // mostly the widget seen by the rest of GTK GtkWidget *m_wxwindow; // mostly the client area as per wxWidgets + // return true if the window is of a standard (i.e. not wxWidgets') class + bool IsOfStandardClass() const { return m_wxwindow == NULL; } + // this widget will be queried for GTK's focus events GtkWidget *m_focusWidget; @@ -291,7 +300,6 @@ public: // extra (wxGTK-specific) flags - bool m_needParent:1; // ! wxFrame, wxDialog, wxNotebookPage ? bool m_noExpose:1; // wxGLCanvas has its own redrawing bool m_nativeSizeEvent:1; // wxGLCanvas sends wxSizeEvent upon "alloc_size" bool m_hasScrolling:1; @@ -373,6 +381,8 @@ protected: // should be called from OnInternalIdle() if it's overridden void GTKUpdateCursor(); + void ConstrainSize(); + private: enum ScrollUnit { ScrollUnit_Line, ScrollUnit_Page, ScrollUnit_Max };