summaryrefslogtreecommitdiff
path: root/smartwindow
diff options
context:
space:
mode:
Diffstat (limited to 'smartwindow')
-rw-r--r--smartwindow/common.go8
-rw-r--r--smartwindow/new.go6
-rw-r--r--smartwindow/postReady.go21
-rw-r--r--smartwindow/preReady.go46
-rw-r--r--smartwindow/structs.go4
5 files changed, 42 insertions, 43 deletions
diff --git a/smartwindow/common.go b/smartwindow/common.go
index 772a790..5c55c34 100644
--- a/smartwindow/common.go
+++ b/smartwindow/common.go
@@ -8,17 +8,15 @@ import (
)
func (sw *SmartWindow) Ready() bool {
- log.Log(WARN, "Ready() maybe not ready? sw =", sw)
- if sw == nil {return false}
+ log.Log(INFO, "Ready() START")
if sw == nil {return false}
if sw.window == nil {return false}
+ log.Log(INFO, "Ready() END sw.ready =", sw.ready)
return sw.ready
}
func (sw *SmartWindow) Initialized() bool {
- log.Log(WARN, "checking Initialized()")
- if sw == nil {return false}
+ log.Log(INFO, "checking Initialized()")
if sw == nil {return false}
- if sw.parent == nil {return false}
return true
}
diff --git a/smartwindow/new.go b/smartwindow/new.go
index 016d10b..35e9df5 100644
--- a/smartwindow/new.go
+++ b/smartwindow/new.go
@@ -2,8 +2,6 @@ package smartwindow
import (
"go.wit.com/log"
-
- "go.wit.com/gui/gadgets"
)
func New() *SmartWindow {
@@ -25,8 +23,4 @@ func (sw *SmartWindow) InitWindow() {
sw.ready = true
return
}
-
- log.Log(WARN, "Creating the Window")
- sw.window = gadgets.NewBasicWindow(sw.parent, sw.title)
- sw.ready = true
}
diff --git a/smartwindow/postReady.go b/smartwindow/postReady.go
index bb3eab8..99349ff 100644
--- a/smartwindow/postReady.go
+++ b/smartwindow/postReady.go
@@ -55,5 +55,24 @@ func (sw *SmartWindow) Toggle() {
func (sw *SmartWindow) Box() *gui.Node {
if ! sw.Ready() {return nil}
- return sw.window.Box()
+ return sw.box
+}
+
+func (sw *SmartWindow) Draw() {
+ if ! sw.Ready() {return}
+
+ log.Log(WARN, "Draw() window ready")
+ sw.window.Draw()
+
+ if sw.vertical {
+ sw.box = sw.window.NewBox("bw vbox", false)
+ log.Log(WARN, "BasicWindow.Custom() made vbox")
+ } else {
+ sw.box = sw.window.NewBox("bw hbox", true)
+ log.Log(WARN, "BasicWindow.Custom() made hbox")
+ }
+ if (sw.populate != nil) {
+ log.Log(WARN, "Make() trying to run Custom sw.populate() here")
+ sw.populate(sw)
+ }
}
diff --git a/smartwindow/preReady.go b/smartwindow/preReady.go
index 5009d54..0fe23fd 100644
--- a/smartwindow/preReady.go
+++ b/smartwindow/preReady.go
@@ -36,49 +36,37 @@ func (sw *SmartWindow) SetParent(p *gui.Node) {
}
func (sw *SmartWindow) SetDraw(f func(*SmartWindow)) {
- if ! sw.Initialized() {return}
- if sw.Ready() {return}
+ log.Log(WARN, "SetDraw() START")
+ if ! sw.Initialized() {
+ log.Log(WARN, "SetDraw() Failed. sw.Initialized == false")
+ return
+ }
+ if sw.Ready() {
+ log.Log(WARN, "SetDraw() Failed. sw.Ready() == true")
+ return
+ }
sw.populate = f
+ log.Log(WARN, "SetDraw() END sw.populate is set")
}
func (sw *SmartWindow) Make() {
if ! sw.Initialized() {return}
if sw.Ready() {return}
+ log.Log(WARN, "Make() START")
- log.Log(WARN, "Make() window ready =", sw.ready)
- sw.window.Make()
- if (sw.populate != nil) {
- log.Log(WARN, "Make() trying to run Custom sw.populate() here")
- sw.populate(sw)
+ sw.window = sw.parent.RawWindow(sw.title)
+ sw.window.Custom = func() {
+ log.Warn("BasicWindow.Custom() closed. TODO: handle this", sw.title)
}
+ log.Log(WARN, "Make() END sw.window = RawWindow() (not sent to toolkits)")
sw.ready = true
}
-func (sw *SmartWindow) Draw() {
- if ! sw.Initialized() {return}
- if sw.Ready() {return}
-
- log.Log(WARN, "Draw() window ready =", sw.ready)
- sw.window.Draw()
- if (sw.populate != nil) {
- log.Log(WARN, "Make() trying to run Custom sw.populate() here")
- sw.populate(sw)
- }
- sw.ready = true
-}
-
-
func (sw *SmartWindow) Vertical() {
if ! sw.Initialized() {return}
if sw.Ready() {return}
- log.Log(WARN, "Draw() window ready =", sw.ready)
- sw.window.Draw()
- if (sw.populate != nil) {
- log.Log(WARN, "Make() trying to run Custom sw.populate() here")
- sw.populate(sw)
- }
- sw.ready = true
+ log.Log(WARN, "Vertical() setting vertical = true")
+ sw.vertical = true
}
-
diff --git a/smartwindow/structs.go b/smartwindow/structs.go
index d70ea3c..ac0bea7 100644
--- a/smartwindow/structs.go
+++ b/smartwindow/structs.go
@@ -2,19 +2,19 @@ package smartwindow
import (
"go.wit.com/gui/gui"
- "go.wit.com/gui/gadgets"
)
type SmartWindow struct {
ready bool // track if the window is ready
hidden bool // track if the window is hidden from the toolkits
changed bool // track if something changed in the window
+ vertical bool
title string // what the user sees as the name
name string // the programatic name aka: "CALANDAR"
parent *gui.Node // where to place the window if you try to draw it
- window *gadgets.BasicWindow // the underlying BasicWindow
+ window *gui.Node // the underlying window
box *gui.Node // the box inside the window // get this from BasicWindow() ?
populate func(*SmartWindow) // the function to generate the widgets