package main import "log" import "github.com/andlabs/ui" import _ "github.com/andlabs/ui/winmanifest" // import "github.com/davecgh/go-spew/spew" func addAccountWindow() { accounthWin := ui.NewWindow("Add Account", 400, 300, false) accounthWin.OnClosing(func(*ui.Window) bool { ui.Quit() return true }) ui.OnShouldQuit(func() bool { accounthWin.Destroy() return true }) vbox := ui.NewVerticalBox() vbox.SetPadded(true) accounthWin.SetChild(vbox) accounthWin.SetMargined(true) // This displays the window accounthWin.Show() // START create new account button newAccountButton := ui.NewButton("Create New Account") newAccountButton.OnClicked(func(*ui.Button) { log.Println("OK. Closing window.") accounthWin.Destroy() ui.Quit() }) vbox.Append(newAccountButton, false) // END create new account button vbox.Append(ui.NewHorizontalSeparator(), false) vbox.Append(ui.NewLabel("or"), false) vbox.Append(ui.NewHorizontalSeparator(), false) // START add account hbox hboxAccount := ui.NewHorizontalBox() hboxAccount.SetPadded(true) vbox.Append(hboxAccount, false) // Start 'Provider' vertical box vboxC := ui.NewVerticalBox() vboxC.SetPadded(true) vboxC.Append(ui.NewLabel("Cloud Provider:"), false) cbox := ui.NewCombobox() cbox.Append("WIT") cbox.Append("Evocative") vboxC.Append(cbox, false) cbox.SetSelected(0) cbox.OnSelected(func(*ui.Combobox) { log.Println("OK. Selected Cloud Provider =", cbox.Selected()) }) hboxAccount.Append(vboxC, false) // End 'Cloud Provider' vertical box // Start 'Region' vertical box vboxR := ui.NewVerticalBox() vboxR.SetPadded(true) vboxR.Append(ui.NewLabel("Region:"), false) regbox := ui.NewCombobox() regbox.Append("Any") regbox.Append("SF") vboxR.Append(regbox, false) regbox.SetSelected(0) regbox.OnSelected(func(*ui.Combobox) { log.Println("OK. Selected something =", regbox.Selected()) }) hboxAccount.Append(vboxR, false) // End 'Region' vertical box // Start 'Nickname' vertical box vboxN := ui.NewVerticalBox() vboxN.SetPadded(true) vboxN.Append(ui.NewLabel("Account Nickname:"), false) entryNick := ui.NewEntry() entryNick.SetReadOnly(false) vboxN.Append(entryNick, false) entryNick.OnChanged(func(*ui.Entry) { log.Println("OK. nickname =", entryNick.Text()) }) hboxAccount.Append(vboxN, false) // End 'Nickname' vertical box // Start 'Username' vertical box vboxU := ui.NewVerticalBox() vboxU.SetPadded(true) vboxU.Append(ui.NewLabel("Account Username:"), false) entryUser := ui.NewEntry() entryUser.SetReadOnly(false) vboxU.Append(entryUser, false) entryUser.OnChanged(func(*ui.Entry) { log.Println("OK. username =", entryUser.Text()) }) hboxAccount.Append(vboxU, false) // End 'Username' vertical box // Start 'Password' vertical box vboxP := ui.NewVerticalBox() vboxP.SetPadded(true) vboxP.Append(ui.NewLabel("Account Password:"), false) entryPass := ui.NewEntry() entryPass.SetReadOnly(false) vboxP.Append(entryPass, false) entryPass.OnChanged(func(*ui.Entry) { log.Println("OK. password =", entryPass.Text()) }) hboxAccount.Append(vboxP, false) // End 'Password' vertical box vbox.Append(ui.NewHorizontalSeparator(), false) okButton := ui.NewButton("Add Account") okButton.OnClicked(func(*ui.Button) { log.Println("OK. Closing window.") accounthWin.Destroy() ui.Quit() }) vbox.Append(okButton, false) // END add account hbox }