]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/sizer.h
simplify wxEVT_MENU_OPEN/CLOSE generation
[wxWidgets.git] / include / wx / sizer.h
index 125dd55c7f95a8bd19eec4d1d17f338686f39dea..bd932e89ce98deb6fe59ecc702a3686a80fa135b 100644 (file)
@@ -84,9 +84,15 @@ public:
     static int GetDefaultBorder()
     {
 #if wxUSE_BORDER_BY_DEFAULT
     static int GetDefaultBorder()
     {
 #if wxUSE_BORDER_BY_DEFAULT
+    #ifdef __WXGTK20__
+        // GNOME HIG says to use 6px as the base unit:
+        // http://library.gnome.org/devel/hig-book/stable/design-window.html.en
+        return 6;
+    #else
         // FIXME: default border size shouldn't be hardcoded and at the very
         //        least they should depend on the current font size
         return 5;
         // FIXME: default border size shouldn't be hardcoded and at the very
         //        least they should depend on the current font size
         return 5;
+    #endif
 #else
         return 0;
 #endif
 #else
         return 0;
 #endif
@@ -170,6 +176,13 @@ public:
         return *this;
     }
 
         return *this;
     }
 
+    // makes the item ignore window's visibility status
+    wxSizerFlags& ReserveSpaceEvenIfHidden()
+    {
+        m_flags |= wxRESERVE_SPACE_EVEN_IF_HIDDEN;
+        return *this;
+    }
+
     // accessors for wxSizer only
     int GetProportion() const { return m_proportion; }
     int GetFlags() const { return m_flags; }
     // accessors for wxSizer only
     int GetProportion() const { return m_proportion; }
     int GetFlags() const { return m_flags; }
@@ -332,10 +345,12 @@ public:
         { return m_kind == Item_Sizer ? m_sizer : NULL; }
     wxSize GetSpacer() const;
 
         { return m_kind == Item_Sizer ? m_sizer : NULL; }
     wxSize GetSpacer() const;
 
-    // this function behaves obviously for the windows and spacers but for the
+    // This function behaves obviously for the windows and spacers but for the
     // sizers it returns true if any sizer element is shown and only returns
     // sizers it returns true if any sizer element is shown and only returns
-    // false if all of them are hidden
+    // false if all of them are hidden. Also, it always returns true if
+    // wxRESERVE_SPACE_EVEN_IF_HIDDEN flag was used.
     bool IsShown() const;
     bool IsShown() const;
+
     void Show(bool show);
 
     void SetUserData(wxObject* userData)
     void Show(bool show);
 
     void SetUserData(wxObject* userData)
@@ -601,6 +616,9 @@ public:
 
     virtual void Layout();
 
 
     virtual void Layout();
 
+    wxSize ComputeFittingClientSize(wxWindow *window);
+    wxSize ComputeFittingWindowSize(wxWindow *window);
+
     wxSize Fit( wxWindow *window );
     void FitInside( wxWindow *window );
     void SetSizeHints( wxWindow *window );
     wxSize Fit( wxWindow *window );
     void FitInside( wxWindow *window );
     void SetSizeHints( wxWindow *window );
@@ -652,8 +670,6 @@ protected:
     // the window this sizer is used in, can be NULL
     wxWindow *m_containingWindow;
 
     // the window this sizer is used in, can be NULL
     wxWindow *m_containingWindow;
 
-    wxSize GetMaxWindowSize( wxWindow *window ) const;
-    wxSize GetMinWindowSize( wxWindow *window );
     wxSize GetMaxClientSize( wxWindow *window ) const;
     wxSize GetMinClientSize( wxWindow *window );
     wxSize VirtualFitSize( wxWindow *window );
     wxSize GetMaxClientSize( wxWindow *window ) const;
     wxSize GetMinClientSize( wxWindow *window );
     wxSize VirtualFitSize( wxWindow *window );