summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--addAccount.go12
-rw-r--r--area.go3
-rw-r--r--debug.go22
-rw-r--r--gui.go29
-rw-r--r--mainCloudBox.go137
-rw-r--r--splash.go27
-rw-r--r--structs.go17
-rw-r--r--vmBox.go26
8 files changed, 193 insertions, 80 deletions
diff --git a/addAccount.go b/addAccount.go
index 1e5f521..ed55ed7 100644
--- a/addAccount.go
+++ b/addAccount.go
@@ -5,23 +5,23 @@ import "log"
import "github.com/andlabs/ui"
import _ "github.com/andlabs/ui/winmanifest"
-func AddAccountQuestionBox() *ui.Box {
+func AddAccountQuestionBox(wm *WindowMap) *ui.Box {
newbox := ui.NewVerticalBox()
newbox.SetPadded(true)
- newButton := CreateButton(nil, nil, "Create New Account", "AREA", nil)
+ newButton := CreateButton(wm, nil, nil, "Create New Account", "AREA", nil)
newbox.Append(newButton, false)
newbox.Append(ui.NewHorizontalSeparator(), false)
- okButton := CreateButton(nil, nil, "I Have an Account", "AREA", nil)
+ okButton := CreateButton(wm, nil, nil, "I Have an Account", "AREA", nil)
newbox.Append(okButton, false)
return newbox
}
// func AddAccountBox(aTab *GuiTabStructure) {
-func AddAccountBox() *ui.Box {
+func AddAccountBox(wm *WindowMap) *ui.Box {
vbox := ui.NewVerticalBox()
vbox.SetPadded(true)
// aTab.firstBox = vbox
@@ -121,10 +121,10 @@ func AddAccountBox() *ui.Box {
hboxButtons.SetPadded(true)
vbox.Append(hboxButtons, false)
- okButton := CreateButton(nil, nil, "Add Account", "ADD", nil)
+ okButton := CreateButton(wm, nil, nil, "Add Account", "ADD", nil)
hboxButtons.Append(okButton, false)
- backButton := CreateButton(nil, nil, "Back", "BACK", nil)
+ backButton := CreateButton(wm, nil, nil, "Back", "BACK", nil)
hboxButtons.Append(backButton, false)
return vbox
diff --git a/area.go b/area.go
index bbc85e5..7ea70e3 100644
--- a/area.go
+++ b/area.go
@@ -23,7 +23,8 @@ func findFB(button *ButtonMap) *ButtonMap {
func makeSplashArea(ah *AreaHandler) {
// make this button just to get the default font (but don't display the button)
// There should be another way to do this (?)
- newB := CreateFontButton("AREA")
+ wm := ah.WM
+ newB := CreateFontButton(wm, "AREA")
// ah.Attrstr = makeAttributedString()
ah.Area = ui.NewArea(ah)
diff --git a/debug.go b/debug.go
index f898597..80a8175 100644
--- a/debug.go
+++ b/debug.go
@@ -15,6 +15,7 @@ import "github.com/davecgh/go-spew/spew"
// import pb "git.wit.com/wit/witProtobuf"
// can not pass any args to this (?)
+/*
func setupCloudUI() {
Data.Window1.W = ui.NewWindow("Cloud Control Panel", Data.Width, Data.Height, false)
Data.Window1.W.OnClosing(func(*ui.Window) bool {
@@ -36,6 +37,7 @@ func setupCloudUI() {
Data.Window1.W.Show()
}
+*/
func addTableTab() {
var parts []TableColumnData
@@ -51,15 +53,15 @@ func addTableTab() {
log.Println("Sleep for 2 seconds, then try to add new tabs")
time.Sleep(1 * 1000 * 1000 * 1000)
- AddTableTab(Data.Window1.T, 1, "test seven", 7, parts, nil)
+ // AddTableTab(Data.Window1.T, 1, "test seven", 7, parts, nil)
}
-func addDebuggingButtons(vbox *ui.Box) {
+func addDebuggingButtons(wm *WindowMap, vbox *ui.Box) {
vbox.Append(ui.NewLabel("Debugging:"), false)
vbox.Append(ui.NewColorButton(), false)
- vbox.Append(CreateButton(nil, nil, "Add Account", "ADD", nil), false)
- vbox.Append(CreateButton(nil, nil, "Quit", "QUIT", nil), false)
+ vbox.Append(CreateButton(wm, nil, nil, "Add Account", "ADD", nil), false)
+ vbox.Append(CreateButton(wm, nil, nil, "Quit", "QUIT", nil), false)
// ATTEMPT TO ADD THE TABLE HERE
add2button := ui.NewButton("Add a Test Table")
@@ -70,21 +72,23 @@ func addDebuggingButtons(vbox *ui.Box) {
vbox.Append(add2button, false)
// ATTEMPT TO ADD THE TABLE HERE END
- vbox.Append(CreateButton(nil, nil, "Hide & Show Box1&2", "HIDE", runTestHide), false)
+ vbox.Append(CreateButton(wm, nil, nil, "Hide & Show Box1&2", "HIDE", runTestHide), false)
- vbox.Append(CreateButton(nil, nil, "Close GUI", "QUIT", nil), false)
- vbox.Append(CreateButton(nil, nil, "DEBUG goroutines", "DEBUG", nil), false)
- vbox.Append(CreateButton(nil, nil, "xterm", "XTERM", runTestExecClick), false)
- vbox.Append(CreateButton(nil, nil, "Load test.json config file", "CONFIG", nil), false)
+ vbox.Append(CreateButton(wm, nil, nil, "Close GUI", "QUIT", nil), false)
+ vbox.Append(CreateButton(wm, nil, nil, "DEBUG goroutines", "DEBUG", nil), false)
+ vbox.Append(CreateButton(wm, nil, nil, "xterm", "XTERM", runTestExecClick), false)
+ vbox.Append(CreateButton(wm, nil, nil, "Load test.json config file", "CONFIG", nil), false)
}
func runTestHide(b *ButtonMap) {
+ /*
log.Println("runTestHide START")
Data.Window1.Box1.Hide()
Data.Window1.Box2.Hide()
// time.Sleep(2000 * time.Millisecond)
Data.State = "HIDE"
log.Println("runTestHide END")
+ */
}
func runPingClick(b *ButtonMap) {
diff --git a/gui.go b/gui.go
index fd6071c..7e880c7 100644
--- a/gui.go
+++ b/gui.go
@@ -41,7 +41,7 @@ func InitColumns(mh *TableData, parts []TableColumnData) {
}
}
-func AddTableTab(mytab *ui.Tab, junk int, name string, rowcount int, parts []TableColumnData, account *pb.Account) *TableData {
+func AddTableTab(wm *WindowMap, mytab *ui.Tab, junk int, name string, rowcount int, parts []TableColumnData, account *pb.Account) *TableData {
mh := new(TableData)
mh.RowCount = rowcount
@@ -90,26 +90,26 @@ func AddTableTab(mytab *ui.Tab, junk int, name string, rowcount int, parts []Tab
hbox := ui.NewHorizontalBox()
hbox.SetPadded(true)
- hbox.Append(CreateButton(account, nil, "Add Virtual Machine", "createAddVmBox", nil), false)
- hbox.Append(CreateButton(account, nil, "Close", "CLOSE", nil), false)
+ hbox.Append(CreateButton(wm, account, nil, "Add Virtual Machine", "createAddVmBox", nil), false)
+ hbox.Append(CreateButton(wm, account, nil, "Close", "CLOSE", nil), false)
vbox.Append(hbox, false)
return mh
}
-func SocketError() {
- ui.MsgBoxError(Data.Window1.W,
+func SocketError(wm *WindowMap) {
+ ui.MsgBoxError(wm.W,
"There was a socket error",
"More detailed information can be shown here.")
}
-func MessageWindow(msg1 string, msg2 string) {
- ui.MsgBox(Data.Window1.W, msg1, msg2)
+func MessageWindow(wm *WindowMap, msg1 string, msg2 string) {
+ ui.MsgBox(wm.W, msg1, msg2)
}
-func ErrorWindow(msg1 string, msg2 string) {
- ui.MsgBoxError(Data.Window1.W, msg1, msg2)
+func ErrorWindow(wm *WindowMap, msg1 string, msg2 string) {
+ ui.MsgBoxError(wm.W, msg1, msg2)
}
// This is the default mouse click handler
@@ -131,7 +131,7 @@ func mouseClick(b *ButtonMap) {
log.Println("\tgui.mouseClick() START b.Action =", b.Action)
if (b.Action == "createAddVmBox") {
log.Println("\tgui.mouseClick() createAddVmBox for b =", b)
- createAddVmBox(Data.Window1.T, "Create New Virtual Machine", b)
+ createAddVmBox(b.WM, b.T, "Create New Virtual Machine", b)
return
}
/*
@@ -208,16 +208,17 @@ func AddButton(b *ButtonMap, name string) *ui.Button {
return newB
}
-func CreateButton(a *pb.Account, vm *pb.Event_VM,
+func CreateButton(wm *WindowMap, a *pb.Account, vm *pb.Event_VM,
name string, action string, custom func(*ButtonMap)) *ui.Button {
newB := ui.NewButton(name)
newB.OnClicked(defaultButtonClick)
var newmap ButtonMap
newmap.B = newB
- newmap.T = Data.Window1.T
+ newmap.T = wm.T
newmap.Account = a
newmap.VM = vm
+ newmap.WM = wm
newmap.Action = action
newmap.custom = custom
Data.AllButtons = append(Data.AllButtons, newmap)
@@ -225,14 +226,14 @@ func CreateButton(a *pb.Account, vm *pb.Event_VM,
return newB
}
-func CreateFontButton(action string) *ButtonMap {
+func CreateFontButton(wm *WindowMap, action string) *ButtonMap {
newB := ui.NewFontButton()
// create a 'fake' button entry for the mouse clicks
var newBM ButtonMap
newBM.Action = action
newBM.FB = newB
- newBM.AH = Data.Window1.AH
+ newBM.AH = wm.AH
Data.AllButtons = append(Data.AllButtons, newBM)
newB.OnChanged(func (*ui.FontButton) {
diff --git a/mainCloudBox.go b/mainCloudBox.go
index 42529ce..1162860 100644
--- a/mainCloudBox.go
+++ b/mainCloudBox.go
@@ -11,7 +11,7 @@ import pb "git.wit.com/wit/witProtobuf"
// import "github.com/davecgh/go-spew/spew"
-func makeCloudInfoBox() *ui.Box {
+func makeCloudInfoBox(wm *WindowMap) *ui.Box {
hbox := ui.NewHorizontalBox()
hbox.SetPadded(true)
@@ -21,7 +21,7 @@ func makeCloudInfoBox() *ui.Box {
vbox.SetPadded(true)
hbox.Append(vbox, false)
- addDebuggingButtons(vbox)
+ addDebuggingButtons(wm, vbox)
hbox.Append(ui.NewVerticalSeparator(), false)
}
@@ -44,7 +44,7 @@ func makeCloudInfoBox() *ui.Box {
hostnameEntry.SetText(tmp)
hostnameEntry.SetReadOnly(true)
- hostnamebox.Append(CreateButton(nil, nil, "Edit", "EDIT", nil), false)
+ hostnamebox.Append(CreateButton(wm, nil, nil, "Edit", "EDIT", nil), false)
vbox.Append(ui.NewHorizontalSeparator(), false)
@@ -70,11 +70,11 @@ func makeCloudInfoBox() *ui.Box {
agrid.Append(ui.NewLabel(Data.Config.Accounts[key].Domain), 3, row, 1, 1, true, ui.AlignFill, false, ui.AlignFill)
name := "Login " + Data.Config.Accounts[key].Nick
- l := CreateButton(Data.Config.Accounts[key], nil, name, "LOGIN", nil)
+ l := CreateButton(wm, Data.Config.Accounts[key], nil, name, "LOGIN", nil)
agrid.Append(l, 4, row, 1, 1, true, ui.AlignFill, false, ui.AlignFill)
name = "Show " + Data.Config.Accounts[key].Nick
- b := CreateButton(Data.Config.Accounts[key], nil, name, "SHOW", nil)
+ b := CreateButton(wm, Data.Config.Accounts[key], nil, name, "SHOW", nil)
agrid.Append(b, 5, row, 1, 1, true, ui.AlignFill, false, ui.AlignFill)
row += 1
@@ -83,9 +83,9 @@ func makeCloudInfoBox() *ui.Box {
row += 1
agrid.Append(ui.NewLabel(""), 1, row, 1, 1, true, ui.AlignFill, false, ui.AlignFill)
row += 1
- a := CreateButton(nil, nil, "Add Account", "ADD TAB", nil)
+ a := CreateButton(wm, nil, nil, "Add Account", "ADD TAB", nil)
agrid.Append(a, 4, row, 1, 1, true, ui.AlignFill, false, ui.AlignFill)
- q := CreateButton(nil, nil, "Quit", "QUIT", nil)
+ q := CreateButton(wm, nil, nil, "Quit", "QUIT", nil)
agrid.Append(q, 5, row, 1, 1, true, ui.AlignFill, false, ui.AlignFill)
vbox.Append(agrid, false)
@@ -101,7 +101,7 @@ func makeCloudInfoBox() *ui.Box {
// which could be anything since TEXTCOLOR, TEXT, BG, etc
// fields use between 1 and 3 values internally
//
-func AddVmsTab(name string, count int, a *pb.Account) *TableData {
+func AddVmsTab(wm *WindowMap, name string, count int, a *pb.Account) *TableData {
var parts []TableColumnData
human := 0
@@ -155,63 +155,145 @@ func AddVmsTab(name string, count int, a *pb.Account) *TableData {
parts = append(parts, tmp)
human += 1
- mh := AddTableTab(Data.Window1.T, 1, name, count, parts, a)
+ mh := AddTableTab(wm, wm.T, 1, name, count, parts, a)
return mh
}
-func ShowAccountQuestionTab() {
- Data.Window1.T.Delete(0)
+func ShowAccountQuestionTab(wm *WindowMap) {
+ wm.T.Delete(0)
log.Println("Sleep(200)")
time.Sleep(200 * time.Millisecond)
- Data.Window1.Box2 = AddAccountQuestionBox()
- Data.Window1.T.InsertAt("New Account?", 0, Data.Window1.Box2)
- Data.Window1.T.SetMargined(0, true)
+ wm.Box2 = AddAccountQuestionBox(wm)
+ wm.T.InsertAt("New Account?", 0, wm.Box2)
+ wm.T.SetMargined(0, true)
}
-func ShowAccountTab(i int) {
+func ShowAccountTab(wm *WindowMap, i int) {
log.Println("ShowAccountTab() START")
log.Println("Sleep(200)")
time.Sleep(200 * time.Millisecond)
// Create the things for the Account Tab
- abox := AddAccountBox()
+ abox := AddAccountBox(wm)
// Set the parents and data structure links
- // aTab.me = Data.Window1.T
+ // aTab.me = wm.T
// aTab.parentWindow = Data.Window1.W
// aTab.tabOffset = 0
if (i >= 0) {
log.Println("ShowAccountTab() InsertAt i=", i)
- Data.Window1.T.Delete(0)
- Data.Window1.T.InsertAt("Add Account", i, abox)
- Data.Window1.T.SetMargined(0, true)
+ wm.T.Delete(0)
+ wm.T.InsertAt("Add Account", i, abox)
+ wm.T.SetMargined(0, true)
} else {
// TODO: After append try to discover the tab index #
log.Println("ShowAccountTab() Append")
- AddBoxToTab("Create New Account", Data.Window1.T, abox)
+ AddBoxToTab("Create New Account", wm.T, abox)
}
}
-func ShowMainTab() {
- Data.Window1.T.Delete(0)
+func ShowMainTab(wm *WindowMap) {
+ log.Println("ShowMainTab() wm =", wm)
+ log.Println("ShowMainTab() wm.T =", wm.T)
+ log.Println("ShowMainTab() wm.T =", wm.T)
+ wm.T.Delete(0)
log.Println("Sleep(200)")
time.Sleep(200 * time.Millisecond)
- Data.Window1.Box2 = makeCloudInfoBox()
- Data.Window1.T.InsertAt("Main", 0, Data.Window1.Box2)
- Data.Window1.T.SetMargined(0, true)
+ wm.Box2 = makeCloudInfoBox(wm)
+ wm.T.InsertAt("Main", 0, wm.Box2)
+ wm.T.SetMargined(0, true)
}
+/*
func GoMainWindow() {
// Data.Window1 = new(WindowMap)
ui.Main(makeCloudWindow)
}
+*/
+
+func ShowWindow() {
+ // Data.Window1 = new(WindowMap)
+ for i, aWM := range(Data.Windows) {
+ log.Println(aWM)
+ if (aWM.W == nil) {
+ log.Println("ShowWindow() THIS WINDOW IS NOT YET SHOWN")
+ // Data.NewWindow = &aWM
+ Data.NewWindow = i
+ ui.Main(InitWindow)
+ }
+ }
+}
+
+func InitNewWindow(c *pb.Config, action string) *WindowMap {
+ log.Println("InitNewWindow() Create a new window")
+ var newWindowMap WindowMap
+ newWindowMap.C = c
+ newWindowMap.Action = action
+ Data.Windows = append(Data.Windows, &newWindowMap)
+ return &newWindowMap
+
+ // NEED TO INIT THIS HERE
+// ui.OnShouldQuit(func() bool {
+// mouseClick(&newBM)
+// return true
+// })
+}
+
+func getSplashText() *ui.AttributedString {
+ var aText *ui.AttributedString
+ aText = ui.NewAttributedString("Click to continue")
+ return aText
+}
+
+
+func InitWindow() {
+ i := Data.NewWindow
+
+ c := Data.Windows[i].C
+ Data.Windows[i].W = ui.NewWindow("", int(c.Width), int(c.Height), true)
+ Data.Windows[i].W.SetBorderless(false)
+
+ // create a 'fake' button entry for the mouse clicks
+ var newBM ButtonMap
+ newBM.Action = "QUIT"
+ newBM.W = Data.Windows[i].W
+ Data.AllButtons = append(Data.AllButtons, newBM)
+
+ Data.Windows[i].W.OnClosing(func(*ui.Window) bool {
+ mouseClick(&newBM)
+ ui.Quit()
+ return true
+ })
+
+ Data.Windows[i].T = ui.NewTab()
+ Data.Windows[i].W.SetChild(Data.Windows[i].T)
+ Data.Windows[i].W.SetMargined(true)
+
+ log.Println("InitWindow() Data.Windows[i] =", Data.Windows[i])
+ log.Println("InitWindow() Data.Windows[i].Action =", Data.Windows[i].Action)
+
+ if (Data.Windows[i].Action == "SPLASH") {
+ log.Println("InitWindow() TRYING SPLASH")
+ tmp := getSplashText()
+ log.Println("InitWindow() TRYING SPLASH tmp =", tmp)
+ Data.Windows[i].Box1 = ShowSplashBox(Data.Windows[i], i, tmp)
+
+ Data.Windows[i].T.Append("WIT Splash", Data.Windows[i].Box1)
+ Data.Windows[i].T.SetMargined(0, true)
+ }
+
+ Data.Windows[i].W.Show()
+ Data.State = "splash"
+}
+
+/*
func makeCloudWindow() {
Data.Window1.W = ui.NewWindow("", Data.Width, Data.Height, true)
// Window1.W.SetBorderless(true)
@@ -236,7 +318,7 @@ func makeCloudWindow() {
Data.Window1.W.SetMargined(true)
// text := makeAttributedString()
- Data.Window1.Box1 = ShowSplashBox(Data.Window1.AreaText)
+ // Data.Window1.Box1 = ShowSplashBox(Data.Window1.AreaText)
Data.Window1.T.Append("WIT Splash", Data.Window1.Box1)
Data.Window1.T.SetMargined(0, true)
@@ -244,6 +326,7 @@ func makeCloudWindow() {
Data.Window1.W.Show()
Data.State = "splash"
}
+*/
/*
func AddVmConfigureTab(name string, pbVM *pb.Event_VM) {
diff --git a/splash.go b/splash.go
index 5568d99..168286a 100644
--- a/splash.go
+++ b/splash.go
@@ -4,22 +4,31 @@ package gui
// import "time"
// import "fmt"
-// import "log"
+import "os"
+import "log"
import "runtime"
import "github.com/andlabs/ui"
import _ "github.com/andlabs/ui/winmanifest"
-func ShowSplashBox(newText *ui.AttributedString) *ui.Box {
+func ShowSplashBox(wm *WindowMap, i int, newText *ui.AttributedString) *ui.Box {
+ log.Println("ShowSplashBox() START")
+ log.Println("ShowSplashBox() START wm =", wm)
+ if (wm == nil) {
+ log.Println("ShowSplashBox() WE ARE FUCKED BECAUSE WE DON'T KNOW WHAT WINDOW TO DO THIS IN")
+ os.Exit(0)
+ return nil
+ }
newbox := ui.NewVerticalBox()
newbox.SetPadded(true)
// initialize the AreaHandler{}
- Data.Window1.AH = new(AreaHandler)
- Data.Window1.AH.Attrstr = newText
- makeSplashArea(Data.Window1.AH)
+ Data.Windows[i].AH = new(AreaHandler)
+ Data.Windows[i].AH.WM = wm
+ Data.Windows[i].AH.Attrstr = newText
+ makeSplashArea(Data.Windows[i].AH)
- newbox.Append(Data.Window1.AH.Area, true)
+ newbox.Append(Data.Windows[i].AH.Area, true)
if runtime.GOOS == "linux" {
newbox.Append(ui.NewLabel("OS: Linux"), false)
@@ -47,9 +56,11 @@ func ShowSplashBox(newText *ui.AttributedString) *ui.Box {
}
}
- okButton := CreateButton(nil, nil, "OK", "AREA", nil)
+ log.Println("ShowSplashBox() START wm =", wm)
+ okButton := CreateButton(wm, nil, nil, "OK", "AREA", nil)
newbox.Append(okButton, false)
- newbox.Append(CreateButton(nil, nil, "NEWTEXT", "NEWTEXT", nil), false)
+ newbox.Append(CreateButton(wm, nil, nil, "NEWTEXT", "NEWTEXT", nil), false)
+ // os.Exit(0)
return newbox
}
diff --git a/structs.go b/structs.go
index 6a10517..2b9bdc9 100644
--- a/structs.go
+++ b/structs.go
@@ -53,7 +53,9 @@ type GuiDataStructure struct {
// pass it in
CurrentVM *pb.Event_VM
- Window1 *WindowMap
+ Windows []*WindowMap
+ NewWindow int
+// Window1 *WindowMap
Window2 *WindowMap
EntryNick *ui.Entry
@@ -92,8 +94,11 @@ type WindowMap struct {
Box1 *ui.Box
Box2 *ui.Box
+ C *pb.Config
+
AH *AreaHandler
- AreaText *ui.AttributedString
+// AreaText *ui.AttributedString
+ Action string
}
type FontString struct {
@@ -104,17 +109,22 @@ type FontString struct {
}
type ButtonMap struct {
+ // andlabs/ui stuff
B *ui.Button
FB *ui.FontButton
A *ui.Area
W *ui.Window
T *ui.Tab
+ AH *AreaHandler
+
+ // git.wit.com/wit/gui stuff
+ WM *WindowMap
Account *pb.Account
VM *pb.Event_VM
- AH *AreaHandler
Action string // what type of button
+ // a callback function for the main application
custom func (*ButtonMap)
}
@@ -124,6 +134,7 @@ type AreaHandler struct{
Button *ButtonMap
Attrstr *ui.AttributedString
Area *ui.Area
+ WM *WindowMap
}
// AREA STRUCTURES END
diff --git a/vmBox.go b/vmBox.go
index 37391e5..3059faf 100644
--- a/vmBox.go
+++ b/vmBox.go
@@ -10,6 +10,7 @@ import pb "git.wit.com/wit/witProtobuf"
import "github.com/davecgh/go-spew/spew"
+/*
func GoShowVM() {
ui.Main(ShowVM)
}
@@ -41,12 +42,13 @@ func ShowVM() {
CreateVmBox(VMtab, Data.CurrentVM)
VMwin.Show()
}
+*/
-func AddVmConfigureTab(name string, pbVM *pb.Event_VM) {
- CreateVmBox(Data.Window1.T, Data.CurrentVM)
+func AddVmConfigureTab(wm *WindowMap, name string, pbVM *pb.Event_VM) {
+ CreateVmBox(wm, wm.T, Data.CurrentVM)
}
-func CreateVmBox(tab *ui.Tab, vm *pb.Event_VM) {
+func CreateVmBox(wm *WindowMap, tab *ui.Tab, vm *pb.Event_VM) {
log.Println("CreateVmBox() START")
log.Println("CreateVmBox() vm.Name", vm.Name)
spew.Dump(vm)
@@ -74,18 +76,18 @@ func CreateVmBox(tab *ui.Tab, vm *pb.Event_VM) {
hboxButtons.SetPadded(true)
vbox.Append(hboxButtons, false)
- hboxButtons.Append(CreateButton(nil, vm, "Power On", "POWERON", nil), false)
- hboxButtons.Append(CreateButton(nil, vm, "Power Off", "POWEROFF", nil), false)
- hboxButtons.Append(CreateButton(nil, vm, "Destroy", "DESTROY", nil), false)
- hboxButtons.Append(CreateButton(nil, vm, "ping", "PING", runPingClick), false)
- hboxButtons.Append(CreateButton(nil, vm, "Console", "XTERM", runTestExecClick), false)
- hboxButtons.Append(CreateButton(nil, vm, "Save", "SAVE", nil), false)
- hboxButtons.Append(CreateButton(nil, vm, "Done", "DONE", nil), false)
+ hboxButtons.Append(CreateButton(wm, nil, vm, "Power On", "POWERON", nil), false)
+ hboxButtons.Append(CreateButton(wm, nil, vm, "Power Off", "POWEROFF", nil), false)
+ hboxButtons.Append(CreateButton(wm, nil, vm, "Destroy", "DESTROY", nil), false)
+ hboxButtons.Append(CreateButton(wm, nil, vm, "ping", "PING", runPingClick), false)
+ hboxButtons.Append(CreateButton(wm, nil, vm, "Console", "XTERM", runTestExecClick), false)
+ hboxButtons.Append(CreateButton(wm, nil, vm, "Save", "SAVE", nil), false)
+ hboxButtons.Append(CreateButton(wm, nil, vm, "Done", "DONE", nil), false)
AddBoxToTab(Data.CurrentVM.Name, tab, vbox)
}
-func createAddVmBox(tab *ui.Tab, name string, b *ButtonMap) {
+func createAddVmBox(wm *WindowMap, tab *ui.Tab, name string, b *ButtonMap) {
log.Println("createAddVmBox() START")
vbox := ui.NewVerticalBox()
vbox.SetPadded(true)
@@ -118,7 +120,7 @@ func createAddVmBox(tab *ui.Tab, name string, b *ButtonMap) {
hboxButtons.Append(AddButton(&newb, "Add Virtual Machine"), false)
// hboxButtons.Append(CreateButton(nil, nil, "Add Virtual Machine","CREATE",nil), false)
- hboxButtons.Append(CreateButton(nil, nil, "Cancel", "CLOSE", nil), false)
+ hboxButtons.Append(CreateButton(wm, nil, nil, "Cancel", "CLOSE", nil), false)
name += " (" + b.Account.Nick + ")"
AddBoxToTab(name, tab, vbox)