attempt at log.Register(guiDebug) debugging flag
Signed-off-by: Jeff Carr <jcarr@wit.com>
This commit is contained in:
parent
606f9d5ec0
commit
d2b3f7e074
8
args.go
8
args.go
|
@ -2,6 +2,8 @@ package gui
|
|||
|
||||
import (
|
||||
arg "github.com/alexflint/go-arg"
|
||||
|
||||
newlog "go.wit.com/log"
|
||||
)
|
||||
|
||||
var argGui ArgsGui
|
||||
|
@ -15,6 +17,12 @@ type ArgsGui struct {
|
|||
|
||||
func init() {
|
||||
arg.Register(&argGui)
|
||||
|
||||
newlog.Register("gui", "debugGui", &debugGui)
|
||||
|
||||
for _, s := range newlog.ListAll() {
|
||||
newlog.Info("go.wit.org/gui ListAll() returned:", s)
|
||||
}
|
||||
}
|
||||
|
||||
// returns the toolkit
|
||||
|
|
|
@ -0,0 +1,79 @@
|
|||
/*
|
||||
A Labeled Combobox widget:
|
||||
|
||||
-----------------------------
|
||||
| | |
|
||||
| Food: | <dropdown> |
|
||||
| | |
|
||||
-----------------------------
|
||||
|
||||
The user can then edit the dropdown field and type anything into it
|
||||
*/
|
||||
package gadgets
|
||||
|
||||
import (
|
||||
"go.wit.com/log"
|
||||
"go.wit.com/gui"
|
||||
)
|
||||
|
||||
type BasicCombobox struct {
|
||||
ready bool
|
||||
name string
|
||||
|
||||
parent *gui.Node // parent widget
|
||||
l *gui.Node // label widget
|
||||
d *gui.Node // dropdown widget
|
||||
|
||||
value string
|
||||
label string
|
||||
|
||||
Custom func()
|
||||
}
|
||||
|
||||
func (d *BasicCombobox) Get() string {
|
||||
if ! d.Ready() {return ""}
|
||||
return d.value
|
||||
}
|
||||
|
||||
// Returns true if the status is valid
|
||||
func (d *BasicCombobox) Ready() bool {
|
||||
if d == nil {return false}
|
||||
return d.ready
|
||||
}
|
||||
|
||||
func (d *BasicCombobox) Add(value string) {
|
||||
if ! d.Ready() {return}
|
||||
log.Println("BasicCombobox.Add() =", value)
|
||||
d.d.AddDropdownName(value)
|
||||
return
|
||||
}
|
||||
|
||||
func (d *BasicCombobox) Set(value string) bool {
|
||||
if ! d.Ready() {return false}
|
||||
log.Println("BasicCombobox.Set() =", value)
|
||||
d.d.SetText(value)
|
||||
d.value = value
|
||||
return true
|
||||
}
|
||||
|
||||
func NewBasicCombobox(p *gui.Node, name string) *BasicCombobox {
|
||||
d := BasicCombobox {
|
||||
parent: p,
|
||||
name: name,
|
||||
ready: false,
|
||||
}
|
||||
|
||||
// various timeout settings
|
||||
d.l = p.NewLabel(name)
|
||||
d.d = p.NewCombobox("")
|
||||
d.d.Custom = func() {
|
||||
d.value = d.Get()
|
||||
log.Println("BasicCombobox.Custom() user changed value to =", d.value)
|
||||
if d.Custom != nil {
|
||||
d.Custom()
|
||||
}
|
||||
}
|
||||
|
||||
d.ready = true
|
||||
return &d
|
||||
}
|
Loading…
Reference in New Issue