fix the splash area logic
Signed-off-by: Jeff Carr <jcarr@wit.com>
This commit is contained in:
parent
ab7deeafa8
commit
1b48bec90b
|
@ -14,3 +14,4 @@ test1/test1
|
||||||
test2/test2
|
test2/test2
|
||||||
test3/test3
|
test3/test3
|
||||||
test4/test4
|
test4/test4
|
||||||
|
test5/test5
|
||||||
|
|
|
@ -84,9 +84,9 @@ func ReadReceivedData(data *pb.Event, mh *gui.TableData, box *gui.GuiBox) {
|
||||||
newGuiButton.Box = mh.Box
|
newGuiButton.Box = mh.Box
|
||||||
gui.Data.AllButtons = append(gui.Data.AllButtons, &newGuiButton)
|
gui.Data.AllButtons = append(gui.Data.AllButtons, &newGuiButton)
|
||||||
mh.Rows[row].HumanData[6].Button = &newGuiButton
|
mh.Rows[row].HumanData[6].Button = &newGuiButton
|
||||||
mh.Rows[row].HumanData[6].VM = vm
|
// mh.Rows[row].HumanData[6].VM = vm
|
||||||
|
|
||||||
mh.Rows[row].VM = vm
|
// mh.Rows[row].VM = vm
|
||||||
|
|
||||||
log.Println("\tvm=", vm)
|
log.Println("\tvm=", vm)
|
||||||
log.Println("\tvm.Name=", vm.Name)
|
log.Println("\tvm.Name=", vm.Name)
|
||||||
|
|
|
@ -129,3 +129,14 @@ func mainMouseClick(b *gui.GuiButton) {
|
||||||
log.Println("mainMouseClick() FAILED TO FIND b.Action =", b.Action)
|
log.Println("mainMouseClick() FAILED TO FIND b.Action =", b.Action)
|
||||||
log.Println("mainMouseClick() END")
|
log.Println("mainMouseClick() END")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func makeButton(box *gui.GuiBox, a *pb.Account, vm *pb.Event_VM,
|
||||||
|
name string, action string, custom func(*gui.GuiButton)) *gui.GuiButton {
|
||||||
|
val := &myButtonInfo{}
|
||||||
|
val.Account = a
|
||||||
|
val.Accounts = config.Accounts
|
||||||
|
val.VM = vm
|
||||||
|
val.Custom = custom
|
||||||
|
val.Name = "jcarr"
|
||||||
|
return gui.NewCreateButton(box, custom, name, val)
|
||||||
|
}
|
||||||
|
|
|
@ -31,7 +31,7 @@ func showSplashBox(gw *gui.GuiWindow) *gui.GuiBox {
|
||||||
gui.NewLabel(box, "build date: " + BUILDTIME)
|
gui.NewLabel(box, "build date: " + BUILDTIME)
|
||||||
}
|
}
|
||||||
|
|
||||||
gui.CreateButton(box, nil, nil, "OK", "AREA", splashClick)
|
makeButton(box, nil, nil, "OK", "AREA", splashClick)
|
||||||
log.Println("ShowSplashBox() END box =", box)
|
log.Println("ShowSplashBox() END box =", box)
|
||||||
return box
|
return box
|
||||||
}
|
}
|
||||||
|
@ -60,6 +60,7 @@ func getNEWTEXT() *ui.AttributedString {
|
||||||
}
|
}
|
||||||
|
|
||||||
func splashClick(b *gui.GuiButton) {
|
func splashClick(b *gui.GuiButton) {
|
||||||
|
log.Println("splashClick() START")
|
||||||
gw := b.Box.Window
|
gw := b.Box.Window
|
||||||
// if there is already an account, skip straight to the main screen
|
// if there is already an account, skip straight to the main screen
|
||||||
for key, _ := range config.Accounts {
|
for key, _ := range config.Accounts {
|
||||||
|
@ -71,17 +72,19 @@ func splashClick(b *gui.GuiButton) {
|
||||||
gw = gui.InitGuiWindow("splashClick() Box22", gw)
|
gw = gui.InitGuiWindow("splashClick() Box22", gw)
|
||||||
gw.UiTab.Delete(0)
|
gw.UiTab.Delete(0)
|
||||||
|
|
||||||
log.Println("addSubdomainQuestionBox() START")
|
log.Println("splashClick() AddGenericBox() START")
|
||||||
box := gui.AddGenericBox(gw, "addSubdomainQuestion")
|
box := gui.AddGenericBox(gw, "addSubdomainQuestion")
|
||||||
|
log.Println("splashClick() AddGenericBox() END box =", box)
|
||||||
|
|
||||||
gui.NewLabel(box, "Enter your Subdomain or")
|
gui.NewLabel(box, "Enter your Subdomain or")
|
||||||
|
|
||||||
gui.CreateButton(box, nil, nil, "Generate", "SUBDOMAIN", generateSubdomain)
|
makeButton(box, nil, nil, "Generate", "SUBDOMAIN", generateSubdomain)
|
||||||
|
|
||||||
gui.AddEntry(box, "SUBDOMAIN")
|
gui.AddEntry(box, "SUBDOMAIN")
|
||||||
gui.HorizontalBreak(box)
|
gui.HorizontalBreak(box)
|
||||||
gui.CreateButton(box, nil, nil, "Create Subdomain Account", "ADD", addSubdomainButton)
|
makeButton(box, nil, nil, "Create Subdomain Account", "ADD", addSubdomainButton)
|
||||||
|
|
||||||
log.Println("addSubdomainQuestionBox() END box =", box)
|
log.Println("splashClick() END box =", box)
|
||||||
}
|
}
|
||||||
|
|
||||||
func addSubdomainButton(b *gui.GuiButton) {
|
func addSubdomainButton(b *gui.GuiButton) {
|
||||||
|
@ -109,6 +112,15 @@ func addSubdomainButton(b *gui.GuiButton) {
|
||||||
|
|
||||||
func generateSubdomain(b *gui.GuiButton) {
|
func generateSubdomain(b *gui.GuiButton) {
|
||||||
log.Println("generateSubdomain START")
|
log.Println("generateSubdomain START")
|
||||||
|
if values, ok := b.Values.(*myButtonInfo); ! ok {
|
||||||
|
log.Println("\tvalues.Accounts error")
|
||||||
|
} else {
|
||||||
|
log.Println("\tvalues.Accounts =", values.Accounts)
|
||||||
|
log.Println("\tvalues.Name =", values.Name)
|
||||||
|
}
|
||||||
|
// use this way?
|
||||||
|
// values, _ := b.Values.(*myButtonInfo)
|
||||||
|
|
||||||
if (b == nil) {
|
if (b == nil) {
|
||||||
log.Println("generateSubdomain ERROR b == nil")
|
log.Println("generateSubdomain ERROR b == nil")
|
||||||
return
|
return
|
||||||
|
|
12
main.go
12
main.go
|
@ -9,7 +9,7 @@ import "time"
|
||||||
import "github.com/miekg/dns"
|
import "github.com/miekg/dns"
|
||||||
|
|
||||||
import "git.wit.com/wit/gui"
|
import "git.wit.com/wit/gui"
|
||||||
// import pb "git.wit.com/wit/witProtobuf"
|
import pb "git.wit.com/wit/witProtobuf"
|
||||||
import "git.wit.com/jcarr/dnssecsocket"
|
import "git.wit.com/jcarr/dnssecsocket"
|
||||||
|
|
||||||
import "github.com/gobuffalo/packr"
|
import "github.com/gobuffalo/packr"
|
||||||
|
@ -20,6 +20,16 @@ var GOVERSION string // this is passed in as an ldflag
|
||||||
var BUILDTIME string // this is passed in as an ldflag
|
var BUILDTIME string // this is passed in as an ldflag
|
||||||
var VERSION string // this is passed in as an ldflag
|
var VERSION string // this is passed in as an ldflag
|
||||||
|
|
||||||
|
type myButtonInfo struct {
|
||||||
|
Account *pb.Account // associated with what account?
|
||||||
|
Accounts []*pb.Account // associated with what account?
|
||||||
|
VM *pb.Event_VM // associated with which VM?
|
||||||
|
Custom func (*gui.GuiButton)
|
||||||
|
ADD func (*gui.GuiButton)
|
||||||
|
Name string
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// use mergo to merge structs
|
// use mergo to merge structs
|
||||||
// import "github.com/imdario/mergo"
|
// import "github.com/imdario/mergo"
|
||||||
// mergo.Merge(&dest, src)
|
// mergo.Merge(&dest, src)
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
run:
|
||||||
|
go build
|
||||||
|
./test5
|
|
@ -0,0 +1,86 @@
|
||||||
|
package main
|
||||||
|
|
||||||
|
import "fmt"
|
||||||
|
import "io"
|
||||||
|
import "log"
|
||||||
|
import "reflect"
|
||||||
|
import "strings"
|
||||||
|
import "encoding/json"
|
||||||
|
|
||||||
|
type S struct{
|
||||||
|
blah int
|
||||||
|
foo string
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *S) addr() { fmt.Printf("%p\n", s) }
|
||||||
|
|
||||||
|
type Codec interface {
|
||||||
|
Encode(w io.Writer, v interface{}) error
|
||||||
|
Decode(r io.Reader, v interface{}) error
|
||||||
|
}
|
||||||
|
|
||||||
|
func (jsonCodec) Encode(w io.Writer, v interface{}) error {
|
||||||
|
return json.NewEncoder(w).Encode(v)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (jsonCodec) Decode(r io.Reader, v interface{}) error {
|
||||||
|
return json.NewDecoder(r).Decode(v)
|
||||||
|
}
|
||||||
|
|
||||||
|
var JSON Codec = jsonCodec{}
|
||||||
|
|
||||||
|
type jsonCodec struct{}
|
||||||
|
|
||||||
|
type buttons interface {
|
||||||
|
Encode(w io.Writer, v interface{}) error
|
||||||
|
Decode(r io.Reader, v interface{}) error
|
||||||
|
}
|
||||||
|
|
||||||
|
type foo struct{}
|
||||||
|
|
||||||
|
type goo struct{
|
||||||
|
test int
|
||||||
|
}
|
||||||
|
|
||||||
|
func bar(baz interface{}) {
|
||||||
|
log.Println("baz =", baz)
|
||||||
|
log.Println("reflect.TypeOf(baz) =", reflect.TypeOf(baz))
|
||||||
|
switch f := baz.(type) {
|
||||||
|
case int:
|
||||||
|
log.Println("baz.(type) is an int =", f * 3)
|
||||||
|
case *foo: // f is of type *foo
|
||||||
|
log.Println("baz.(type) is known as *foo")
|
||||||
|
default: // f is some other type
|
||||||
|
log.Println("baz.(type) =", f)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
var a, b S
|
||||||
|
a.addr() // 0x1beeb0
|
||||||
|
b.addr() // 0x1beeb0
|
||||||
|
|
||||||
|
f := &foo{}
|
||||||
|
bar(f) // every type implements interface{}. Nothing special required
|
||||||
|
|
||||||
|
g := &goo{}
|
||||||
|
g.test = 4
|
||||||
|
bar(g) // every type implements interface{}. Nothing special required
|
||||||
|
|
||||||
|
bar("hello") // every type implements interface{}. Nothing special required
|
||||||
|
|
||||||
|
// what is this?
|
||||||
|
// s := &Service{
|
||||||
|
// Codec: JSON,
|
||||||
|
// }
|
||||||
|
|
||||||
|
r := strings.NewReader("Hello, Reader!")
|
||||||
|
err := JSON.Decode(r, "afjd")
|
||||||
|
log.Println("JSON.Decoder err =", err)
|
||||||
|
|
||||||
|
// err := JSON.Encode(w, obj)
|
||||||
|
// log.Println("err =", err)
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue