updates for v0.22 gui changes
This commit is contained in:
parent
87b53978f0
commit
067b28b7e7
1
Makefile
1
Makefile
|
@ -6,6 +6,7 @@ all:
|
||||||
@echo It creates a binary tree of widgets
|
@echo It creates a binary tree of widgets
|
||||||
@echo The widgets are things like Windows, Buttons, Labels, etc
|
@echo The widgets are things like Windows, Buttons, Labels, etc
|
||||||
@echo
|
@echo
|
||||||
|
@go vet
|
||||||
|
|
||||||
note-about-golang:
|
note-about-golang:
|
||||||
ifeq ($(GO111MODULE),)
|
ifeq ($(GO111MODULE),)
|
||||||
|
|
|
@ -201,6 +201,12 @@ myButton = myGroup.NewButton("hit ball", nil).SetName("HIT")
|
||||||
myButton.GetName() should return "HIT"
|
myButton.GetName() should return "HIT"
|
||||||
n = Find("HIT") should return myButton
|
n = Find("HIT") should return myButton
|
||||||
*/
|
*/
|
||||||
|
// switch to this
|
||||||
|
// todo: there are better ways than any of this once protobuf
|
||||||
|
func (n *Node) SetRefName(s string) *Node {
|
||||||
|
return n.SetProgName(s)
|
||||||
|
}
|
||||||
|
|
||||||
func (n *Node) SetProgName(s string) *Node {
|
func (n *Node) SetProgName(s string) *Node {
|
||||||
if !n.Ready() {
|
if !n.Ready() {
|
||||||
return n
|
return n
|
||||||
|
@ -335,7 +341,6 @@ func (n *Node) Ready() bool {
|
||||||
panic("ready got nil")
|
panic("ready got nil")
|
||||||
// TODO: figure out if you can identify the code trace
|
// TODO: figure out if you can identify the code trace
|
||||||
// to help find the root cause
|
// to help find the root cause
|
||||||
return false
|
|
||||||
}
|
}
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
37
main.go
37
main.go
|
@ -262,22 +262,47 @@ func New() *Node {
|
||||||
|
|
||||||
// try to load andlabs, if that doesn't work, fall back to the console
|
// try to load andlabs, if that doesn't work, fall back to the console
|
||||||
func (n *Node) Default() *Node {
|
func (n *Node) Default() *Node {
|
||||||
|
var err error
|
||||||
if argGui.GuiPlugin != "" {
|
if argGui.GuiPlugin != "" {
|
||||||
log.Log(WARN, "New.Default() try toolkit =", argGui.GuiPlugin)
|
log.Log(WARN, "New.Default() try toolkit =", argGui.GuiPlugin)
|
||||||
return n.LoadToolkit(argGui.GuiPlugin)
|
if n, err = n.LoadToolkit(argGui.GuiPlugin); err == nil {
|
||||||
|
return n
|
||||||
|
}
|
||||||
|
log.Log(WARN, "LoadToolkit() failed for =", argGui.GuiPlugin)
|
||||||
}
|
}
|
||||||
// if DISPLAY isn't set, return since gtk can't load
|
// if DISPLAY isn't set, return since gtk can't load
|
||||||
// TODO: figure out how to check what to do in macos and mswindows
|
// TODO: figure out how to check what to do in macos and mswindows
|
||||||
if os.Getenv("DISPLAY") == "" {
|
if os.Getenv("DISPLAY") == "" {
|
||||||
if n.LoadToolkit("gocui") == nil {
|
if n, err = n.LoadToolkit("gocui"); err == nil {
|
||||||
log.Log(WARN, "New() failed to load gocui")
|
|
||||||
}
|
|
||||||
return n
|
return n
|
||||||
}
|
}
|
||||||
if n.LoadToolkit("andlabs") != nil {
|
log.Log(WARN, "LoadToolkit() failed to load gocui")
|
||||||
|
}
|
||||||
|
if n, err = n.LoadToolkit("andlabs"); err == nil {
|
||||||
return n
|
return n
|
||||||
}
|
}
|
||||||
n.LoadToolkit("gocui")
|
log.Log(WARN, "LoadToolkit() failed to load andlabs")
|
||||||
|
|
||||||
|
if n, err = n.LoadToolkit("gocui"); err == nil {
|
||||||
|
return n
|
||||||
|
}
|
||||||
|
log.Log(WARN, "LoadToolkit() failed to load gocui")
|
||||||
|
|
||||||
|
log.Log(WARN, "")
|
||||||
|
log.Log(WARN, "### Error ####")
|
||||||
|
log.Log(WARN, "The GUI golang plugins did not load.")
|
||||||
|
log.Log(WARN, "You will have to rebuild them")
|
||||||
|
log.Log(WARN, "go-clone go.wit.com/toolkits/<pick one>/")
|
||||||
|
log.Log(WARN, "TODO: try to rebuild them here")
|
||||||
|
log.Log(WARN, "TODO: falling back to STDIN interface")
|
||||||
|
log.Log(WARN, "### Error ####")
|
||||||
|
log.Log(WARN, "")
|
||||||
|
log.Sleep(7)
|
||||||
|
|
||||||
|
if n, err = n.LoadToolkit("nocui"); err == nil {
|
||||||
|
return n
|
||||||
|
}
|
||||||
|
log.Log(WARN, "LoadToolkit() failed to load nocui")
|
||||||
return n
|
return n
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
19
plugin.go
19
plugin.go
|
@ -7,6 +7,7 @@ package gui
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"embed"
|
"embed"
|
||||||
|
"errors"
|
||||||
"os"
|
"os"
|
||||||
"plugin"
|
"plugin"
|
||||||
|
|
||||||
|
@ -279,23 +280,11 @@ func (n *Node) ListToolkits() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (n *Node) LoadToolkit(name string) *Node {
|
func (n *Node) LoadToolkit(name string) (*Node, error) {
|
||||||
log.Log(PLUG, "LoadToolkit() START for name =", name)
|
log.Log(PLUG, "LoadToolkit() START for name =", name)
|
||||||
plug := initPlugin(name)
|
plug := initPlugin(name)
|
||||||
if plug == nil {
|
if plug == nil {
|
||||||
log.Log(WARN, "LoadToolkit() FAILED name =", name)
|
return n, errors.New("initPlugin(" + name + ") failed")
|
||||||
log.Log(WARN, "")
|
|
||||||
log.Log(WARN, "### Error ####")
|
|
||||||
log.Log(WARN, "The GUI golang plugins did not load.")
|
|
||||||
log.Log(WARN, "You will have to rebuild them")
|
|
||||||
log.Log(WARN, "go-clone go.wit.com/toolkits/<pick one>/")
|
|
||||||
log.Log(WARN, "TODO: try to rebuild them here")
|
|
||||||
log.Log(WARN, "TODO: fall back to STDIN interface")
|
|
||||||
log.Log(WARN, "### Error ####")
|
|
||||||
log.Log(WARN, "")
|
|
||||||
log.Log(WARN, "")
|
|
||||||
log.Sleep(7)
|
|
||||||
return n
|
|
||||||
}
|
}
|
||||||
plug.dead = false
|
plug.dead = false
|
||||||
|
|
||||||
|
@ -308,7 +297,7 @@ func (n *Node) LoadToolkit(name string) *Node {
|
||||||
// TODO: find a new way to do this that is locking, safe and accurate
|
// TODO: find a new way to do this that is locking, safe and accurate
|
||||||
me.rootNode.redraw(plug)
|
me.rootNode.redraw(plug)
|
||||||
log.Log(PLUG, "LoadToolkit() END for name =", name)
|
log.Log(PLUG, "LoadToolkit() END for name =", name)
|
||||||
return n
|
return n, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (n *Node) CloseToolkit(name string) bool {
|
func (n *Node) CloseToolkit(name string) bool {
|
||||||
|
|
Loading…
Reference in New Issue