]> git.saurik.com Git - wxWidgets.git/commitdiff
Set m_rows, m_cols so GetRows/GetCols in the base class work. Added
authorRobin Dunn <robin@alldunn.com>
Fri, 7 Nov 2003 17:45:10 +0000 (17:45 +0000)
committerRobin Dunn <robin@alldunn.com>
Fri, 7 Nov 2003 17:45:10 +0000 (17:45 +0000)
GetCellSize method.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@24459 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

docs/latex/wx/gridbagsizer.tex
include/wx/gbsizer.h
src/common/gbsizer.cpp

index fefb812f50627604bc34d29301f559397cb8b42d..a0d1e0ff4f246eab71c400cc2a516b6aca719f81 100644 (file)
@@ -94,6 +94,15 @@ pointer values) or NULL if not found. (non-recursive)
 
 
 
+\membersection{wxGridBagSizer::GetCellSize}\label{wxgridbagsizergetcellsize}
+
+\constfunc{wxSize}{GetCellSize}{\param{int }{row}, \param{int }{col}}
+
+Get the size of the specified cell, including hgap and vgap.  Only
+valid after a Layout.
+
+
+
 \membersection{wxGridBagSizer::GetEmptyCellSize}\label{wxgridbagsizergetemptycellsize}
 
 \constfunc{wxSize}{GetEmptyCellSize}{\void}
index 797d9d377d7f040e2bfedd132ca63b66f7cbc4ed..f8385b947b4e1443e67509bf5711d0d8c274d1b1 100644 (file)
@@ -202,6 +202,10 @@ public:
     wxSize GetEmptyCellSize() const          { return m_emptyCellSize; }
     void SetEmptyCellSize(const wxSize& sz)  { m_emptyCellSize = sz; }
 
+    // Get the size of the specified cell, including hgap and vgap.  Only
+    // valid after a Layout.
+    wxSize GetCellSize(int row, int col) const;
+    
     // Get the grid position of the specified item (non-recursive)
     wxGBPosition GetItemPosition(wxWindow *window);
     wxGBPosition GetItemPosition(wxSizer *sizer);
index 26775f835e3cfb17b7d7d0d60f8c3973c3b02ca7..c3b2e137fbe34ee3b8171c0cec37ed3d014faac1 100644 (file)
@@ -238,6 +238,15 @@ bool wxGridBagSizer::Add( wxGBSizerItem *item )
 
 //---------------------------------------------------------------------------
 
+wxSize wxGridBagSizer::GetCellSize(int row, int col) const
+{
+    wxCHECK_MSG( (row < m_rows) && (col < m_cols),
+                 wxDefaultSize,
+                 wxT("Invalid cell."));
+    return wxSize( m_colWidths[col], m_rowHeights[row] );
+}
+
+
 wxGBPosition wxGridBagSizer::GetItemPosition(wxWindow *window)
 {
     wxGBPosition badpos(-1,-1);
@@ -456,14 +465,14 @@ wxSize wxGridBagSizer::CalcMin()
 
     // Now traverse the heights and widths arrays calcing the totals, including gaps
     int width = 0;
-    int ncols = m_colWidths.GetCount();
-    for (idx=0; idx < ncols; idx++)
-        width += m_colWidths[idx] + ( idx == ncols-1 ? 0 : m_hgap );
+    m_cols = m_colWidths.GetCount();
+    for (idx=0; idx < m_cols; idx++)
+        width += m_colWidths[idx] + ( idx == m_cols-1 ? 0 : m_hgap );
 
     int height = 0;
-    int nrows = m_rowHeights.GetCount();
-    for (idx=0; idx < nrows; idx++)
-        height += m_rowHeights[idx] + ( idx == nrows-1 ? 0 : m_vgap );
+    m_rows = m_rowHeights.GetCount();
+    for (idx=0; idx < m_rows; idx++)
+        height += m_rowHeights[idx] + ( idx == m_rows-1 ? 0 : m_vgap );
 
     return wxSize(width, height);   
 }
@@ -481,17 +490,17 @@ void wxGridBagSizer::RecalcSizes()
     wxPoint pt( GetPosition() );
     wxSize  sz( GetSize() );
    
-    int nrows = m_rowHeights.GetCount();
-    int ncols = m_colWidths.GetCount();
+    m_rows = m_rowHeights.GetCount();
+    m_cols = m_colWidths.GetCount();
     int idx, width, height;
 
-    AdjustForGrowables(sz, minsz, nrows, ncols);
+    AdjustForGrowables(sz, minsz, m_rows, m_cols);
 
     // Find the start positions on the window of the rows and columns
     wxArrayInt rowpos;
-    rowpos.Add(0, nrows);
+    rowpos.Add(0, m_rows);
     int y = pt.y;
-    for (idx=0; idx < nrows; idx++)
+    for (idx=0; idx < m_rows; idx++)
     {
         height = m_rowHeights[idx] + m_vgap;
         rowpos[idx] = y;
@@ -499,9 +508,9 @@ void wxGridBagSizer::RecalcSizes()
     }
 
     wxArrayInt colpos;
-    colpos.Add(0, ncols);
+    colpos.Add(0, m_cols);
     int x = pt.x;
-    for (idx=0; idx < ncols; idx++)
+    for (idx=0; idx < m_cols; idx++)
     {
         width = m_colWidths[idx] + m_hgap;
         colpos[idx] = x;