73 lines
1.7 KiB
Go
73 lines
1.7 KiB
Go
|
// 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
|
||
|
}
|