for i in range(len(self.rowHeights)):
height = self.rowHeights[i]
- rpos[i] = px
- px += height
+ rpos[i] = py
+ py += height
for i in range(len(self.colWidths)):
width = self.colWidths[i]
- cpos[i] = py
- py += width
+ cpos[i] = px
+ px += width
# iterate children and set dimensions...
for item in self.GetChildren():
r, c, r2, c2 = item.GetUserData()
width = reduce( operator.add, self.colWidths[c:c2] )
height = reduce( operator.add, self.rowHeights[r:r2] )
- #item.SetDimension( (cpos[c], rpos[r]), (width, height))
self.SetItemBounds( item, cpos[c], rpos[r], width, height )
-
-## #--------------------------------------------------
-## def _add( self, size, opt, dim ):
-## r,c,r2,c2 = dim
-## if r2 > len(self.rows0):
-## x = [self.row_h] * (r2-len(self.rows0))
-## self.rows0.extend( x )
-## self.rows1.extend( x )
-## if c2 > len(self.cols0):
-## x = [self.col_w] * (c2-len(self.cols0))
-## self.cols0.extend( x )
-## self.cols1.extend( x )
-## if opt == 0: # fixed
-## scale = (r2-r)
-## for i in range(r,r2):
-## self.rows1[i] = self.rows0[i] = max( self.rows0[i], size.y/scale )
-## scale = (c2-c)
-## for i in range(c,c2):
-## self.cols1[i] = self.cols0[i] = max( self.cols0[i], size.x/scale )
-## else:
-## scale = (r2-r)
-## for i in range(r,r2):
-## self.rows0[i] = max( self.rows0[i], size.y/scale )
-## self.rows1[i] = self.rows0[i] * opt
-## scale = (c2-c)
-## for i in range(c,c2):
-## self.cols0[i] = max( self.cols0[i], size.x/scale )
-## self.cols1[i] = self.cols0[i] * opt
-
-
-## #--------------------------------------------------
-## def CalcMin( self ):
-## children = self.GetChildren()
-## if not children:
-## return wxSize(10, 10)
-
-## self.rows0 = []
-## self.cols0 = []
-## self.rows1 = []
-## self.cols1 = []
-
-## for cell in children:
-## self._add( cell.CalcMin(), cell.GetOption(), cell.GetUserData() )
-
-## self.minWidth = reduce( operator.add, self.cols1 )
-## self.minHeight = reduce( operator.add, self.rows1 )
-## self.fixedWidth = reduce( operator.add, self.cols0 ) # size without stretched widgets
-## self.fixedHeight = reduce( operator.add, self.rows0 )
-
-## return wxSize( self.minWidth, self.minHeight )
-
-
-## #--------------------------------------------------
-## def RecalcSizes( self ):
-## # get current dimensions, save for performance
-## myWidth = self.GetSize().x
-## myHeight = self.GetSize().y
-
-## # relative recent positions
-## px = self.GetPosition().x
-## py = self.GetPosition().y
-
-## # calculate space for one stretched item
-## stretchC = 0
-## for i in range(len(self.cols0)):
-## if self.cols1[i] <> self.cols0[i]:
-## stretchC = stretchC + self.cols1[i] / self.cols0[i]
-## if myWidth > self.fixedWidth and stretchC:
-## deltaw = (myWidth - self.fixedWidth) / stretchC
-## extraw = (myWidth - self.fixedWidth) % stretchC
-## else:
-## deltaw = extraw = 0
-
-## stretchR = 0
-## for i in range(len(self.rows0)):
-## if self.rows1[i] <> self.rows0[i]:
-## stretchR = stretchR + self.rows1[i] / self.rows0[i]
-## if myHeight > self.fixedHeight and stretchR:
-## deltah = (myHeight - self.fixedHeight) / stretchR
-## extrah = (myHeight - self.fixedHeight) % stretchR
-## else:
-## deltah = extrah = 0
-
-## self.rpos = [0] * len( self.rows0 )
-## self.cpos = [0] * len( self.cols0 )
-
-## for i in range(len(self.rows0)):
-## newHeight = self.rows0[i]
-## if self.rows1[i] <> self.rows0[i]:
-## weight = self.rows1[i] / self.rows0[i]
-## # first stretchable gets extra pixels
-## newHeight = newHeight + (deltah * weight) + extrah
-## extrah = 0
-## self.rpos[i] = py
-## self.rows1[i] = newHeight
-## py = py + newHeight
-
-## for i in range(len(self.cols0)):
-## newWidth = self.cols0[i]
-## if self.cols1[i] <> self.cols0[i]:
-## weight = self.cols1[i] / self.cols0[i]
-## # first stretchable gets extra pixels
-## newWidth = newWidth + (deltaw * weight) + extraw
-## extraw = 0
-## self.cpos[i] = px
-## self.cols1[i] = newWidth
-## px = px + newWidth
-
-## # iterate children ...
-## for cell in self.GetChildren():
-## r,c,r2,c2 = cell.GetUserData()
-## newWidth = reduce( operator.add, self.cols1[c:c2] )
-## newHeight = reduce( operator.add, self.rows1[r:r2] )
-## cell.SetDimension( (self.cpos[c], self.rpos[r]), (newWidth, newHeight) )
-