]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/gbsizer.h
Make storing non-trivial data in wxThreadSpecificInfo possible.
[wxWidgets.git] / interface / wx / gbsizer.h
index 30ffb83eab2840d9532904a5a294843a75cc67f2..5279db00c0297569418649c78f92e0374cfeb1ea 100644 (file)
@@ -2,13 +2,11 @@
 // Name:        gbsizer.h
 // Purpose:     interface of wxGBPosition
 // Author:      wxWidgets team
 // Name:        gbsizer.h
 // Purpose:     interface of wxGBPosition
 // Author:      wxWidgets team
-// RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 /**
     @class wxGBPosition
 /////////////////////////////////////////////////////////////////////////////
 
 /**
     @class wxGBPosition
-    @wxheader{gbsizer.h}
 
     This class represents the position of an item in a virtual grid of rows and
     columns managed by a wxGridBagSizer.
 
     This class represents the position of an item in a virtual grid of rows and
     columns managed by a wxGridBagSizer.
@@ -49,9 +47,9 @@ public:
     void SetRow(int row);
 
     /**
     void SetRow(int row);
 
     /**
-        Checks if the position is valid. An invalid position is (-1,-1).
+        Compare inequality of two wxGBPositions.
     */
     */
-    bool operator!(const wxGBPosition& p) const;
+    bool operator!=(const wxGBPosition& p) const;
 
     /**
         Compare equality of two wxGBPositions.
 
     /**
         Compare equality of two wxGBPositions.
@@ -63,7 +61,6 @@ public:
 
 /**
     @class wxGridBagSizer
 
 /**
     @class wxGridBagSizer
-    @wxheader{gbsizer.h}
 
     A wxSizer that can lay out items in a virtual grid like a wxFlexGridSizer
     but in this case explicit positioning of the items is allowed using
 
     A wxSizer that can lay out items in a virtual grid like a wxFlexGridSizer
     but in this case explicit positioning of the items is allowed using
@@ -95,12 +92,20 @@ public:
     wxSizerItem* Add(wxSizer* sizer, const wxGBPosition& pos,
                      const wxGBSpan& span = wxDefaultSpan,
                      int flag = 0, int border = 0, wxObject* userData = NULL);
     wxSizerItem* Add(wxSizer* sizer, const wxGBPosition& pos,
                      const wxGBSpan& span = wxDefaultSpan,
                      int flag = 0, int border = 0, wxObject* userData = NULL);
+    wxSizerItem* Add(wxGBSizerItem* item);
+
+    /**
+        Adds a spacer to the given position.
+        @a width and @a height specify the dimension of the spacer to be added.
+
+        @return A valid pointer if the spacer was successfully placed at the
+                 given position, or @NULL if something was already there.
+    */
     wxSizerItem* Add(int width, int height, const wxGBPosition& pos,
                      const wxGBSpan& span = wxDefaultSpan,
                      int flag = 0, int border = 0, wxObject* userData = NULL);
     wxSizerItem* Add(int width, int height, const wxGBPosition& pos,
                      const wxGBSpan& span = wxDefaultSpan,
                      int flag = 0, int border = 0, wxObject* userData = NULL);
-    wxSizerItem* Add(wxGBSizerItem* item);
-    //@}
 
 
+    //@}
     /**
         Called when the managed size of the sizer is needed or when layout
         needs done.
     /**
         Called when the managed size of the sizer is needed or when layout
         needs done.
@@ -216,11 +221,10 @@ public:
 
 /**
     @class wxGBSizerItem
 
 /**
     @class wxGBSizerItem
-    @wxheader{gbsizer.h}
 
     The wxGBSizerItem class is used by the wxGridBagSizer for tracking the
     items in the sizer. It adds grid position and spanning information to the
 
     The wxGBSizerItem class is used by the wxGridBagSizer for tracking the
     items in the sizer. It adds grid position and spanning information to the
-    normal wxSizerItem by adding wxGBPosition and wxGBSpan attrbibutes. Most of
+    normal wxSizerItem by adding wxGBPosition and wxGBSpan attributes. Most of
     the time you will not need to use a wxGBSizerItem directly in your code,
     but there are a couple of cases where it is handy.
 
     the time you will not need to use a wxGBSizerItem directly in your code,
     but there are a couple of cases where it is handy.
 
@@ -234,20 +238,20 @@ public:
         Construct a sizer item for tracking a spacer.
     */
     wxGBSizerItem(int width, int height, const wxGBPosition& pos,
         Construct a sizer item for tracking a spacer.
     */
     wxGBSizerItem(int width, int height, const wxGBPosition& pos,
-                  const wxGBSpan& span, int flag, int border,
-                  wxObject* userData);
+                  const wxGBSpan& span=wxDefaultSpan, int flag=0, int border=0,
+                  wxObject* userData=NULL);
     /**
         Construct a sizer item for tracking a window.
     */
     wxGBSizerItem(wxWindow* window, const wxGBPosition& pos,
     /**
         Construct a sizer item for tracking a window.
     */
     wxGBSizerItem(wxWindow* window, const wxGBPosition& pos,
-                  const wxGBSpan& span, int flag, int border,
-                  wxObject* userData);
+                  const wxGBSpan& span=wxDefaultSpan, int flag=0, int border=0,
+                  wxObject* userData=NULL);
     /**
         Construct a sizer item for tracking a subsizer.
     */
     wxGBSizerItem(wxSizer* sizer, const wxGBPosition& pos,
     /**
         Construct a sizer item for tracking a subsizer.
     */
     wxGBSizerItem(wxSizer* sizer, const wxGBPosition& pos,
-                  const wxGBSpan& span, int flag, int border,
-                  wxObject* userData);
+                  const wxGBSpan& span=wxDefaultSpan, int flag=0, int border=0,
+                  wxObject* userData=NULL);
 
     /**
         Get the row and column of the endpoint of this item.
 
     /**
         Get the row and column of the endpoint of this item.
@@ -271,7 +275,7 @@ public:
     //@}
 
     /**
     //@}
 
     /**
-        Returns @true if this item and the @a other item instersect.
+        Returns @true if this item and the @a other item intersect.
     */
     bool Intersects(const wxGBSizerItem& other);
     /**
     */
     bool Intersects(const wxGBSizerItem& other);
     /**
@@ -294,13 +298,16 @@ public:
         is successful and after the next Layout the item will be resized.
     */
     bool SetSpan(const wxGBSpan& span);
         is successful and after the next Layout the item will be resized.
     */
     bool SetSpan(const wxGBSpan& span);
+
+    
+    wxGridBagSizer* GetGBSizer() const;
+    void SetGBSizer(wxGridBagSizer* sizer);
 };
 
 
 
 /**
     @class wxGBSpan
 };
 
 
 
 /**
     @class wxGBSpan
-    @wxheader{gbsizer.h}
 
     This class is used to hold the row and column spanning attributes of items
     in a wxGridBagSizer.
 
     This class is used to hold the row and column spanning attributes of items
     in a wxGridBagSizer.
@@ -342,9 +349,9 @@ public:
     void SetRowspan(int rowspan);
 
     /**
     void SetRowspan(int rowspan);
 
     /**
-        Checks if the span is valid. An invalid span is (-1,-1).
+        Compare inequality of two wxGBSpans.
     */
     */
-    bool operator!(const wxGBSpan& o) const;
+    bool operator!=(const wxGBSpan& o) const;
 
     /**
         Compare equality of two wxGBSpans.
 
     /**
         Compare equality of two wxGBSpans.
@@ -352,3 +359,5 @@ public:
     bool operator==(const wxGBSpan& o) const;
 };
 
     bool operator==(const wxGBSpan& o) const;
 };
 
+
+const wxGBSpan wxDefaultSpan;