diff --git a/gui.go b/gui.go index 89e8011..77f6f3d 100644 --- a/gui.go +++ b/gui.go @@ -66,6 +66,7 @@ type ButtonMap struct { custom func (int, string) Name string // the text on the button Note string // what type of button + AccNick string // what account this button is for } /* @@ -182,8 +183,10 @@ func defaultButtonClick(button *ui.Button) { } else if Data.allButtons[key].custom != nil { Data.allButtons[key].custom(42, "BUTTON DOES NOTHING") } + return } } + log.Println("\tBUTTON NOT FOUND") } func defaultFontButtonClick(button *ui.FontButton) { @@ -208,6 +211,23 @@ func CreateButton(name string, note string, custom func(int, string)) *ui.Button return newB } +func CreateAccountButton(account string, custom func(int, string)) *ui.Button { + name := "Show " + account + newB := ui.NewButton(name) + + newB.OnClicked(defaultButtonClick) + + var newmap ButtonMap + newmap.B = newB + newmap.Note = "SHOW" + newmap.Name = name + newmap.AccNick = account + newmap.custom = custom + Data.allButtons = append(Data.allButtons, newmap) + + return newB +} + func CreateFontButton(name string, note string, custom func(int, string)) *ui.FontButton { newB := ui.NewFontButton() @@ -216,7 +236,6 @@ func CreateFontButton(name string, note string, custom func(int, string)) *ui.Fo var newmap ButtonMap newmap.FB = newB newmap.Note = note - newmap.Name = name newmap.custom = custom Data.allButtons = append(Data.allButtons, newmap) diff --git a/infoTabUI.go b/infoTabUI.go index a952607..957034c 100644 --- a/infoTabUI.go +++ b/infoTabUI.go @@ -83,11 +83,10 @@ func makeCloudInfoBox(custom func(int, string)) *ui.Box { agrid.Append(ui.NewLabel(account), 1, row, 1, 1, true, ui.AlignFill, false, ui.AlignFill) agrid.Append(ui.NewLabel(username), 2, row, 1, 1, true, ui.AlignFill, false, ui.AlignFill) agrid.Append(ui.NewLabel(domainname), 3, row, 1, 1, true, ui.AlignFill, false, ui.AlignFill) - bname := "Open " + account - b := CreateButton(bname, "SHOW", custom) + + b := CreateAccountButton(account, custom) agrid.Append(b, 4, row, 1, 1, true, ui.AlignFill, false, ui.AlignFill) - // vbox.Append(ui.NewLabel(a), false) row += 1 } @@ -135,7 +134,7 @@ func addTableTab() { AddTableTab(Data.cloudTab, 1, "test seven", 7, parts) } -func AddVmsTab(count int) *TableData { +func AddVmsTab(name string, count int) *TableData { var parts []TableColumnData human := 0 @@ -189,7 +188,7 @@ func AddVmsTab(count int) *TableData { parts = append(parts, tmp) human += 1 - mh := AddTableTab(Data.cloudTab, 1, "Virtual Machines", count, parts) + mh := AddTableTab(Data.cloudTab, 1, name, count, parts) return mh }