summaryrefslogtreecommitdiff
path: root/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'main.go')
-rw-r--r--main.go46
1 files changed, 46 insertions, 0 deletions
diff --git a/main.go b/main.go
new file mode 100644
index 0000000..eb9bdb4
--- /dev/null
+++ b/main.go
@@ -0,0 +1,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()
+}