diff options
author | René 'Necoro' Neumann <necoro@necoro.eu> | 2022-02-01 21:37:53 +0100 |
---|---|---|
committer | René 'Necoro' Neumann <necoro@necoro.eu> | 2022-02-01 21:37:53 +0100 |
commit | d3a709c945002c5fbb1123ab8dbe25cb509e01e2 (patch) | |
tree | 5dfeedb2e6b796a1e424de9efcadc5a5e7171c01 | |
parent | ec2c47a63d25e54d6d08e75448510244ddc76f4d (diff) | |
download | engarde-importer-d3a709c945002c5fbb1123ab8dbe25cb509e01e2.tar.gz engarde-importer-d3a709c945002c5fbb1123ab8dbe25cb509e01e2.tar.bz2 engarde-importer-d3a709c945002c5fbb1123ab8dbe25cb509e01e2.zip |
Make grid context global, i.e. all labels count into the size.
Diffstat (limited to '')
-rw-r--r-- | gui.go | 17 |
1 files changed, 8 insertions, 9 deletions
@@ -44,7 +44,6 @@ var ( ) type GridLayout struct { - size float32 widgets []g.Widget labels []*g.LabelWidget } @@ -58,32 +57,32 @@ func Line(label string, widget g.Widget) GridLine { return GridLine{label, widget} } +const gridPadding = 10 + +var gridSize float32 = gridPadding + func Grid(lines ...GridLine) *GridLayout { - var size float32 widgets := make([]g.Widget, len(lines)) labels := make([]*g.LabelWidget, len(lines)) for i, line := range lines { labelSize, _ := g.CalcTextSize(line.label) - if labelSize > size { - size = labelSize + if labelSize+gridPadding > gridSize { + gridSize = labelSize + gridPadding } labels[i] = g.Label(line.label) widgets[i] = line.widget } - // add a default padding - size = size + 10 - - return &GridLayout{size, widgets, labels} + return &GridLayout{widgets, labels} } func (grid *GridLayout) Build() { for i := range grid.labels { g.AlignTextToFramePadding() grid.labels[i].Build() - imgui.SameLineV(grid.size, 0) + imgui.SameLineV(gridSize, 0) grid.widgets[i].Build() } } |