forked from tadvi/winc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.go
80 lines (63 loc) · 1.69 KB
/
main.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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
package main
import (
"fmt"
"github.com/tadvi/winc"
)
func btnOnClick(arg *winc.Event) {
fmt.Println("Button clicked")
}
func wndOnClose(arg *winc.Event) {
winc.Exit()
}
func main() {
mainWindow := winc.NewForm(nil)
dock := winc.NewSimpleDock(mainWindow)
//mainWindow.SetLayout(dock)
mainWindow.SetSize(700, 600)
mainWindow.SetText("Controls Demo")
menu := mainWindow.NewMenu()
fileMn := menu.AddSubMenu("File")
fileMn.AddItem("New", winc.NoShortcut)
editMn := menu.AddSubMenu("Edit")
cutMn := editMn.AddItem("Cut", winc.Shortcut{winc.ModControl, winc.KeyX})
copyMn := editMn.AddItem("Copy", winc.NoShortcut)
pasteMn := editMn.AddItem("Paste", winc.NoShortcut)
menu.Show()
copyMn.SetCheckable(true)
copyMn.SetChecked(true)
pasteMn.SetEnabled(false)
cutMn.OnClick().Bind(func(e *winc.Event) {
println("cut click")
})
imlistTb := winc.NewImageList(16, 16)
imlistTb.AddResIcon(10)
imlistTb.AddResIcon(12)
imlistTb.AddResIcon(15)
toolbar := winc.NewToolbar(mainWindow)
toolbar.SetImageList(imlistTb)
addBtn := toolbar.AddButton("Add", 1)
toolbar.AddSeparator()
runBtn := toolbar.AddButton("Run Now Fast", 2)
toolbar.Show()
runBtn.OnClick().Bind(func(e *winc.Event) {
println("runBtn click")
})
dock.Dock(toolbar, winc.Top) // toolbars always dock to the top
//dock.Dock(tree, winc.Fill)
slide := winc.NewSlider(mainWindow)
slide.SetPos(10, 50)
slide.OnScroll().Bind(func(e *winc.Event) {
println(slide.Value())
})
addBtn.OnClick().Bind(func(e *winc.Event) {
println("addBtn click")
slide.SetValue(30)
})
//track.SetRange(0, 100)
//track.SetValue(20)
mainWindow.Center()
mainWindow.Show()
dock.Update()
mainWindow.OnClose().Bind(wndOnClose)
winc.RunMainLoop()
}