diff options
| author | Jeff Carr <[email protected]> | 2025-02-14 18:11:19 -0600 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-02-14 18:11:19 -0600 |
| commit | a83ca26ac3380be410cd8aaceef7b6a2c7d2701a (patch) | |
| tree | 28e5cf62e8cd216b50e1d1bbdc3e3b758b0f67cb /treeInit.go | |
| parent | c4e48c6403936c7f5d1f60d590fc3a91fecdc83d (diff) | |
switch to treeInitv0.22.26v0.22.25v0.22.24v0.22.23v0.22.22v0.22.21v0.22.20v0.22.19v0.22.18v0.22.17v0.22.16v0.22.15
Diffstat (limited to 'treeInit.go')
| -rw-r--r-- | treeInit.go | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/treeInit.go b/treeInit.go new file mode 100644 index 0000000..78ff4fb --- /dev/null +++ b/treeInit.go @@ -0,0 +1,72 @@ +// Copyright 2017-2025 WIT.COM Inc. All rights reserved. +// Use of this source code is governed by the GPL 3.0 + +/* + DO NOT EDIT THIS FILE + + this file is the same for every GUI toolkit plugin + when you are making a new GUI toolkit plugin for + a specific toolkit, you just need to define these + functions. + + for example, in the "gocui" toolkit, the functions + below are what triggers the "gocui" GO package + to draw labels, buttons, windows, etc + + If you are starting out trying to make a new GUI toolkit, + all you have to do is copy this file over. Then + work on making these functions. addWidget(), setText(), etc. + + That's it! +*/ + +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 { + initOnce.Do(initPlugin) + return me.myTree.PluginChannel() +} + +func initTree() *tree.TreeInfo { + t := tree.New() + t.PluginName = PLUGIN + t.Add = newAdd + t.SetTitle = setTitle + t.SetLabel = setLabel + t.SetText = setText + t.AddText = addText + + t.Enable = enableWidget + t.Disable = disableWidget + + t.SetChecked = setChecked + t.ToolkitClose = toolkitClose + t.ShowTable = showTable + + return t +} |
