summaryrefslogtreecommitdiff
path: root/andlabs/tree.go
diff options
context:
space:
mode:
Diffstat (limited to 'andlabs/tree.go')
-rw-r--r--andlabs/tree.go31
1 files changed, 31 insertions, 0 deletions
diff --git a/andlabs/tree.go b/andlabs/tree.go
new file mode 100644
index 0000000..400bee4
--- /dev/null
+++ b/andlabs/tree.go
@@ -0,0 +1,31 @@
+package main
+
+/*
+ This code should be common to all gui plugins
+
+ There are some helper functions that are probably going to be
+ the same everywhere. Mostly due to handling the binary tree structure
+ and the channel communication
+
+ For now, it's just a symlink to the 'master' version in
+ ./toolkit/nocui/common.go
+*/
+
+import (
+ "go.wit.com/gui/widget"
+)
+
+// Other goroutines must use this to access the GUI
+//
+// 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.)
+//
+// this sets the channel to send user events back from the plugin
+func Callback(guiCallback chan widget.Action) {
+ me.myTree.Callback(guiCallback)
+}
+
+func PluginChannel() chan widget.Action {
+ return me.myTree.PluginChannel()
+}