summaryrefslogtreecommitdiff
path: root/main.go
blob: eb9bdb4b61845bbb3898a213c8e52bcc05f4d438 (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
39
40
41
42
43
44
45
46
package gui

import "log"

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

func Main(f func()) {
	log.Println("Starting gui.Main() (using gtk via andlabs/ui)")
	ui.Main(f)
}

// Other goroutines must use this
//
// You can not acess / process the GUI thread directly from
// other goroutines. This is due to the nature of how 
// Linux, MacOS and Windows work (they all work differently. suprise. surprise.)
// For example: gui.Queue(addNewTabForColorSelection())
func Queue(f func()) {
	log.Println("Sending function to gui.Main() (using gtk via andlabs/ui)")
	ui.QueueMain(f)
}

// gui.Main(
// 	gui.MainExample()
// )
func MainExample() {
	name := "jcarr"
	log.Println("gui.initUI() inside ui.Main()")

	box := InitWindow(nil, "StartNewWindow" + name, 0)
	window := box.Window
	log.Println("StartNewWindow() box =", box)

	window.UiWindow.Show()
}

func TestExample() {
	log.Println("gui.initUI() inside ui.Main()")

	box := InitWindow(nil, "test", 0)
	window := box.Window
	log.Println("StartNewWindow() box =", box)

	window.UiWindow.Show()
}