2019-05-30 02:50:57 -05:00
|
|
|
package main
|
|
|
|
|
|
|
|
// import "os"
|
|
|
|
import "log"
|
|
|
|
import "fmt"
|
|
|
|
import "time"
|
|
|
|
|
|
|
|
import "github.com/davecgh/go-spew/spew"
|
|
|
|
|
|
|
|
import "git.wit.com/wit/gui"
|
|
|
|
import pb "git.wit.com/wit/witProtobuf"
|
|
|
|
|
|
|
|
import "github.com/andlabs/ui"
|
|
|
|
import _ "github.com/andlabs/ui/winmanifest"
|
|
|
|
|
2019-05-30 11:19:58 -05:00
|
|
|
var first *gui.GuiWindow
|
2019-05-30 02:50:57 -05:00
|
|
|
|
|
|
|
func main() {
|
|
|
|
var c *pb.Config
|
|
|
|
c = pb.MakeDefaultConfig()
|
|
|
|
|
|
|
|
i := 1
|
|
|
|
|
|
|
|
c.Width = int32(400 + 50 * i)
|
|
|
|
c.Hostname = fmt.Sprintf("splash %d", i)
|
|
|
|
first = StartNewWindow(c, true, "SPLASH")
|
|
|
|
|
|
|
|
i += 1
|
|
|
|
c.Width = int32(400 + 50 * i)
|
|
|
|
c.Hostname = fmt.Sprintf("splash %d", i)
|
2019-05-31 11:01:32 -05:00
|
|
|
StartNewWindow(c, true, "BLAH")
|
2019-05-30 02:50:57 -05:00
|
|
|
|
|
|
|
i += 1
|
|
|
|
c.Width = int32(400 + 50 * i)
|
|
|
|
c.Hostname = fmt.Sprintf("splash %d", i)
|
|
|
|
StartNewWindow(c, false, "BLAH")
|
|
|
|
|
|
|
|
for {
|
|
|
|
i += 1
|
|
|
|
c.Width = int32(400 + 50 * i)
|
|
|
|
c.Hostname = fmt.Sprintf("splash %d", i)
|
|
|
|
StartNewWindow(c, false, "SPLASH")
|
|
|
|
|
|
|
|
i += 1
|
|
|
|
c.Width = int32(400 + 50 * i)
|
|
|
|
c.Hostname = fmt.Sprintf("splash %d", i)
|
|
|
|
StartNewWindow(c, false, "BLAH")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-05-30 11:19:58 -05:00
|
|
|
func StartNewWindow(c *pb.Config, bg bool, action string) *gui.GuiWindow {
|
2019-05-30 02:50:57 -05:00
|
|
|
log.Println("InitNewWindow() Create a new window")
|
2019-05-31 11:01:32 -05:00
|
|
|
|
2019-05-30 11:19:58 -05:00
|
|
|
var newGuiWindow *gui.GuiWindow
|
|
|
|
newGuiWindow = new(gui.GuiWindow)
|
|
|
|
newGuiWindow.C = c
|
2019-05-30 02:50:57 -05:00
|
|
|
|
2019-05-31 11:01:32 -05:00
|
|
|
|
2019-05-30 02:50:57 -05:00
|
|
|
/*
|
|
|
|
ui.OnShouldQuit(func() bool {
|
|
|
|
// mouseClick(&newBM)
|
|
|
|
ui.Quit()
|
|
|
|
return true
|
|
|
|
})
|
|
|
|
*/
|
|
|
|
|
|
|
|
time.Sleep(1000 * time.Millisecond)
|
|
|
|
if (bg) {
|
|
|
|
log.Println("ShowWindow() IN NEW GOROUTINE")
|
|
|
|
go ui.Main(func() {
|
2019-05-30 11:19:58 -05:00
|
|
|
InitWindow(newGuiWindow)
|
2019-05-30 02:50:57 -05:00
|
|
|
})
|
|
|
|
time.Sleep(2000 * time.Millisecond)
|
|
|
|
} else {
|
|
|
|
log.Println("ShowWindow() WAITING for ui.Main()")
|
|
|
|
ui.Main(func() {
|
2019-05-30 11:19:58 -05:00
|
|
|
InitWindow(newGuiWindow)
|
2019-05-30 02:50:57 -05:00
|
|
|
})
|
|
|
|
}
|
2019-05-30 11:19:58 -05:00
|
|
|
return newGuiWindow
|
2019-05-30 02:50:57 -05:00
|
|
|
}
|
|
|
|
|
2019-05-30 11:19:58 -05:00
|
|
|
func InitWindow(wm *gui.GuiWindow) {
|
2019-05-30 02:50:57 -05:00
|
|
|
log.Println("InitWindow() NEW WINDOW wm =", wm)
|
|
|
|
|
|
|
|
c := wm.C
|
|
|
|
wm.W = ui.NewWindow("", int(c.Width), int(c.Height), true)
|
|
|
|
// wm.W.SetBorderless(false)
|
|
|
|
|
|
|
|
blah := wm
|
|
|
|
wm.W.OnClosing(func(*ui.Window) bool {
|
|
|
|
log.Println("InitWindow() OnClosing() blah")
|
|
|
|
log.Println("InitWindow() OnClosing() blah")
|
|
|
|
log.Println("InitWindow() OnClosing() blah")
|
|
|
|
log.Println("InitWindow() OnClosing() blah")
|
|
|
|
spew.Dump(blah)
|
|
|
|
spew.Dump(wm)
|
|
|
|
wm.C = nil
|
|
|
|
log.Println("InitWindow() OnClosing() THIS WINDOW IS CLOSING wm=", wm)
|
|
|
|
spew.Dump(wm)
|
|
|
|
spew.Dump(wm.W)
|
|
|
|
// mouseClick(&newBM)
|
|
|
|
if (wm.W != nil) {
|
|
|
|
wm.W.Hide()
|
|
|
|
}
|
|
|
|
time.Sleep(1000 * time.Millisecond)
|
|
|
|
spew.Dump(wm)
|
|
|
|
// wm.W.Destroy()
|
|
|
|
ui.Quit()
|
|
|
|
time.Sleep(1000 * time.Millisecond)
|
|
|
|
return true
|
|
|
|
})
|
|
|
|
|
|
|
|
// wm.W.SetChild(wm.T)
|
|
|
|
// wm.W.SetMargined(true)
|
|
|
|
|
|
|
|
log.Println("InitWindow() Show() wm.Action =", wm.Action)
|
|
|
|
wm.W.Show()
|
|
|
|
}
|