does Distroy() on the ui.Box
Signed-off-by: Jeff Carr <jcarr@wit.com>
This commit is contained in:
parent
b9d10aed57
commit
28a96010fd
|
@ -5,20 +5,22 @@ import "log"
|
||||||
import "github.com/andlabs/ui"
|
import "github.com/andlabs/ui"
|
||||||
import _ "github.com/andlabs/ui/winmanifest"
|
import _ "github.com/andlabs/ui/winmanifest"
|
||||||
|
|
||||||
|
import "git.wit.com/wit/gui"
|
||||||
|
|
||||||
import "github.com/davecgh/go-spew/spew"
|
import "github.com/davecgh/go-spew/spew"
|
||||||
|
|
||||||
var fontButton *ui.FontButton
|
var fontButton *ui.FontButton
|
||||||
var attrstr *ui.AttributedString
|
var attrstr *ui.AttributedString
|
||||||
var splashArea *ui.Area
|
var splashArea *ui.Area
|
||||||
|
|
||||||
func makeSplashArea() *ui.Area {
|
func areaClick(a int, b string) {
|
||||||
fontButton = ui.NewFontButton()
|
log.Println("GOT areaClick(a,b) =", a, b)
|
||||||
fontButton.OnChanged(func(*ui.FontButton) {
|
}
|
||||||
spew.Dump(fontButton.Font())
|
|
||||||
// SplashArea.QueueRedrawAll()
|
|
||||||
})
|
|
||||||
|
|
||||||
spew.Dump(fontButton.Font())
|
func makeSplashArea(custom func(int, string)) *ui.Area {
|
||||||
|
// make this button just to get the default font (but don't display the button)
|
||||||
|
// There should be another way to do this (?)
|
||||||
|
fontButton = gui.CreateFontButton("SplashFont", "CLOSE", custom)
|
||||||
|
|
||||||
makeAttributedString()
|
makeAttributedString()
|
||||||
splashArea = ui.NewArea(myAH)
|
splashArea = ui.NewArea(myAH)
|
||||||
|
@ -90,6 +92,7 @@ func (ah areaHandler) MouseEvent(a *ui.Area, me *ui.AreaMouseEvent) {
|
||||||
// splashWin.Destroy()
|
// splashWin.Destroy()
|
||||||
// ui.Quit()
|
// ui.Quit()
|
||||||
}
|
}
|
||||||
|
areaClick(1, "done")
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ah areaHandler) MouseCrossed(a *ui.Area, left bool) {
|
func (ah areaHandler) MouseCrossed(a *ui.Area, left bool) {
|
||||||
|
|
|
@ -4,12 +4,14 @@ package splash
|
||||||
// import "time"
|
// import "time"
|
||||||
// import "fmt"
|
// import "fmt"
|
||||||
|
|
||||||
import "log"
|
// import "log"
|
||||||
import "runtime"
|
import "runtime"
|
||||||
|
|
||||||
import "github.com/andlabs/ui"
|
import "github.com/andlabs/ui"
|
||||||
import _ "github.com/andlabs/ui/winmanifest"
|
import _ "github.com/andlabs/ui/winmanifest"
|
||||||
|
|
||||||
|
import "git.wit.com/wit/gui"
|
||||||
|
|
||||||
// var splashWin *ui.Window
|
// var splashWin *ui.Window
|
||||||
var MyArea *ui.Area
|
var MyArea *ui.Area
|
||||||
|
|
||||||
|
@ -33,41 +35,33 @@ func ShowSplash() *ui.Window {
|
||||||
// This displays the window
|
// This displays the window
|
||||||
// splashWin.Show()
|
// splashWin.Show()
|
||||||
|
|
||||||
ShowSplashBox(vbox, nil)
|
ShowSplashBox(vbox, nil, nil)
|
||||||
|
|
||||||
return splashWin
|
return splashWin
|
||||||
}
|
}
|
||||||
|
|
||||||
func ShowSplashBox(vbox *ui.Box, atest chan int) *ui.Box {
|
func ShowSplashBox(vbox *ui.Box, atest chan int, custom func(int, string)) *ui.Box {
|
||||||
// vbox := ui.NewVerticalBox()
|
newbox := ui.NewVerticalBox()
|
||||||
vbox.SetPadded(true)
|
newbox.SetPadded(true)
|
||||||
|
|
||||||
makeAttributedString()
|
makeAttributedString()
|
||||||
MyArea = makeSplashArea()
|
MyArea = makeSplashArea(custom)
|
||||||
|
|
||||||
vbox.Append(MyArea, true)
|
newbox.Append(MyArea, true)
|
||||||
|
|
||||||
if runtime.GOOS == "linux" {
|
if runtime.GOOS == "linux" {
|
||||||
vbox.Append(ui.NewLabel("OS: Linux"), false)
|
newbox.Append(ui.NewLabel("OS: Linux"), false)
|
||||||
} else if runtime.GOOS == "windows" {
|
} else if runtime.GOOS == "windows" {
|
||||||
vbox.Append(ui.NewLabel("OS: Windows"), false)
|
newbox.Append(ui.NewLabel("OS: Windows"), false)
|
||||||
} else {
|
} else {
|
||||||
vbox.Append(ui.NewLabel("OS: " + runtime.GOOS), false)
|
newbox.Append(ui.NewLabel("OS: " + runtime.GOOS), false)
|
||||||
}
|
}
|
||||||
|
|
||||||
vbox.Append(ui.NewLabel("Version: v0.3"), false)
|
newbox.Append(ui.NewLabel("Version: v0.3"), false)
|
||||||
|
okButton := gui.CreateButton("OK", "CLOSE", custom)
|
||||||
|
newbox.Append(okButton, false)
|
||||||
|
|
||||||
okButton := ui.NewButton("OK")
|
vbox.Append(newbox, true)
|
||||||
|
|
||||||
okButton.OnClicked(func(*ui.Button) {
|
return newbox
|
||||||
log.Println("OK. Should close window here")
|
|
||||||
// test := 4
|
|
||||||
// atest <- test
|
|
||||||
// splashWin.Destroy()
|
|
||||||
// ui.Quit()
|
|
||||||
})
|
|
||||||
|
|
||||||
vbox.Append(okButton, false)
|
|
||||||
|
|
||||||
return vbox
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,2 +1,6 @@
|
||||||
|
build:
|
||||||
|
go build
|
||||||
|
./test2
|
||||||
|
|
||||||
run:
|
run:
|
||||||
go run *.go
|
go run *.go
|
||||||
|
|
|
@ -10,10 +10,36 @@ import "git.wit.com/wit/cloud-control-panel/splash"
|
||||||
import "git.wit.com/wit/cloud-control-panel/account1"
|
import "git.wit.com/wit/cloud-control-panel/account1"
|
||||||
import "git.wit.com/wit/cloud-control-panel/account2"
|
import "git.wit.com/wit/cloud-control-panel/account2"
|
||||||
|
|
||||||
|
import "github.com/davecgh/go-spew/spew"
|
||||||
|
|
||||||
var cloudWindow *ui.Window
|
var cloudWindow *ui.Window
|
||||||
var cloudBox *ui.Box
|
var cloudBox *ui.Box
|
||||||
|
var smallBox *ui.Box
|
||||||
var state string
|
var state string
|
||||||
|
|
||||||
|
func splashClose(a int, b string) {
|
||||||
|
log.Println("GOT splashClose(a,b) =", a, b)
|
||||||
|
// smallBox.Parent = nil
|
||||||
|
log.Println("cloudBox:")
|
||||||
|
log.Println("cloudBox:")
|
||||||
|
log.Println("cloudBox:")
|
||||||
|
spew.Dump(cloudBox)
|
||||||
|
cloudBox.Delete(0)
|
||||||
|
// cloudBox.Delete(1)
|
||||||
|
smallBox.Hide()
|
||||||
|
// smallBox.Parent = nil
|
||||||
|
log.Println("cloudBox:")
|
||||||
|
log.Println("cloudBox:")
|
||||||
|
log.Println("cloudBox:")
|
||||||
|
spew.Dump(cloudBox)
|
||||||
|
log.Println("smallBox:")
|
||||||
|
log.Println("smallBox:")
|
||||||
|
log.Println("smallBox:")
|
||||||
|
spew.Dump(smallBox)
|
||||||
|
// cloudBox.Destroy()
|
||||||
|
state = "kill"
|
||||||
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
go watchGUI()
|
go watchGUI()
|
||||||
|
|
||||||
|
@ -24,22 +50,31 @@ func main() {
|
||||||
ui.Main(account2.AddAccountWindow)
|
ui.Main(account2.AddAccountWindow)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func buttonClick(i int) {
|
||||||
|
log.Println("buttonClick() i =", i)
|
||||||
|
}
|
||||||
|
|
||||||
func watchGUI() {
|
func watchGUI() {
|
||||||
log.Println("Sleep()")
|
// log.Println("Sleep()")
|
||||||
time.Sleep(2000 * time.Millisecond)
|
// time.Sleep(2000 * time.Millisecond)
|
||||||
|
|
||||||
for {
|
for {
|
||||||
log.Println("Sleep()")
|
log.Println("Sleep()")
|
||||||
time.Sleep(200 * time.Millisecond)
|
time.Sleep(200 * time.Millisecond)
|
||||||
|
|
||||||
if (state == "splash") {
|
if (state == "splash") {
|
||||||
log.Println("Sleep()")
|
|
||||||
time.Sleep(200 * time.Millisecond)
|
|
||||||
log.Println("Display the splash box")
|
log.Println("Display the splash box")
|
||||||
splash.ShowSplashBox(cloudBox, nil)
|
smallBox = splash.ShowSplashBox(cloudBox, nil, splashClose)
|
||||||
// newbox.SetPadded(true)
|
// newbox.SetPadded(true)
|
||||||
state = "done"
|
state = "done"
|
||||||
}
|
}
|
||||||
|
if (state == "kill") {
|
||||||
|
log.Println("state = kill")
|
||||||
|
log.Println("state = kill")
|
||||||
|
log.Println("state = kill")
|
||||||
|
smallBox.Destroy()
|
||||||
|
state = "account1"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -64,5 +99,9 @@ func makeCloudWindow() {
|
||||||
|
|
||||||
// This displays the window
|
// This displays the window
|
||||||
cloudWindow.Show()
|
cloudWindow.Show()
|
||||||
|
log.Println("cloudBox:")
|
||||||
|
log.Println("cloudBox:")
|
||||||
|
log.Println("cloudBox:")
|
||||||
|
spew.Dump(cloudBox)
|
||||||
state = "splash"
|
state = "splash"
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue