diff options
Diffstat (limited to 'smartwindow/preReady.go')
| -rw-r--r-- | smartwindow/preReady.go | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/smartwindow/preReady.go b/smartwindow/preReady.go new file mode 100644 index 0000000..5009d54 --- /dev/null +++ b/smartwindow/preReady.go @@ -0,0 +1,84 @@ +// these are things you can config +package smartwindow + +import ( + "go.wit.com/log" + "go.wit.com/gui/gui" +) + +/* for now, run these before the window is ready + That is, they all start with: + + if ! sw.Initialized() {return} + if sw.Ready() {return} +*/ + +func (sw *SmartWindow) Title(title string) { + if ! sw.Initialized() {return} + if sw.Ready() {return} + + log.Log(WARN, "Title() =", title) + sw.title = title +} + +func (sw *SmartWindow) SetParent(p *gui.Node) { + if ! sw.Initialized() {return} + if sw.Ready() {return} + + log.Log(WARN, "SetParent") + if sw.parent == nil { + log.Log(WARN, "SetParent =", p) + sw.parent = p + return + } else { + log.Log(WARN, "SetParent was already set. TODO: Move to new parent") + } +} + +func (sw *SmartWindow) SetDraw(f func(*SmartWindow)) { + if ! sw.Initialized() {return} + if sw.Ready() {return} + + sw.populate = f +} + +func (sw *SmartWindow) Make() { + if ! sw.Initialized() {return} + if sw.Ready() {return} + + 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.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 +} + |
