From b25f15ea7803e172204432082740d081e5f19f81 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Wed, 17 Jan 2024 23:54:19 -0600 Subject: the golang way. everything in it's own repo Signed-off-by: Jeff Carr --- tree.go | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 tree.go (limited to 'tree.go') diff --git a/tree.go b/tree.go new file mode 100644 index 0000000..b39857c --- /dev/null +++ b/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/lib/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() +} -- cgit v1.2.3