diff --git a/infoTabUI.go b/infoTabUI.go new file mode 100644 index 0000000..68d43fa --- /dev/null +++ b/infoTabUI.go @@ -0,0 +1,123 @@ +package main + +import "log" +// import "time" +// import "fmt" + +// import "github.com/gookit/config" + +import "github.com/andlabs/ui" +import _ "github.com/andlabs/ui/winmanifest" + +// import "github.com/davecgh/go-spew/spew" + +// var mainwin *ui.Window +// var maintab *ui.Tab + +// var tabcount int + +// var jcarrButton *ui.Button +// var jcarrEntry *ui.MultilineEntry + +func makeCloudInfoBox() ui.Control { + hbox := ui.NewHorizontalBox() + hbox.SetPadded(true) + + vbox := ui.NewVerticalBox() + vbox.SetPadded(true) + hbox.Append(vbox, false) + + vbox.Append(ui.NewDatePicker(), false) + vbox.Append(ui.NewTimePicker(), false) + vbox.Append(ui.NewDateTimePicker(), false) + vbox.Append(ui.NewFontButton(), false) + vbox.Append(ui.NewColorButton(), false) + + mybutton := ui.NewButton("Test List VMs") + mybutton.OnClicked(func(*ui.Button) { + log.Println("send over socket") + }) + vbox.Append(mybutton, false) + + hbox.Append(ui.NewVerticalSeparator(), false) + + vbox = ui.NewVerticalBox() + vbox.SetPadded(true) + hbox.Append(vbox, true) + + grid := ui.NewGrid() + grid.SetPadded(true) + vbox.Append(grid, false) + + button := ui.NewButton("Open File") + entry := ui.NewEntry() + entry.SetReadOnly(true) + button.OnClicked(func(*ui.Button) { + /* + filename := ui.OpenFile(mainwin) + if filename == "" { + filename = "(cancelled)" + } + */ + entry.SetText("FIXME") + }) + grid.Append(button, + 0, 0, 1, 1, + false, ui.AlignFill, false, ui.AlignFill) + grid.Append(entry, + 1, 0, 1, 1, + true, ui.AlignFill, false, ui.AlignFill) + + button = ui.NewButton("Save File") + entry2 := ui.NewEntry() + entry2.SetReadOnly(true) + button.OnClicked(func(*ui.Button) { + /* + filename := ui.SaveFile(mainwin) + if filename == "" { + filename = "(cancelled)" + } + entry2.SetText(filename) + */ + entry.SetText("FIXME") + }) + grid.Append(button, + 0, 1, 1, 1, + false, ui.AlignFill, false, ui.AlignFill) + grid.Append(entry2, + 1, 1, 1, 1, + true, ui.AlignFill, false, ui.AlignFill) + + msggrid := ui.NewGrid() + msggrid.SetPadded(true) + grid.Append(msggrid, + 0, 2, 2, 1, + false, ui.AlignCenter, false, ui.AlignStart) + + button = ui.NewButton("Message Box") + button.OnClicked(func(*ui.Button) { + log.Println("FIXEME") + /* + ui.MsgBox(mainwin, + "This is a normal message box.", + "More detailed information can be shown here.") + */ + }) + msggrid.Append(button, + 0, 0, 1, 1, + false, ui.AlignFill, false, ui.AlignFill) + button = ui.NewButton("Error Box") + button.OnClicked(func(*ui.Button) { + log.Println("FIXEME") + /* + ui.MsgBoxError(mainwin, + "This message box describes an error.", + "More detailed information can be shown here.") + */ + }) + msggrid.Append(button, + 1, 0, 1, 1, + false, ui.AlignFill, false, ui.AlignFill) + + return hbox +} diff --git a/main.go b/main.go index c4a3501..f32b5fa 100644 --- a/main.go +++ b/main.go @@ -40,9 +40,15 @@ func main() { // NOTE: This needs to be something long like 2 seconds. // Not sure way. Otherwise it will hang GTK // +/* log.Println("Sleep for 2 seconds, then try to add new tabs") time.Sleep(1 * 1000 * 1000 * 1000) gui.AddChoosersDemo() +*/ + + log.Println("Sleep for 2 seconds, then try to add new tabs") + time.Sleep(1 * 1000 * 1000 * 1000) + gui.AddNewTab(makeCloudInfoBox()) var parts []gui.InputData