-
-
Notifications
You must be signed in to change notification settings - Fork 126
/
rangebuilder.go
37 lines (33 loc) · 893 Bytes
/
rangebuilder.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package main
import (
"fmt"
g "github.com/AllenDang/giu"
)
func loop() {
g.SingleWindow().Layout(
g.Label("Below buttons are generated by RangeBuilder in one line"),
g.Row(
g.RangeBuilder("Buttons in one line", []interface{}{"Button1", "Button2", "Button3"}, func(i int, v interface{}) g.Widget {
str := v.(string)
return g.Layout{
g.Button(str).OnClick(func() {
fmt.Println(str, "is clicked", i)
}),
g.Tooltip("Tooltip for " + str),
}
})...,
),
g.Dummy(0, 8),
g.Label("Below buttons are generated by RangeBuilder"),
g.RangeBuilder("Buttons", []interface{}{"Button1", "Button2", "Button3"}, func(i int, v interface{}) g.Widget {
str := v.(string)
return g.Button(str).OnClick(func() {
fmt.Println(str, "is clicked")
})
}),
)
}
func main() {
wnd := g.NewMasterWindow("Range builder demo", 800, 600, 0)
wnd.Run(loop)
}