diff --git a/eventChannel.go b/eventChannel.go index d4bfce5..2ac7bb3 100644 --- a/eventChannel.go +++ b/eventChannel.go @@ -46,15 +46,8 @@ func processEvents() { log.Println("processEvents() START on channel recieved a message = ", currentMessage) if (currentMessage.Type == pb.Event_DEMO) { log.Println("processEvents() do Event DEMO") - // figure out how to interact with the GUI here - // go ui.Main(gui.SetupDemoUI) } else { - gui.Data.State = "bmath done" - /* - count := countVMS(message) - mh := addVmsTab(count) - ReadReceivedData(message, mh) - */ + gui.Data.State = "NEW PROTOBUF" } log.Println("processEvents() END on channel") } diff --git a/main.go b/main.go index e27f928..feb2fda 100644 --- a/main.go +++ b/main.go @@ -4,6 +4,8 @@ import "log" import "os" import "time" import "os/user" +import "runtime" +import "runtime/debug" import "github.com/gookit/config" import "github.com/gobuffalo/packr" @@ -126,6 +128,16 @@ func buttonClick(b *gui.ButtonMap) { if (b.Note == "QUIT") { onExit(nil) } + if (b.Note == "DEBUG") { + log.Println("debug.PrintStack() (SHOULD BE JUST THIS goroutine)") + debug.PrintStack() + + log.Println("ATTEMPT FULL STACK DUMP") + buf := make([]byte, 1<<16) + runtime.Stack(buf, true) + log.Printf("%s", buf) + log.Println("FINISHED FULL STACK DUMP") + } if (b.Note == "ADD") { log.Println("\tSHOULD ADD ACCOUNT HERE") if (gui.Data.AccNick != "") { @@ -140,6 +152,29 @@ func buttonClick(b *gui.ButtonMap) { config.Set("accounts." + gui.Data.AccNick + ".hostname", "v000185.testing.com.customers.wprod.wit.com") } } + if (b.Note == "SHOW") { + log.Println("\tTRIGGER DISPLAY ACCOUNT") + gui.Data.State = "READ WEBSOCKET" + for { + log.Println("Sleep() in buttonClick() gui.Data.State =", gui.Data.State) + time.Sleep(200 * time.Millisecond) + if (gui.Data.State == "NEW PROTOBUF") { + if (currentMessage == nil) { + gui.SocketError() + } else { + count := countVMS(currentMessage) + log.Println("SHOW VMS currentMessage =", currentMessage) + log.Println("SHOW VMS count =", count) + if (count != 0) { + mh := gui.AddVmsTab(count) + ReadReceivedData(currentMessage, mh) + } + currentMessage = nil + } + return + } + } + } if (b.Note == "BMATH") { log.Println("\tTRIGGER BMATH HERE") log.Println("\tTRIGGER BMATH HERE") @@ -148,10 +183,11 @@ func buttonClick(b *gui.ButtonMap) { for { log.Println("Sleep() in buttonClick() gui.Data.State =", gui.Data.State) time.Sleep(200 * time.Millisecond) - if (gui.Data.State == "bmath done") { + if (gui.Data.State == "NEW PROTOBUF") { count := countVMS(currentMessage) mh := gui.AddVmsTab(count) ReadReceivedData(currentMessage, mh) + currentMessage = nil return } } @@ -189,6 +225,16 @@ func watchGUI() { log.Println("\tTRIGGERING BMATH HERE") gorillaSendProtobuf() } + if (gui.Data.State == "READ WEBSOCKET") { + log.Println("\tTRIGGERING WEBSOCKET HERE on AccNick =", gui.Data.AccNick) + log.Println("\tTRIGGERING WEBSOCKET HERE on AccNick =", gui.Data.AccNick) + log.Println("\tTRIGGERING WEBSOCKET HERE on AccNick =", gui.Data.AccNick) + if (gui.Data.AccNick == "bmath") { + gorillaSendProtobuf() + } else { + gui.Data.State = "NEW PROTOBUF" + } + } if (gui.Data.State == "kill") { log.Println("gui.State = kill") log.Println("gui.State = kill")