Compare commits

..

No commits in common. "master" and "v0.21.4" have entirely different histories.

7 changed files with 49 additions and 133 deletions

2
.gitignore vendored
View File

@ -2,4 +2,4 @@
go.mod
go.sum
pixelgl
*.so
pixelgl.so

View File

@ -1,22 +1,12 @@
VERSION = $(shell git describe --tags)
BUILDTIME = $(shell date +%Y.%m.%d)
all: clean goimports plugin
all: goimports plugin
#ldd pixelgl.so
deps:
sudo apt install libxxf86vm-dev libxxf86vm1
plugin:
LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/ GO111MODULE=off go build -v -x -buildmode=plugin -o pixelgl.so
GO111MODULE=off go build -v -x -buildmode=plugin -o pixelgl.so
install:
rm -f pixelgo.so
go build -v -x -buildmode=plugin -o ~/go/lib/pixelgl-${VERSION}.so
cd ~/go/lib && ln -f -s pixelgl-${VERSION}.so pixelgl.so
clean:
rm -f pixelgl pixelgl.so
go build -v -x -buildmode=plugin -o ~/go/lib/pixelgl.so
full-plugin:
GO111MODULE=off go build -v -x -buildmode=plugin -o pixelgl.so

View File

@ -7,13 +7,12 @@ package main
*/
import (
"go.wit.com/lib/protobuf/guipb"
"go.wit.com/log"
"go.wit.com/toolkits/tree"
"go.wit.com/widget"
)
func newAdd(n *tree.Node) {
func Add(n *tree.Node) {
log.Log(INFO, "Add() END =", n.WidgetType, n.String())
if n == nil {
log.Warn("Tree Error: Add() sent n == nil")
@ -59,7 +58,7 @@ func newaction(n *tree.Node, atype widget.ActionType) {
// w.disableColor()
case widget.Delete:
log.Info("newaction() DeleteNode()")
// n.DeleteNode()
n.DeleteNode()
case widget.ToolkitClose:
log.Info("newaction() toolkit closed. are the channels cleand up?")
return
@ -69,15 +68,15 @@ func newaction(n *tree.Node, atype widget.ActionType) {
log.Log(INFO, "newaction() END", atype, n.String())
}
func setTitle(n *tree.Node, s string) {
setText(n, s)
func SetTitle(n *tree.Node, s string) {
SetText(n, s)
}
func setLabel(n *tree.Node, s string) {
setText(n, s)
func SetLabel(n *tree.Node, s string) {
SetText(n, s)
}
func setText(n *tree.Node, s string) {
func SetText(n *tree.Node, s string) {
if n == nil {
log.Warn("Tree Error: Add() sent n == nil")
return
@ -91,7 +90,7 @@ func setText(n *tree.Node, s string) {
log.Info("SetText()", n.WidgetType, n.String())
}
func addText(n *tree.Node, s string) {
func AddText(n *tree.Node, s string) {
if n == nil {
log.Warn("Tree Error: Add() sent n == nil")
return
@ -104,23 +103,3 @@ func addText(n *tree.Node, s string) {
// w := n.TK.(*guiWidget)
// w.AddText(s)
}
func enableWidget(n *tree.Node) {
log.Info("do enable() here")
}
func disableWidget(n *tree.Node) {
log.Info("do enable() here")
}
func setChecked(n *tree.Node, b bool) {
log.Info("do enable() here")
}
func showTable(n *guipb.Table) {
log.Info("do enable() here")
}
func toolkitClose() {
log.Info("do enable() here")
}

View File

@ -14,6 +14,7 @@ import (
"go.wit.com/dev/alexflint/arg"
"go.wit.com/log"
"go.wit.com/toolkits/tree"
"github.com/faiface/pixel/pixelgl"
// "github.com/gookit/config"
@ -23,8 +24,6 @@ import (
var VERSION string
var BUILDTIME string
var PLUGIN string = "pixelgl"
//go:embed resources/*
var resources embed.FS
@ -33,13 +32,12 @@ var pp *arg.Parser
// the glsl file
var glslFile string
func initPlugin() {
func init() {
pp = arg.MustParse(&argv)
log.Log(INFO, "Init()")
me.myTree = initTree()
/*
me.myTree = tree.New()
me.myTree.PluginName = "nocui"
// me.myTree.ActionFromChannel = doAction
@ -49,7 +47,6 @@ func initPlugin() {
me.myTree.SetLabel = SetLabel
me.myTree.SetText = SetText
me.myTree.AddText = AddText
*/
me.exit = false

View File

@ -1,8 +1,6 @@
package main
import (
"sync"
"go.wit.com/toolkits/tree"
)
@ -15,8 +13,8 @@ type guiWidget struct {
val map[string]int
}
var initOnce sync.Once // run initPlugin() only once
var me toolkitConfig // It's probably a terrible idea to call this 'me'
// It's probably a terrible idea to call this 'me'
var me toolkitConfig
type toolkitConfig struct {
treeRoot *tree.Node // the base of the binary tree. it should have id == 0

24
tree.go Normal file
View File

@ -0,0 +1,24 @@
package main
/*
This is reference code for toolkit developers
*/
import (
"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()
}

View File

@ -1,72 +0,0 @@
// 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
}