summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2024-01-05 12:24:29 -0600
committerJeff Carr <[email protected]>2024-01-05 12:24:29 -0600
commit05eb9b5ad89073c2f58e9207a7560b019f9e3cbe (patch)
tree6649c4a666356c45277c9117a1b2302a6970d0eb
parentd69a41a295aca9cd40449d4d4840265defb4e3de (diff)
BasicWindow Ready() and Title()
Signed-off-by: Jeff Carr <[email protected]>
-rw-r--r--basicWindow.go33
-rw-r--r--logsettings/draw.go1
2 files changed, 30 insertions, 4 deletions
diff --git a/basicWindow.go b/basicWindow.go
index ba4f0bf..2de8945 100644
--- a/basicWindow.go
+++ b/basicWindow.go
@@ -9,10 +9,11 @@ import (
)
type BasicWindow struct {
+ ready bool
hidden bool
name string
- p *gui.Node // parent widget
+ parent *gui.Node
win *gui.Node // window widget
box *gui.Node // box
@@ -20,18 +21,21 @@ type BasicWindow struct {
}
func (w *BasicWindow) Hide() {
+ if ! w.Ready() {return}
w.win.Hide()
w.hidden = true
return
}
func (w *BasicWindow) Show() {
+ if ! w.Ready() {return}
w.win.Show()
w.hidden = false
return
}
func (w *BasicWindow) Toggle() {
+ if ! w.Ready() {return}
if w.hidden {
w.Show()
w.hidden = false
@@ -42,19 +46,42 @@ func (w *BasicWindow) Toggle() {
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 {
return w.box
}
+func (w *BasicWindow) Draw() {
+ w.ready = true
+ return
+}
+
+
func NewBasicWindow(parent *gui.Node, name string) *BasicWindow {
var w *BasicWindow
w = &BasicWindow {
- p: parent,
+ parent: parent,
name: name,
}
// various timeout settings
- w.win = w.p.NewWindow(name)
+ w.win = w.parent.NewWindow(name)
w.win.Custom = func() {
log.Println("BasicWindow.Custom() closed. TODO: handle this", w.name)
}
diff --git a/logsettings/draw.go b/logsettings/draw.go
index 5321adc..3261f23 100644
--- a/logsettings/draw.go
+++ b/logsettings/draw.go
@@ -28,7 +28,6 @@ func (d *LogSettings) draw() {
var g *gui.Node
d.win = gadgets.NewBasicWindow(d.parent, "Debug Flags")
-
g = d.win.Box().NewGroup("Show").Pad()
d.buttonG = g