package main import "log" import "fmt" import "github.com/andlabs/ui" import _ "github.com/andlabs/ui/winmanifest" import "git.wit.com/wit/gui" var cloudwin *ui.Window var cloudtab *ui.Tab var tabcount int func main() { // make this the main loop in an attempt to figure out the crashes // do not change this until the GUI is stable ui.Main(setupCloudUI) } // can not pass any args to this (?) func setupCloudUI() { cloudwin = ui.NewWindow("Cloud Control Panel", 640, 480, false) cloudwin.OnClosing(func(*ui.Window) bool { ui.Quit() return true }) ui.OnShouldQuit(func() bool { cloudwin.Destroy() return true }) cloudtab = ui.NewTab() cloudwin.SetChild(cloudtab) cloudwin.SetMargined(true) tabcount = 0 addTableTab() // cloudtab.Append("Cloud Info", makeCloudInfoBox()) // cloudtab.SetMargined(tabcount, true) cloudwin.Show() } func addTableTab() { var parts []gui.TableColumnData for key, foo := range []string{"BG", "TEXTCOLOR", "BUTTON", "TEXTCOLOR", "TEXTCOLOR", "TEXT", "BUTTON", "TEXT", "BUTTON"} { log.Println(key, foo) var b gui.TableColumnData b.CellType = foo b.Heading = fmt.Sprintf("heading%d", key) parts = append(parts, b) } mh := gui.AddTableTab(cloudtab, 0, "test seven", 7, parts) // set some test values as an example mh.Rows[1].HumanData[1].Text = "jwctest1" mh.Rows[2].HumanData[2].Text = "jwctest2" mh.Rows[3].HumanData[3].Text = "jwctest3" mh.Rows[3].HumanData[4].Text = "jwctest4" mh.Rows[2].HumanData[5].Text = "jwctest5" mh.Rows[3].HumanData[6].Text = "jwctest6" mh.Rows[4].HumanData[7].Text = "jwctest7" mh.Rows[5].HumanData[8].Text = "jwctest8" }