]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/gbsizer.cpp
add XRC handler for wxSearchCtrl (extended patch 1751516)
[wxWidgets.git] / src / common / gbsizer.cpp
index a3ad1e92a8f839aaa8b8954c4fdfb55620e2f79e..b4b50b2842ae4cf918d3f1025265af042aad3c1c 100644 (file)
@@ -409,7 +409,7 @@ wxGBSizerItem* wxGridBagSizer::FindItemAtPoint(const wxPoint& pt)
         wxGBSizerItem* item = (wxGBSizerItem*)node->GetData();
         wxRect rect(item->GetPosition(), item->GetSize());
         rect.Inflate(m_hgap, m_vgap);
-        if ( rect.Inside(pt) )
+        if ( rect.Contains(pt) )
             return item;
         node = node->GetNext();
     }
@@ -507,7 +507,7 @@ void wxGridBagSizer::RecalcSizes()
     m_cols = m_colWidths.GetCount();
     int idx, width, height;
 
-    AdjustForGrowables(sz, m_calculatedMinSize, m_rows, m_cols);
+    AdjustForGrowables(sz);
 
     // Find the start positions on the window of the rows and columns
     wxArrayInt rowpos;
@@ -537,20 +537,24 @@ void wxGridBagSizer::RecalcSizes()
     {
         int row, col, endrow, endcol;
         wxGBSizerItem* item = (wxGBSizerItem*)node->GetData();
-        item->GetPos(row, col);
-        item->GetEndPos(endrow, endcol);
 
-        height = 0;
-        for(idx=row; idx <= endrow; idx++)
-            height += m_rowHeights[idx];
-        height += (endrow - row) * m_vgap; // add a vgap for every row spanned
+        if ( item->IsShown() )
+        {
+            item->GetPos(row, col);
+            item->GetEndPos(endrow, endcol);
 
-        width = 0;
-        for (idx=col; idx <= endcol; idx++)
-            width += m_colWidths[idx];
-        width += (endcol - col) * m_hgap; // add a hgap for every col spanned
+            height = 0;
+            for(idx=row; idx <= endrow; idx++)
+                height += m_rowHeights[idx];
+            height += (endrow - row) * m_vgap; // add a vgap for every row spanned
 
-        SetItemBounds(item, colpos[col], rowpos[row], width, height);
+            width = 0;
+            for (idx=col; idx <= endcol; idx++)
+                width += m_colWidths[idx];
+            width += (endcol - col) * m_hgap; // add a hgap for every col spanned
+
+            SetItemBounds(item, colpos[col], rowpos[row], width, height);
+        }
 
         node = node->GetNext();
     }