diff options
Diffstat (limited to 'grid.go')
| -rw-r--r-- | grid.go | 28 |
1 files changed, 25 insertions, 3 deletions
@@ -33,6 +33,22 @@ type GridOffset struct { Y int } +func (parent *Node) RawGrid() *Node { + newNode := parent.newNode("GRID", widget.Grid) + + newNode.W = 0 + newNode.H = 0 + newNode.NextW = 1 + newNode.NextH = 1 + + // by default, always pad grids + newNode.pad = true + + // inform the toolkits + sendAction(newNode, widget.Add) + return newNode +} + func (parent *Node) NewGrid(progname string, w int, h int) *Node { newNode := parent.newNode(progname, widget.Grid) newNode.progname = progname @@ -67,9 +83,15 @@ func (n *Node) gridIncrement() { } n.NextW += 1 - if n.NextW > n.W { - n.NextW = 1 - n.NextH += 1 + if n.W == 0 { + // grid does not have a fixed size + } else { + // this grid has bounds, if adding to the grid + // goes off the edge, then add the widget to the next row + if n.NextW > n.W { + n.NextW = 1 + n.NextH += 1 + } } n.gridIncrement() |
