summaryrefslogtreecommitdiff
path: root/basicWindow.go
diff options
context:
space:
mode:
Diffstat (limited to 'basicWindow.go')
-rw-r--r--basicWindow.go64
1 files changed, 64 insertions, 0 deletions
diff --git a/basicWindow.go b/basicWindow.go
new file mode 100644
index 0000000..ba4f0bf
--- /dev/null
+++ b/basicWindow.go
@@ -0,0 +1,64 @@
+/*
+ A Standard Window
+*/
+package gadgets
+
+import (
+ "go.wit.com/log"
+ "go.wit.com/gui/gui"
+)
+
+type BasicWindow struct {
+ hidden bool
+ name string
+
+ p *gui.Node // parent widget
+ win *gui.Node // window widget
+ box *gui.Node // box
+
+ Custom func()
+}
+
+func (w *BasicWindow) Hide() {
+ w.win.Hide()
+ w.hidden = true
+ return
+}
+
+func (w *BasicWindow) Show() {
+ w.win.Show()
+ w.hidden = false
+ return
+}
+
+func (w *BasicWindow) Toggle() {
+ if w.hidden {
+ w.Show()
+ w.hidden = false
+ } else {
+ w.Hide()
+ w.hidden = true
+ }
+ return
+}
+
+func (w *BasicWindow) Box() *gui.Node {
+ return w.box
+}
+
+func NewBasicWindow(parent *gui.Node, name string) *BasicWindow {
+ var w *BasicWindow
+ w = &BasicWindow {
+ p: parent,
+ name: name,
+ }
+
+ // various timeout settings
+ w.win = w.p.NewWindow(name)
+ w.win.Custom = func() {
+ log.Println("BasicWindow.Custom() closed. TODO: handle this", w.name)
+ }
+ w.box = w.win.NewBox("hBox", true)
+
+ return w
+}