BasicWindow Ready() and Title()
Signed-off-by: Jeff Carr <jcarr@wit.com>
This commit is contained in:
parent
d69a41a295
commit
05eb9b5ad8
|
@ -9,10 +9,11 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
type BasicWindow struct {
|
type BasicWindow struct {
|
||||||
|
ready bool
|
||||||
hidden bool
|
hidden bool
|
||||||
name string
|
name string
|
||||||
|
|
||||||
p *gui.Node // parent widget
|
parent *gui.Node
|
||||||
win *gui.Node // window widget
|
win *gui.Node // window widget
|
||||||
box *gui.Node // box
|
box *gui.Node // box
|
||||||
|
|
||||||
|
@ -20,18 +21,21 @@ type BasicWindow struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *BasicWindow) Hide() {
|
func (w *BasicWindow) Hide() {
|
||||||
|
if ! w.Ready() {return}
|
||||||
w.win.Hide()
|
w.win.Hide()
|
||||||
w.hidden = true
|
w.hidden = true
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *BasicWindow) Show() {
|
func (w *BasicWindow) Show() {
|
||||||
|
if ! w.Ready() {return}
|
||||||
w.win.Show()
|
w.win.Show()
|
||||||
w.hidden = false
|
w.hidden = false
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *BasicWindow) Toggle() {
|
func (w *BasicWindow) Toggle() {
|
||||||
|
if ! w.Ready() {return}
|
||||||
if w.hidden {
|
if w.hidden {
|
||||||
w.Show()
|
w.Show()
|
||||||
w.hidden = false
|
w.hidden = false
|
||||||
|
@ -42,19 +46,42 @@ func (w *BasicWindow) Toggle() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (w *BasicWindow) Title(title string) {
|
||||||
|
if ! w.Ready() {return}
|
||||||
|
w.win.SetText(title)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// Returns true if the status is valid
|
||||||
|
func (w *BasicWindow) Ready() bool {
|
||||||
|
if w == nil {return false}
|
||||||
|
if w.parent == nil {return false}
|
||||||
|
if ! w.parent.Ready() {return false}
|
||||||
|
if (w.win == nil) {
|
||||||
|
w.Draw()
|
||||||
|
}
|
||||||
|
return w.ready
|
||||||
|
}
|
||||||
|
|
||||||
func (w *BasicWindow) Box() *gui.Node {
|
func (w *BasicWindow) Box() *gui.Node {
|
||||||
return w.box
|
return w.box
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (w *BasicWindow) Draw() {
|
||||||
|
w.ready = true
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
func NewBasicWindow(parent *gui.Node, name string) *BasicWindow {
|
func NewBasicWindow(parent *gui.Node, name string) *BasicWindow {
|
||||||
var w *BasicWindow
|
var w *BasicWindow
|
||||||
w = &BasicWindow {
|
w = &BasicWindow {
|
||||||
p: parent,
|
parent: parent,
|
||||||
name: name,
|
name: name,
|
||||||
}
|
}
|
||||||
|
|
||||||
// various timeout settings
|
// various timeout settings
|
||||||
w.win = w.p.NewWindow(name)
|
w.win = w.parent.NewWindow(name)
|
||||||
w.win.Custom = func() {
|
w.win.Custom = func() {
|
||||||
log.Println("BasicWindow.Custom() closed. TODO: handle this", w.name)
|
log.Println("BasicWindow.Custom() closed. TODO: handle this", w.name)
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,7 +28,6 @@ func (d *LogSettings) draw() {
|
||||||
var g *gui.Node
|
var g *gui.Node
|
||||||
|
|
||||||
d.win = gadgets.NewBasicWindow(d.parent, "Debug Flags")
|
d.win = gadgets.NewBasicWindow(d.parent, "Debug Flags")
|
||||||
|
|
||||||
g = d.win.Box().NewGroup("Show").Pad()
|
g = d.win.Box().NewGroup("Show").Pad()
|
||||||
d.buttonG = g
|
d.buttonG = g
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue