summaryrefslogtreecommitdiff
path: root/toolkit/andlabs/spinbox.go
blob: c47fab76bb6c382f81c2594eccba6bb86113172a (plain)
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
38
package toolkit

import "log"

import "github.com/andlabs/ui"
import _ "github.com/andlabs/ui/winmanifest"

import "github.com/davecgh/go-spew/spew"

func NewSpinbox(b *ui.Box, name string, x int, y int) *Toolkit {
	// make new node here
	log.Println("gui.Toolbox.NewSpinbox()", x, y)
	var t Toolkit

	if (b == nil) {
		log.Println("gui.ToolboxNode.NewSpinbox() node.UiBox == nil. I can't add a range UI element without a place to put it")
		return nil
	}
	spin := ui.NewSpinbox(x, y)
	t.uiSpinbox = spin
	t.uiBox = b
	t.uiBox.Append(spin, false)

	spin.OnChanged(func(spin *ui.Spinbox) {
		i := spin.Value()
		if (DebugToolkit) {
			log.Println("gui.Toolbox.ui.OnChanged() val =", i)
			scs := spew.ConfigState{MaxDepth: 1}
			scs.Dump(t)
		}
		if (t.OnChanged != nil) {
			log.Println("gui.Toolbox.OnChanged() entered val =", i)
			t.OnChanged(&t)
		}
	})

	return &t
}