]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/ribbon/page.h
Don't define __STRICT_ANSI__, we should build both with and without it.
[wxWidgets.git] / include / wx / ribbon / page.h
index 80d8e6f1cfa2fd8c87ed8c8a897dcb826a2dfc8b..33a961412f3267800a26a797f00a6f888fdda33a 100644 (file)
@@ -4,7 +4,6 @@
 // Author:      Peter Cawley
 // Modified by:
 // Created:     2009-05-25
-// RCS-ID:      $Id$
 // Copyright:   (C) Peter Cawley
 // Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
@@ -46,7 +45,6 @@ public:
 
     wxBitmap& GetIcon() {return m_icon;}
     virtual wxSize GetMinSize() const;
-    virtual wxSize DoGetBestSize() const;
     void SetSizeWithScrollButtonAdjustment(int x, int y, int width, int height);
     void AdjustRectToIncludeScrollButtons(wxRect* rect) const;
 
@@ -57,15 +55,20 @@ public:
     virtual bool Layout();
     virtual bool ScrollLines(int lines);
     bool ScrollPixels(int pixels);
+    bool ScrollSections(int sections);
 
     wxOrientation GetMajorAxis() const;
 
     virtual void RemoveChild(wxWindowBase *child);
 
+    void HideIfExpanded();
+
 protected:
+    virtual wxSize DoGetBestSize() const;
     virtual wxBorder GetDefaultBorder() const { return wxBORDER_NONE; }
 
     void DoSetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO);
+    bool DoActualLayout();
     void OnEraseBackground(wxEraseEvent& evt);
     void OnPaint(wxPaintEvent& evt);
     void OnSize(wxSizeEvent& evt);
@@ -76,6 +79,7 @@ protected:
     void HideScrollButtons();
 
     void CommonInit(const wxString& label, const wxBitmap& icon);
+    void PopulateSizeCalcArray(wxSize (wxWindow::*get_size)(void) const);
 
     wxArrayRibbonControl m_collapse_stack;
     wxBitmap m_icon;
@@ -83,6 +87,8 @@ protected:
     // NB: Scroll button windows are siblings rather than children (to get correct clipping of children)
     wxRibbonPageScrollButton* m_scroll_left_btn;
     wxRibbonPageScrollButton* m_scroll_right_btn;
+    wxSize* m_size_calc_array;
+    size_t m_size_calc_array_size;
     int m_scroll_amount;
     int m_scroll_amount_limit;
     int m_size_in_major_axis_for_children;