single CreateButton function
Signed-off-by: Jeff Carr <jcarr@wit.com>
This commit is contained in:
parent
da315467cc
commit
fdd473b23b
|
@ -9,12 +9,12 @@ func AddAccountQuestionBox(junk *ui.Box, custom func(*ButtonMap)) *ui.Box {
|
||||||
newbox := ui.NewVerticalBox()
|
newbox := ui.NewVerticalBox()
|
||||||
newbox.SetPadded(true)
|
newbox.SetPadded(true)
|
||||||
|
|
||||||
newButton := CreateButton("Create New Account", "DONE", custom)
|
newButton := CreateButton(nil, nil, "Create New Account", "DONE", custom)
|
||||||
newbox.Append(newButton, false)
|
newbox.Append(newButton, false)
|
||||||
|
|
||||||
newbox.Append(ui.NewHorizontalSeparator(), false)
|
newbox.Append(ui.NewHorizontalSeparator(), false)
|
||||||
|
|
||||||
okButton := CreateButton("I Have an Account", "DONE", custom)
|
okButton := CreateButton(nil, nil, "I Have an Account", "DONE", custom)
|
||||||
newbox.Append(okButton, false)
|
newbox.Append(okButton, false)
|
||||||
|
|
||||||
return newbox
|
return newbox
|
||||||
|
@ -119,10 +119,10 @@ func AddAccountBox(custom func(*ButtonMap)) *ui.Box {
|
||||||
hboxButtons.SetPadded(true)
|
hboxButtons.SetPadded(true)
|
||||||
vbox.Append(hboxButtons, false)
|
vbox.Append(hboxButtons, false)
|
||||||
|
|
||||||
okButton := CreateButton("Add Account", "ADD", custom)
|
okButton := CreateButton(nil, nil, "Add Account", "ADD", custom)
|
||||||
hboxButtons.Append(okButton, false)
|
hboxButtons.Append(okButton, false)
|
||||||
|
|
||||||
backButton := CreateButton("Back", "BACK", custom)
|
backButton := CreateButton(nil, nil, "Back", "BACK", custom)
|
||||||
hboxButtons.Append(backButton, false)
|
hboxButtons.Append(backButton, false)
|
||||||
|
|
||||||
return vbox
|
return vbox
|
||||||
|
|
14
debug.go
14
debug.go
|
@ -51,15 +51,15 @@ func addTableTab() {
|
||||||
|
|
||||||
log.Println("Sleep for 2 seconds, then try to add new tabs")
|
log.Println("Sleep for 2 seconds, then try to add new tabs")
|
||||||
time.Sleep(1 * 1000 * 1000 * 1000)
|
time.Sleep(1 * 1000 * 1000 * 1000)
|
||||||
AddTableTab(Data.cloudTab, 1, "test seven", 7, parts)
|
AddTableTab(Data.cloudTab, 1, "test seven", 7, parts, nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
func addDebuggingButtons(vbox *ui.Box, custom func(*ButtonMap)) {
|
func addDebuggingButtons(vbox *ui.Box, custom func(*ButtonMap)) {
|
||||||
vbox.Append(ui.NewLabel("Debugging:"), false)
|
vbox.Append(ui.NewLabel("Debugging:"), false)
|
||||||
|
|
||||||
vbox.Append(ui.NewColorButton(), false)
|
vbox.Append(ui.NewColorButton(), false)
|
||||||
vbox.Append(CreateButton("Add Account", "ADD", custom), false)
|
vbox.Append(CreateButton(nil, nil, "Add Account", "ADD", custom), false)
|
||||||
vbox.Append(CreateButton("Quit", "QUIT", custom), false)
|
vbox.Append(CreateButton(nil, nil, "Quit", "QUIT", custom), false)
|
||||||
|
|
||||||
// ATTEMPT TO ADD THE TABLE HERE
|
// ATTEMPT TO ADD THE TABLE HERE
|
||||||
add2button := ui.NewButton("Add a Test Table")
|
add2button := ui.NewButton("Add a Test Table")
|
||||||
|
@ -70,11 +70,11 @@ func addDebuggingButtons(vbox *ui.Box, custom func(*ButtonMap)) {
|
||||||
vbox.Append(add2button, false)
|
vbox.Append(add2button, false)
|
||||||
// ATTEMPT TO ADD THE TABLE HERE END
|
// ATTEMPT TO ADD THE TABLE HERE END
|
||||||
|
|
||||||
vbox.Append(CreateButton("Close GUI", "QUIT", custom), false)
|
vbox.Append(CreateButton(nil, nil, "Close GUI", "QUIT", custom), false)
|
||||||
vbox.Append(CreateButton("DEBUG goroutines", "DEBUG", custom), false)
|
vbox.Append(CreateButton(nil, nil, "DEBUG goroutines", "DEBUG", custom), false)
|
||||||
// vbox.Append(CreateButton("ping", "PING", runPingClick), false)
|
// vbox.Append(CreateButton("ping", "PING", runPingClick), false)
|
||||||
vbox.Append(CreateButton("xterm", "XTERM", runTestExecClick), false)
|
vbox.Append(CreateButton(nil, nil, "xterm", "XTERM", runTestExecClick), false)
|
||||||
vbox.Append(CreateButton("Load test.json config file", "CONFIG", custom), false)
|
vbox.Append(CreateButton(nil, nil, "Load test.json config file", "CONFIG", custom), false)
|
||||||
}
|
}
|
||||||
|
|
||||||
func runPingClick(b *ButtonMap) {
|
func runPingClick(b *ButtonMap) {
|
||||||
|
|
45
gui.go
45
gui.go
|
@ -41,7 +41,7 @@ func InitColumns(mh *TableData, parts []TableColumnData) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func AddTableTab(mytab *ui.Tab, mytabcount int, name string, rowcount int, parts []TableColumnData) *TableData {
|
func AddTableTab(mytab *ui.Tab, mytabcount int, name string, rowcount int, parts []TableColumnData, account *pb.Config_Account) *TableData {
|
||||||
mh := new(TableData)
|
mh := new(TableData)
|
||||||
|
|
||||||
mh.RowCount = rowcount
|
mh.RowCount = rowcount
|
||||||
|
@ -90,8 +90,8 @@ func AddTableTab(mytab *ui.Tab, mytabcount int, name string, rowcount int, parts
|
||||||
hbox := ui.NewHorizontalBox()
|
hbox := ui.NewHorizontalBox()
|
||||||
hbox.SetPadded(true)
|
hbox.SetPadded(true)
|
||||||
|
|
||||||
hbox.Append(CreateButton("Add Virtual Machine", "createAddVmBox", mouseClick), false)
|
hbox.Append(CreateButton(account, nil, "Add Virtual Machine", "createAddVmBox", mouseClick), false)
|
||||||
hbox.Append(CreateButton("Close", "CLOSE", mouseClick), false)
|
hbox.Append(CreateButton(account, nil, "Close", "CLOSE", mouseClick), false)
|
||||||
|
|
||||||
vbox.Append(hbox, false)
|
vbox.Append(hbox, false)
|
||||||
|
|
||||||
|
@ -193,48 +193,15 @@ func defaultFontButtonClick(button *ui.FontButton) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func CreateButton(name string, note string, custom func(*ButtonMap)) *ui.Button {
|
func CreateButton(a *pb.Config_Account, vm *pb.Event_VM,
|
||||||
|
name string, note string, custom func(*ButtonMap)) *ui.Button {
|
||||||
newB := ui.NewButton(name)
|
newB := ui.NewButton(name)
|
||||||
newB.OnClicked(defaultButtonClick)
|
newB.OnClicked(defaultButtonClick)
|
||||||
|
|
||||||
var newmap ButtonMap
|
var newmap ButtonMap
|
||||||
newmap.B = newB
|
newmap.B = newB
|
||||||
|
newmap.Account = a
|
||||||
newmap.Action = note
|
newmap.Action = note
|
||||||
// newmap.Name = name
|
|
||||||
newmap.custom = custom
|
|
||||||
Data.AllButtons = append(Data.AllButtons, newmap)
|
|
||||||
|
|
||||||
return newB
|
|
||||||
}
|
|
||||||
|
|
||||||
func CreateAccountButton(pbC *pb.Config_Account, custom func(*ButtonMap)) *ui.Button {
|
|
||||||
name := "Show " + pbC.Nick
|
|
||||||
newB := ui.NewButton(name)
|
|
||||||
newB.OnClicked(defaultButtonClick)
|
|
||||||
|
|
||||||
var newmap ButtonMap
|
|
||||||
newmap.B = newB
|
|
||||||
newmap.Account = pbC
|
|
||||||
newmap.Action = "SHOW"
|
|
||||||
// newmap.Name = name
|
|
||||||
// newmap.AccNick = account
|
|
||||||
newmap.custom = custom
|
|
||||||
Data.AllButtons = append(Data.AllButtons, newmap)
|
|
||||||
|
|
||||||
return newB
|
|
||||||
}
|
|
||||||
|
|
||||||
func CreateLoginButton(pbC *pb.Config_Account, custom func(*ButtonMap)) *ui.Button {
|
|
||||||
name := "Login " + pbC.Nick
|
|
||||||
newB := ui.NewButton(name)
|
|
||||||
newB.OnClicked(defaultButtonClick)
|
|
||||||
|
|
||||||
var newmap ButtonMap
|
|
||||||
newmap.B = newB
|
|
||||||
newmap.Account = pbC
|
|
||||||
newmap.Action = "LOGIN"
|
|
||||||
// newmap.Name = name
|
|
||||||
// newmap.AccNick = account
|
|
||||||
newmap.custom = custom
|
newmap.custom = custom
|
||||||
Data.AllButtons = append(Data.AllButtons, newmap)
|
Data.AllButtons = append(Data.AllButtons, newmap)
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@ import "log"
|
||||||
import "github.com/andlabs/ui"
|
import "github.com/andlabs/ui"
|
||||||
import _ "github.com/andlabs/ui/winmanifest"
|
import _ "github.com/andlabs/ui/winmanifest"
|
||||||
|
|
||||||
// import pb "git.wit.com/wit/witProtobuf"
|
import pb "git.wit.com/wit/witProtobuf"
|
||||||
// import "github.com/davecgh/go-spew/spew"
|
// import "github.com/davecgh/go-spew/spew"
|
||||||
|
|
||||||
func makeCloudInfoBox(custom func(*ButtonMap)) *ui.Box {
|
func makeCloudInfoBox(custom func(*ButtonMap)) *ui.Box {
|
||||||
|
@ -48,7 +48,7 @@ func makeCloudInfoBox(custom func(*ButtonMap)) *ui.Box {
|
||||||
hostnameEntry.SetText(tmp)
|
hostnameEntry.SetText(tmp)
|
||||||
hostnameEntry.SetReadOnly(true)
|
hostnameEntry.SetReadOnly(true)
|
||||||
|
|
||||||
hostnamebox.Append(CreateButton("Edit", "EDIT", custom), false)
|
hostnamebox.Append(CreateButton(nil, nil, "Edit", "EDIT", custom), false)
|
||||||
|
|
||||||
vbox.Append(ui.NewHorizontalSeparator(), false)
|
vbox.Append(ui.NewHorizontalSeparator(), false)
|
||||||
|
|
||||||
|
@ -72,10 +72,12 @@ func makeCloudInfoBox(custom func(*ButtonMap)) *ui.Box {
|
||||||
agrid.Append(ui.NewLabel(Data.Config.Accounts[key].Username), 2, row, 1, 1, true, ui.AlignFill, false, ui.AlignFill)
|
agrid.Append(ui.NewLabel(Data.Config.Accounts[key].Username), 2, row, 1, 1, true, ui.AlignFill, false, ui.AlignFill)
|
||||||
agrid.Append(ui.NewLabel(Data.Config.Accounts[key].Domainname), 3, row, 1, 1, true, ui.AlignFill, false, ui.AlignFill)
|
agrid.Append(ui.NewLabel(Data.Config.Accounts[key].Domainname), 3, row, 1, 1, true, ui.AlignFill, false, ui.AlignFill)
|
||||||
|
|
||||||
l := CreateLoginButton(Data.Config.Accounts[key], custom)
|
name := "Login " + Data.Config.Accounts[key].Nick
|
||||||
|
l := CreateButton(Data.Config.Accounts[key], nil, name, "LOGIN", custom)
|
||||||
agrid.Append(l, 4, row, 1, 1, true, ui.AlignFill, false, ui.AlignFill)
|
agrid.Append(l, 4, row, 1, 1, true, ui.AlignFill, false, ui.AlignFill)
|
||||||
|
|
||||||
b := CreateAccountButton(Data.Config.Accounts[key], custom)
|
name = "Show " + Data.Config.Accounts[key].Nick
|
||||||
|
b := CreateButton(Data.Config.Accounts[key], nil, name, "SHOW", custom)
|
||||||
agrid.Append(b, 5, row, 1, 1, true, ui.AlignFill, false, ui.AlignFill)
|
agrid.Append(b, 5, row, 1, 1, true, ui.AlignFill, false, ui.AlignFill)
|
||||||
|
|
||||||
row += 1
|
row += 1
|
||||||
|
@ -84,16 +86,16 @@ func makeCloudInfoBox(custom func(*ButtonMap)) *ui.Box {
|
||||||
row += 1
|
row += 1
|
||||||
agrid.Append(ui.NewLabel(""), 1, row, 1, 1, true, ui.AlignFill, false, ui.AlignFill)
|
agrid.Append(ui.NewLabel(""), 1, row, 1, 1, true, ui.AlignFill, false, ui.AlignFill)
|
||||||
row += 1
|
row += 1
|
||||||
a := CreateButton("Add Account", "ADD", custom)
|
a := CreateButton(nil, nil, "Add Account", "ADD", custom)
|
||||||
agrid.Append(a, 4, row, 1, 1, true, ui.AlignFill, false, ui.AlignFill)
|
agrid.Append(a, 4, row, 1, 1, true, ui.AlignFill, false, ui.AlignFill)
|
||||||
q := CreateButton("Quit", "QUIT", custom)
|
q := CreateButton(nil, nil, "Quit", "QUIT", custom)
|
||||||
agrid.Append(q, 5, row, 1, 1, true, ui.AlignFill, false, ui.AlignFill)
|
agrid.Append(q, 5, row, 1, 1, true, ui.AlignFill, false, ui.AlignFill)
|
||||||
|
|
||||||
vbox.Append(agrid, false)
|
vbox.Append(agrid, false)
|
||||||
return hbox
|
return hbox
|
||||||
}
|
}
|
||||||
|
|
||||||
func AddVmsTab(name string, count int) *TableData {
|
func AddVmsTab(name string, count int, a *pb.Config_Account) *TableData {
|
||||||
var parts []TableColumnData
|
var parts []TableColumnData
|
||||||
|
|
||||||
human := 0
|
human := 0
|
||||||
|
@ -147,6 +149,6 @@ func AddVmsTab(name string, count int) *TableData {
|
||||||
parts = append(parts, tmp)
|
parts = append(parts, tmp)
|
||||||
human += 1
|
human += 1
|
||||||
|
|
||||||
mh := AddTableTab(Data.cloudTab, 1, name, count, parts)
|
mh := AddTableTab(Data.cloudTab, 1, name, count, parts, a)
|
||||||
return mh
|
return mh
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,7 +45,7 @@ func ShowSplashBox(vbox *ui.Box, atest chan int, custom func(*ButtonMap)) *ui.Bo
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
okButton := CreateButton("OK", "DONE", custom)
|
okButton := CreateButton(nil, nil, "OK", "DONE", custom)
|
||||||
newbox.Append(okButton, false)
|
newbox.Append(okButton, false)
|
||||||
|
|
||||||
if (vbox != nil) {
|
if (vbox != nil) {
|
||||||
|
|
|
@ -64,8 +64,8 @@ type GuiDataStructure struct {
|
||||||
// a tab (maybe the one the user is playing with?)
|
// a tab (maybe the one the user is playing with?)
|
||||||
CurrentTab *GuiTabStructure
|
CurrentTab *GuiTabStructure
|
||||||
// a VM (maybe the one the user is playing with?)
|
// a VM (maybe the one the user is playing with?)
|
||||||
CurrentVM string
|
// CurrentVM string
|
||||||
CurrentPbVM *pb.Event_VM
|
CurrentVM *pb.Event_VM
|
||||||
|
|
||||||
// All the tabs
|
// All the tabs
|
||||||
Tabs []GuiTabStructure
|
Tabs []GuiTabStructure
|
||||||
|
@ -99,6 +99,7 @@ type ButtonMap struct {
|
||||||
B *ui.Button
|
B *ui.Button
|
||||||
FB *ui.FontButton
|
FB *ui.FontButton
|
||||||
Account *pb.Config_Account
|
Account *pb.Config_Account
|
||||||
|
VM *pb.Event_VM
|
||||||
Action string // what type of button
|
Action string // what type of button
|
||||||
|
|
||||||
custom func (*ButtonMap)
|
custom func (*ButtonMap)
|
||||||
|
@ -126,7 +127,7 @@ type RowData struct {
|
||||||
HumanData [20]HumanCellData
|
HumanData [20]HumanCellData
|
||||||
|
|
||||||
// The VM from the protobuf
|
// The VM from the protobuf
|
||||||
PbVM *pb.Event_VM
|
VM *pb.Event_VM
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@ -171,6 +172,8 @@ type TableData struct {
|
||||||
Cells [20]CellData
|
Cells [20]CellData
|
||||||
Human [20]HumanMap
|
Human [20]HumanMap
|
||||||
|
|
||||||
|
Account *pb.Config_Account // what account this table is for
|
||||||
|
|
||||||
lastRow int
|
lastRow int
|
||||||
lastColumn int
|
lastColumn int
|
||||||
parentTab *ui.Tab
|
parentTab *ui.Tab
|
||||||
|
|
|
@ -7,7 +7,7 @@ package gui
|
||||||
//
|
//
|
||||||
|
|
||||||
import "log"
|
import "log"
|
||||||
import "fmt"
|
// import "fmt"
|
||||||
import "image/color"
|
import "image/color"
|
||||||
import "runtime"
|
import "runtime"
|
||||||
|
|
||||||
|
@ -100,15 +100,15 @@ func defaultSetCellValue(mh *TableData, row int, column int) {
|
||||||
vmname := mh.Rows[row].HumanData[humanID].Text
|
vmname := mh.Rows[row].HumanData[humanID].Text
|
||||||
log.Println("vmname =", vmname)
|
log.Println("vmname =", vmname)
|
||||||
log.Println("defaultSetCellValue() FOUND THE BUTTON!!!!!!! Button was pressed START", row, column)
|
log.Println("defaultSetCellValue() FOUND THE BUTTON!!!!!!! Button was pressed START", row, column)
|
||||||
Data.CurrentVM = fmt.Sprintf("%s",vmname)
|
// Data.CurrentVM = fmt.Sprintf("%s",vmname)
|
||||||
Data.CurrentPbVM = mh.Rows[row].PbVM
|
Data.CurrentVM = mh.Rows[row].VM
|
||||||
log.Println("User last clicked on Data.CurrentVM =", Data.CurrentVM)
|
log.Println("User last clicked on Data.CurrentVM =", mh.Rows[row].VM)
|
||||||
if (Data.Debug) {
|
if (Data.Debug) {
|
||||||
go ui.Main(ShowVM)
|
go ui.Main(ShowVM)
|
||||||
} else {
|
} else {
|
||||||
// AddVmConfigureTab(vmname, mh.Rows[row].PbVM)
|
// AddVmConfigureTab(vmname, mh.Rows[row].PbVM)
|
||||||
// createVmBox(Data.cloudTab, buttonVmClick, mh.Rows[row].PbVM)
|
// createVmBox(Data.cloudTab, buttonVmClick, mh.Rows[row].PbVM)
|
||||||
createVmBox(Data.cloudTab, mouseClick, mh.Rows[row].PbVM)
|
createVmBox(Data.cloudTab, mouseClick, mh.Rows[row].VM)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
26
vmWindow.go
26
vmWindow.go
|
@ -11,7 +11,7 @@ import "github.com/davecgh/go-spew/spew"
|
||||||
import pb "git.wit.com/wit/witProtobuf"
|
import pb "git.wit.com/wit/witProtobuf"
|
||||||
|
|
||||||
func ShowVM() {
|
func ShowVM() {
|
||||||
name := Data.CurrentVM
|
name := Data.CurrentVM.Name
|
||||||
log.Println("ShowVM() START Data.CurrentVM=", Data.CurrentVM)
|
log.Println("ShowVM() START Data.CurrentVM=", Data.CurrentVM)
|
||||||
VMwin := ui.NewWindow("VM " + name, 500, 300, false)
|
VMwin := ui.NewWindow("VM " + name, 500, 300, false)
|
||||||
VMwin.OnClosing(func(*ui.Window) bool {
|
VMwin.OnClosing(func(*ui.Window) bool {
|
||||||
|
@ -27,12 +27,12 @@ func ShowVM() {
|
||||||
VMwin.SetChild(VMtab)
|
VMwin.SetChild(VMtab)
|
||||||
VMwin.SetMargined(true)
|
VMwin.SetMargined(true)
|
||||||
|
|
||||||
createVmBox(VMtab, mouseClick, Data.CurrentPbVM)
|
createVmBox(VMtab, mouseClick, Data.CurrentVM)
|
||||||
VMwin.Show()
|
VMwin.Show()
|
||||||
}
|
}
|
||||||
|
|
||||||
func AddVmConfigureTab(name string, pbVM *pb.Event_VM) {
|
func AddVmConfigureTab(name string, pbVM *pb.Event_VM) {
|
||||||
createVmBox(Data.cloudTab, mouseClick, Data.CurrentPbVM)
|
createVmBox(Data.cloudTab, mouseClick, Data.CurrentVM)
|
||||||
}
|
}
|
||||||
|
|
||||||
// makeEntryBox(box, "hostname:", "blah.foo.org") {
|
// makeEntryBox(box, "hostname:", "blah.foo.org") {
|
||||||
|
@ -108,15 +108,15 @@ func createVmBox(tab *ui.Tab, custom func(*ButtonMap), pbVM *pb.Event_VM) {
|
||||||
hboxButtons.SetPadded(true)
|
hboxButtons.SetPadded(true)
|
||||||
vbox.Append(hboxButtons, false)
|
vbox.Append(hboxButtons, false)
|
||||||
|
|
||||||
hboxButtons.Append(CreateButton("Power On", "POWERON", custom), false)
|
hboxButtons.Append(CreateButton(nil, pbVM, "Power On", "POWERON", custom), false)
|
||||||
hboxButtons.Append(CreateButton("Power Off", "POWEROFF", custom), false)
|
hboxButtons.Append(CreateButton(nil, pbVM, "Power Off", "POWEROFF", custom), false)
|
||||||
hboxButtons.Append(CreateButton("Destroy", "DESTROY", custom), false)
|
hboxButtons.Append(CreateButton(nil, pbVM, "Destroy", "DESTROY", custom), false)
|
||||||
hboxButtons.Append(CreateButton("ping", "PING", runPingClick), false)
|
hboxButtons.Append(CreateButton(nil, pbVM, "ping", "PING", runPingClick), false)
|
||||||
hboxButtons.Append(CreateButton("Console", "XTERM", runTestExecClick), false)
|
hboxButtons.Append(CreateButton(nil, pbVM, "Console", "XTERM", runTestExecClick), false)
|
||||||
hboxButtons.Append(CreateButton("Save", "SAVE", custom), false)
|
hboxButtons.Append(CreateButton(nil, pbVM, "Save", "SAVE", custom), false)
|
||||||
hboxButtons.Append(CreateButton("Done", "DONE", custom), false)
|
hboxButtons.Append(CreateButton(nil, pbVM, "Done", "DONE", custom), false)
|
||||||
|
|
||||||
tab.Append(Data.CurrentVM, vbox)
|
tab.Append(Data.CurrentVM.Name, vbox)
|
||||||
tab.SetMargined(0, true)
|
tab.SetMargined(0, true)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -138,8 +138,8 @@ func createAddVmBox(tab *ui.Tab, name string, custom func(*ButtonMap)) {
|
||||||
hboxButtons.SetPadded(true)
|
hboxButtons.SetPadded(true)
|
||||||
vbox.Append(hboxButtons, false)
|
vbox.Append(hboxButtons, false)
|
||||||
|
|
||||||
hboxButtons.Append(CreateButton("Add Virtual Machine", "CREATE", custom), false)
|
hboxButtons.Append(CreateButton(nil, nil, "Add Virtual Machine", "CREATE", custom), false)
|
||||||
hboxButtons.Append(CreateButton("Cancel", "DONE", custom), false)
|
hboxButtons.Append(CreateButton(nil, nil, "Cancel", "DONE", custom), false)
|
||||||
|
|
||||||
tab.Append(name, vbox)
|
tab.Append(name, vbox)
|
||||||
tab.SetMargined(0, true)
|
tab.SetMargined(0, true)
|
||||||
|
|
Loading…
Reference in New Issue