50 lines
1.1 KiB
Go
50 lines
1.1 KiB
Go
// 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
|
|
}
|