summaryrefslogtreecommitdiff
path: root/treeInit.go
diff options
context:
space:
mode:
Diffstat (limited to 'treeInit.go')
-rw-r--r--treeInit.go49
1 files changed, 49 insertions, 0 deletions
diff --git a/treeInit.go b/treeInit.go
new file mode 100644
index 0000000..55faaa6
--- /dev/null
+++ b/treeInit.go
@@ -0,0 +1,49 @@
+// Copyright 2017-2025 WIT.COM Inc. All rights reserved.
+// Use of this source code is governed by the GPL 3.0
+
+package main
+
+/*
+ This is reference code for toolkit developers
+
+ This is how information is passed in GO back to the application
+ via the GO 'plugin' concept
+
+ TODO: switch this to protocol buffers
+*/
+
+import (
+ "go.wit.com/toolkits/tree"
+ "go.wit.com/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()
+}
+
+func initTree() *tree.TreeInfo {
+ t := tree.New()
+ t.PluginName = PLUGIN
+ t.NodeAction = newaction
+ t.Add = newAdd
+ t.SetTitle = setTitle
+ t.SetLabel = setLabel
+ t.SetText = setText
+ t.AddText = addText
+ t.SetChecked = setChecked
+ t.ToolkitClose = toolkitClose
+ t.ShowTable = showTable
+
+ return t
+}