]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/sizer.h
Add files necessary to run Expat configure.
[wxWidgets.git] / interface / wx / sizer.h
index 055429d5965b5033e4036eaea16ff3752d814d99..8cc1117c74f16b59674ae301da5fd45dbc9af6fc 100644 (file)
     window, the library wouldn't be able to delete such an orphan sizer and in
     this, and only this, case it should be deleted explicitly.
 
     window, the library wouldn't be able to delete such an orphan sizer and in
     this, and only this, case it should be deleted explicitly.
 
-    @beginWxPythonOnly
-    If you wish to create a sizer class in wxPython you should
-    derive the class from @c wxPySizer in order to get Python-aware
-    capabilities for the various virtual methods.
-    @endWxPythonOnly
-
     @section wxsizer_flags wxSizer flags
 
     The "flag" argument accepted by wxSizeItem constructors and other
     @section wxsizer_flags wxSizer flags
 
     The "flag" argument accepted by wxSizeItem constructors and other
@@ -289,7 +283,22 @@ public:
                      int flag = 0,
                      int border = 0,
                      wxObject* userData = NULL);
                      int flag = 0,
                      int border = 0,
                      wxObject* userData = NULL);
+    
+    /**
+        Appends a spacer child to the sizer.
+
+        @param width
+            Width of the spacer.
+        @param height
+            Height of the spacer.
+        @param flags
+            A wxSizerFlags object that enables you to specify most of the other
+            parameters more conveniently.
+    */
+    wxSizerItem* Add( int width, int height, const wxSizerFlags& flags);
 
 
+    wxSizerItem* Add(wxSizerItem* item);
+    
     /**
         This base function adds non-stretchable space to both the horizontal
         and vertical orientation of the sizer.
     /**
         This base function adds non-stretchable space to both the horizontal
         and vertical orientation of the sizer.
@@ -406,6 +415,14 @@ public:
     */
     void FitInside(wxWindow* window);
 
     */
     void FitInside(wxWindow* window);
 
+    /**
+       Inform sizer about the first direction that has been decided (by
+       parent item).  Returns true if it made use of the information (and
+       recalculated min size).
+    */
+    virtual bool InformFirstDirection(int direction, int size, int availableOtherDir);
+
+    
     //@{
     /**
         Returns the list of the items in this sizer.
     //@{
     /**
         Returns the list of the items in this sizer.
@@ -422,6 +439,11 @@ public:
     */
     wxWindow* GetContainingWindow() const;
 
     */
     wxWindow* GetContainingWindow() const;
 
+    /**
+       Set the window this sizer is used in.
+    */
+    void SetContainingWindow(wxWindow *window);
+    
     /**
        Returns the number of items in the sizer.
 
     /**
        Returns the number of items in the sizer.
 
@@ -567,7 +589,18 @@ public:
                         int flag = 0,
                         int border = 0,
                         wxObject* userData = NULL);
                         int flag = 0,
                         int border = 0,
                         wxObject* userData = NULL);
+    /**
+        Insert a child into the sizer before any existing item at @a index.
+
+        See Add() for the meaning of the other parameters.
+    */
+    wxSizerItem* Insert(size_t index,
+                        int width,
+                        int height,
+                        const wxSizerFlags& flags);
 
 
+    wxSizerItem* Insert(size_t index, wxSizerItem* item);
+    
     /**
         Inserts non-stretchable space to the sizer.
         More readable way of calling wxSizer::Insert(index, size, size).
     /**
         Inserts non-stretchable space to the sizer.
         More readable way of calling wxSizer::Insert(index, size, size).
@@ -609,7 +642,7 @@ public:
     bool IsShown(size_t index) const;
 
     /**
     bool IsShown(size_t index) const;
 
     /**
-        Call this to force layout of the children anew, e.g. after having added a child
+        Call this to force layout of the children anew, e.g.\ after having added a child
         to or removed a child (window, other sizer or space) from the sizer while
         keeping the current dimension.
     */
         to or removed a child (window, other sizer or space) from the sizer while
         keeping the current dimension.
     */
@@ -656,6 +689,14 @@ public:
                          int border = 0,
                          wxObject* userData = NULL);
 
                          int border = 0,
                          wxObject* userData = NULL);
 
+    /**
+        Same as Add(), but prepends the items to the beginning of the
+        list of items (windows, subsizers or spaces) owned by this sizer.
+    */
+    wxSizerItem* Prepend(int width, int height, const wxSizerFlags& flags);
+
+    wxSizerItem* Prepend(wxSizerItem* item);
+    
     /**
         Prepends non-stretchable space to the sizer.
         More readable way of calling wxSizer::Prepend(size, size, 0).
     /**
         Prepends non-stretchable space to the sizer.
         More readable way of calling wxSizer::Prepend(size, size, 0).
@@ -885,6 +926,13 @@ public:
         @see Hide(), IsShown()
     */
     bool Show(size_t index, bool show = true);
         @see Hide(), IsShown()
     */
     bool Show(size_t index, bool show = true);
+
+
+    /**
+       Show or hide all items managed by the sizer.
+    */
+    virtual void ShowItems(bool show);
+
 };
 
 
 };
 
 
@@ -967,6 +1015,9 @@ public:
         outlined above.
     */
     void SetNegativeButton(wxButton* button);
         outlined above.
     */
     void SetNegativeButton(wxButton* button);
+
+    virtual void RecalcSizes();
+    virtual wxSize CalcMin();
 };
 
 
 };
 
 
@@ -990,27 +1041,27 @@ public:
     /**
         Construct a sizer item for tracking a spacer.
     */
     /**
         Construct a sizer item for tracking a spacer.
     */
-    wxSizerItem(int width, int height, int proportion, int flag,
-                int border, wxObject* userData);
+    wxSizerItem(int width, int height, int proportion=0, int flag=0,
+                int border=0, wxObject* userData=NULL);
 
     //@{
     /**
         Construct a sizer item for tracking a window.
     */
     wxSizerItem(wxWindow* window, const wxSizerFlags& flags);
 
     //@{
     /**
         Construct a sizer item for tracking a window.
     */
     wxSizerItem(wxWindow* window, const wxSizerFlags& flags);
-    wxSizerItem(wxWindow* window, int proportion, int flag,
-                int border,
-                wxObject* userData);
+    wxSizerItem(wxWindow* window, int proportion=0, int flag=0,
+                int border=0,
+                wxObject* userData=NULL);
     //@}
 
     //@{
     /**
         Construct a sizer item for tracking a subsizer.
     */
     //@}
 
     //@{
     /**
         Construct a sizer item for tracking a subsizer.
     */
-    wxSizerItem(wxSizer* window, const wxSizerFlags& flags);
-    wxSizerItem(wxSizer* sizer, int proportion, int flag,
-                int border,
-                wxObject* userData);
+    wxSizerItem(wxSizer* sizer, const wxSizerFlags& flags);
+    wxSizerItem(wxSizer* sizer, int proportion=0, int flag=0,
+                int border=0,
+                wxObject* userData=NULL);
     //@}
 
     /**
     //@}
 
     /**
@@ -1039,7 +1090,7 @@ public:
         Old spacer, if any, is deleted.
     */
     void AssignSpacer(const wxSize& size);
         Old spacer, if any, is deleted.
     */
     void AssignSpacer(const wxSize& size);
-    void AssignSpacer(int w, int h) { AssignSpacer(wxSize(w, h)); }
+    void AssignSpacer(int w, int h);
     //@}
 
     /**
     //@}
 
     /**
@@ -1585,7 +1636,6 @@ public:
     void SetNonFlexibleGrowMode(wxFlexSizerGrowMode mode);
     
     virtual void RecalcSizes();
     void SetNonFlexibleGrowMode(wxFlexSizerGrowMode mode);
     
     virtual void RecalcSizes();
-    
     virtual wxSize CalcMin();
     
 };
     virtual wxSize CalcMin();
     
 };
@@ -1710,6 +1760,9 @@ public:
         Sets the vertical gap (in pixels) between the cells in the sizer.
     */
     void SetVGap(int gap);
         Sets the vertical gap (in pixels) between the cells in the sizer.
     */
     void SetVGap(int gap);
+
+    virtual wxSize CalcMin();
+    virtual void RecalcSizes();
 };
 
 
 };
 
 
@@ -1770,6 +1823,9 @@ public:
         Returns the static box associated with the sizer.
     */
     wxStaticBox* GetStaticBox() const;
         Returns the static box associated with the sizer.
     */
     wxStaticBox* GetStaticBox() const;
+
+    virtual wxSize CalcMin();
+    virtual void RecalcSizes();
 };
 
 
 };
 
 
@@ -1827,6 +1883,12 @@ public:
     */
     int GetOrientation() const;
 
     */
     int GetOrientation() const;
 
+    /**
+        Sets the orientation of the box sizer, either wxVERTICAL
+        or wxHORIZONTAL.
+    */
+    void SetOrientation(int orient);
+
     /**
         Implements the calculation of a box sizer's dimensions and then sets
         the size of its children (calling wxWindow::SetSize if the child is a window).
     /**
         Implements the calculation of a box sizer's dimensions and then sets
         the size of its children (calling wxWindow::SetSize if the child is a window).
@@ -1834,6 +1896,6 @@ public:
         It is used internally only and must not be called by the user
         (call Layout() if you want to resize). Documented for information.
     */
         It is used internally only and must not be called by the user
         (call Layout() if you want to resize). Documented for information.
     */
-    void RecalcSizes();
+    virtual void RecalcSizes();
 };
 
 };