summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2019-06-03 19:07:39 -0700
committerJeff Carr <[email protected]>2019-06-03 19:07:39 -0700
commit5c6b5571dec0276a6ad985f8823e7ae77893938d (patch)
tree65b77db845d05774e0533dbcac474cefdb08e70b
parent70779ab33b662d3e7849133f57521c2ce217bf96 (diff)
fixed a commit
-rw-r--r--Makefile1
-rw-r--r--debug.go8
-rw-r--r--gui.go88
-rw-r--r--window.go82
4 files changed, 91 insertions, 88 deletions
diff --git a/Makefile b/Makefile
index 6353f93..2b7dd82 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,6 @@
# simple sortcut to push all git changes
push:
+ git checkout devel
git pull
git add --all
-git commit -a -s
diff --git a/debug.go b/debug.go
index 1a20532..3369be6 100644
--- a/debug.go
+++ b/debug.go
@@ -40,7 +40,13 @@ func DumpBoxes() {
log.Println("gui.DumpBoxes()\tWindow.UiTab type =", reflect.TypeOf(window.UiTab))
log.Println("gui.DumpBoxes()\tWindow.UiTab =", window.UiTab)
log.Println("gui.DumpBoxes()\tWindow.UiTab.NumPages() =", window.UiTab.NumPages())
- spew.Dump(window.UiTab)
+ // tmp := spew.NewDefaultConfig()
+ // tmp.MaxDepth = 2
+ // tmp.Dump(window.UiTab)
+ if (Config.Debug) {
+ scs := spew.ConfigState{MaxDepth: 2}
+ scs.Dump(window.UiTab)
+ }
}
}
for i, window := range Data.Windows {
diff --git a/gui.go b/gui.go
index ef1ff49..fca054e 100644
--- a/gui.go
+++ b/gui.go
@@ -1,7 +1,7 @@
package gui
import "log"
-import "time"
+// import "time"
import "regexp"
import "github.com/andlabs/ui"
@@ -20,80 +20,6 @@ func GuiInit() {
})
}
-func InitGuiWindow(name string, gw *GuiWindow) *GuiWindow {
- log.Println("InitGuiWindow() START")
- var newGuiWindow GuiWindow
- newGuiWindow.Width = Config.Width
- newGuiWindow.Height = Config.Height
- newGuiWindow.Name = name
- newGuiWindow.MakeWindow = gw.MakeWindow
- newGuiWindow.UiWindow = gw.UiWindow
- newGuiWindow.UiTab = gw.UiTab
- newGuiWindow.BoxMap = make(map[string]*GuiBox)
- newGuiWindow.EntryMap = make(map[string]*GuiEntry)
- Data.Windows = append(Data.Windows, &newGuiWindow)
-
- if (Data.WindowMap == nil) {
- log.Println("gui.InitGuiWindow() making the Data.WindowMap here")
- Data.WindowMap = make(map[string]*GuiWindow)
- }
- Data.WindowMap[name] = &newGuiWindow
-
- // make a blank entry for testing
- // newGuiWindow.EntryMap["test"] = nil
-
- if (Data.buttonMap == nil) {
- GuiInit()
- }
- log.Println("InitGuiWindow() END *GuiWindow =", &newGuiWindow)
- return &newGuiWindow
-}
-
-
-func StartNewWindow(bg bool, name string, callback func(*GuiWindow) *GuiBox) {
- log.Println("StartNewWindow() Create a new window")
- var junk GuiWindow
- junk.MakeWindow = callback
- window := InitGuiWindow(name, &junk)
- if (bg) {
- log.Println("StartNewWindow() START NEW GOROUTINE for ui.Main()")
- go ui.Main(func() {
- log.Println("gui.StartNewWindow() inside ui.Main()")
- go InitTabWindow(window)
- })
- time.Sleep(2000 * time.Millisecond) // this might make it more stable on windows?
- } else {
- log.Println("StartNewWindow() WAITING for ui.Main()")
- ui.Main(func() {
- log.Println("gui.StartNewWindow() inside ui.Main()")
- InitTabWindow(window)
- })
- }
-}
-
-func InitTabWindow(gw *GuiWindow) {
- log.Println("InitTabWindow() START. THIS WINDOW IS NOT YET SHOWN")
-
- gw.UiWindow = ui.NewWindow(gw.Name, int(gw.Width), int(gw.Height), true)
- gw.UiWindow.SetBorderless(false)
-
- gw.UiWindow.OnClosing(func(*ui.Window) bool {
- log.Println("InitTabWindow() OnClosing() THIS WINDOW IS CLOSING gw=", gw)
- ui.Quit()
- return true
- })
-
- gw.UiTab = ui.NewTab()
- gw.UiWindow.SetChild(gw.UiTab)
- gw.UiWindow.SetMargined(true)
-
-
- box := gw.MakeWindow(gw)
- log.Println("InitTabWindow() END box =", box)
- log.Println("InitTabWindow() END gw =", gw)
- gw.UiWindow.Show()
-}
-
/*
// string handling examples that might be helpful for normalizeInt()
isAlpha := regexp.MustCompile(`^[A-Za-z]+$`).MatchString
@@ -127,15 +53,3 @@ func normalizeInt(s string) string {
log.Println("normalizeInt() s =", clean)
return clean
}
-
-func MessageWindow(gw *GuiWindow, msg1 string, msg2 string) {
- log.Println("gui.MessageWindow() msg1 =", msg1)
- log.Println("gui.MessageWindow() msg2 =", msg2)
- ui.MsgBox(gw.UiWindow, msg1, msg2)
-}
-
-func ErrorWindow(gw *GuiWindow, msg1 string, msg2 string) {
- log.Println("gui.ErrorWindow() msg1 =", msg1)
- log.Println("gui.ErrorWindow() msg2 =", msg2)
- ui.MsgBoxError(gw.UiWindow, msg1, msg2)
-}
diff --git a/window.go b/window.go
new file mode 100644
index 0000000..0100778
--- /dev/null
+++ b/window.go
@@ -0,0 +1,82 @@
+package gui
+
+import "log"
+import "time"
+// import "regexp"
+
+import "github.com/andlabs/ui"
+import _ "github.com/andlabs/ui/winmanifest"
+
+func InitGuiWindow(action string, gw *GuiWindow) *GuiWindow {
+ log.Println("InitGuiWindow() START")
+ var newGuiWindow GuiWindow
+ newGuiWindow.Width = Config.Width
+ newGuiWindow.Height = Config.Height
+ newGuiWindow.MakeWindow = gw.MakeWindow
+ newGuiWindow.UiWindow = gw.UiWindow
+ newGuiWindow.UiTab = gw.UiTab
+ newGuiWindow.BoxMap = make(map[string]*GuiBox)
+ newGuiWindow.EntryMap = make(map[string]*GuiEntry)
+ newGuiWindow.EntryMap["test"] = nil
+ Data.Windows = append(Data.Windows, &newGuiWindow)
+
+ if (Data.buttonMap == nil) {
+ GuiInit()
+ }
+ log.Println("InitGuiWindow() END *GuiWindow =", &newGuiWindow)
+ return &newGuiWindow
+}
+
+
+func StartNewWindow(bg bool, action string, callback func(*GuiWindow) *GuiBox) {
+ log.Println("StartNewWindow() Create a new window")
+ var junk GuiWindow
+ junk.MakeWindow = callback
+// junk.Action = action
+ window := InitGuiWindow(action, &junk)
+ if (bg) {
+ log.Println("StartNewWindow() START NEW GOROUTINE for ui.Main()")
+ go ui.Main(func() {
+ log.Println("gui.StartNewWindow() inside ui.Main()")
+ go InitTabWindow(window)
+ })
+ time.Sleep(2000 * time.Millisecond) // this might make it more stable on windows?
+ } else {
+ log.Println("StartNewWindow() WAITING for ui.Main()")
+ ui.Main(func() {
+ log.Println("gui.StartNewWindow() inside ui.Main()")
+ InitTabWindow(window)
+ })
+ }
+}
+
+func InitTabWindow(gw *GuiWindow) {
+ log.Println("InitTabWindow() START. THIS WINDOW IS NOT YET SHOWN")
+
+ gw.UiWindow = ui.NewWindow("InitTabWindow()", int(gw.Width), int(gw.Height), true)
+ gw.UiWindow.SetBorderless(false)
+
+ gw.UiWindow.OnClosing(func(*ui.Window) bool {
+ log.Println("InitTabWindow() OnClosing() THIS WINDOW IS CLOSING gw=", gw)
+ ui.Quit()
+ return true
+ })
+
+ gw.UiTab = ui.NewTab()
+ gw.UiWindow.SetChild(gw.UiTab)
+ gw.UiWindow.SetMargined(true)
+
+
+ box := gw.MakeWindow(gw)
+ log.Println("InitTabWindow() END box =", box)
+ log.Println("InitTabWindow() END gw =", gw)
+ gw.UiWindow.Show()
+}
+
+func MessageWindow(gw *GuiWindow, msg1 string, msg2 string) {
+ ui.MsgBox(gw.UiWindow, msg1, msg2)
+}
+
+func ErrorWindow(gw *GuiWindow, msg1 string, msg2 string) {
+ ui.MsgBoxError(gw.UiWindow, msg1, msg2)
+}