#----------------------------------------------------------------------
-# Name: wxPython.lib.GridSizer
+# Name: wxPython.lib.grids
# Purpose: An example sizer derived from the C++ wxPySizer that
# sizes items in a fixed or flexible grid.
#
#----------------------------------------------------------------------
"""
-
-In this module you will find wxGridSizer and wxFlexgridSizer.
+In this module you will find wxGridSizer and wxFlexGridSizer.
wxGridSizer arrainges its items in a grid in which all the widths and
heights are the same. wxFlexgridSizer allows different widths and
heights, and you can also specify rows and/or columns that are
growable. See the demo for a couple examples for how to use them.
-
"""
isz = item.CalcMin()
flag = item.GetFlag()
- if flag & wxEXPAND:
+ if flag & wxEXPAND or flag & wxSHAPED:
isz = wxSize(w, h)
+ else:
+ if flag & wxALIGN_CENTER_HORIZONTAL:
+ ipt.x = x + (w - isz.width) / 2
+ elif flag & wxALIGN_RIGHT:
+ ipt.x = x + (w - isz.width)
- elif flag & wxCENTER:
- ipt.x = x + (w - isz.width) / 2
- ipt.y = y + (h - isz.height) / 2
-
- if flag & wxALIGN_LEFT:
- ipt.x = x
- elif flag & wxALIGN_RIGHT:
- ipt.x = x + (w - isz.width)
-
- if flag & wxALIGN_TOP:
- ipt.y = y
- elif flag & wxALIGN_BOTTOM:
- ipt.y = y + (h - isz.height)
+ if flag & wxALIGN_CENTER_VERTICAL:
+ ipt.y = y + (h - isz.height) / 2
+ elif flag & wxALIGN_BOTTOM:
+ ipt.y = y + (h - isz.height)
item.SetDimension(ipt, isz)
for idx in self.growableCols:
self.colWidths[idx] = self.colWidths[idx] + delta
+ # bottom right corner
+ sz = wxSize(pt.x + sz.width, pt.y + sz.height)
+
# Layout each cell
x = pt.x
for c in range(ncols):