summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2019-05-24 13:23:50 -0700
committerJeff Carr <[email protected]>2019-05-24 13:23:50 -0700
commit858f7fd93cf77bdb7bafbae0f58af6eae1766aec (patch)
treeef6836c593eeb1def1860fc33e60c110f51e16b5
parent238c39de36931ad81427d964228cd5bc0c3ea60a (diff)
button handling almost completely cleaned up
Signed-off-by: Jeff Carr <[email protected]>
-rw-r--r--addAccount.go4
-rw-r--r--area.go2
-rw-r--r--debug.go4
-rw-r--r--gui.go47
-rw-r--r--mainCloudBox.go2
-rw-r--r--splash.go2
-rw-r--r--structs.go2
-rw-r--r--tableCallbacks.go2
-rw-r--r--vmWindow.go25
9 files changed, 42 insertions, 48 deletions
diff --git a/addAccount.go b/addAccount.go
index 8b9f395..bfb4720 100644
--- a/addAccount.go
+++ b/addAccount.go
@@ -5,7 +5,7 @@ import "log"
import "github.com/andlabs/ui"
import _ "github.com/andlabs/ui/winmanifest"
-func AddAccountQuestionBox(junk *ui.Box, custom func(*ButtonMap, string)) *ui.Box {
+func AddAccountQuestionBox(junk *ui.Box, custom func(*ButtonMap)) *ui.Box {
newbox := ui.NewVerticalBox()
newbox.SetPadded(true)
@@ -20,7 +20,7 @@ func AddAccountQuestionBox(junk *ui.Box, custom func(*ButtonMap, string)) *ui.Bo
return newbox
}
-func AddAccountBox(custom func(*ButtonMap, string)) *ui.Box {
+func AddAccountBox(custom func(*ButtonMap)) *ui.Box {
vbox := ui.NewVerticalBox()
vbox.SetPadded(true)
diff --git a/area.go b/area.go
index e1f9e36..05c4847 100644
--- a/area.go
+++ b/area.go
@@ -7,7 +7,7 @@ import _ "github.com/andlabs/ui/winmanifest"
import "github.com/davecgh/go-spew/spew"
-func makeSplashArea(custom func(*ButtonMap, string)) *ui.Area {
+func makeSplashArea(custom func(*ButtonMap)) *ui.Area {
// make this button just to get the default font (but don't display the button)
// There should be another way to do this (?)
Data.fontButton = CreateFontButton("SplashFont", "DONE", custom)
diff --git a/debug.go b/debug.go
index 82e64af..31fc0f1 100644
--- a/debug.go
+++ b/debug.go
@@ -56,7 +56,7 @@ func addTableTab() {
AddTableTab(Data.cloudTab, 1, "test seven", 7, parts)
}
-func addDebuggingButtons(vbox *ui.Box, custom func(*ButtonMap, string)) {
+func addDebuggingButtons(vbox *ui.Box, custom func(*ButtonMap)) {
vbox.Append(ui.NewLabel("Debugging:"), false)
vbox.Append(ui.NewColorButton(), false)
@@ -116,7 +116,7 @@ func addDebuggingButtons(vbox *ui.Box, custom func(*ButtonMap, string)) {
vbox.Append(CreateButton("Load test.json config file", "CONFIG", custom), false)
}
-func runTestExecClick(b *ButtonMap, msg string) {
+func runTestExecClick(b *ButtonMap) {
log.Println("runTestExecClick START")
if runtime.GOOS == "linux" {
go runCommand("xterm -report-fonts")
diff --git a/gui.go b/gui.go
index a583305..2c0ad6f 100644
--- a/gui.go
+++ b/gui.go
@@ -105,25 +105,33 @@ func AddTableTab(mytab *ui.Tab, mytabcount int, name string, rowcount int, parts
// something specific will fall into this routine
// By default, all it runs is the call back to
// the main program that is using this library
-func mouseClick(b *ButtonMap, s string) {
- log.Println("gui.mouseClick() START b, s =", b, s)
- if (Data.MouseClick != nil) {
+// This is one of the routines that is called from the
+// defaultButtonClick() below when the button is found
+// in the AllButtons %map
+// TODO: clean up the text above
+func mouseClick(b *ButtonMap) {
+ log.Println("gui.mouseClick() START b =", b)
+
+ if (Data.MouseClick == nil) {
+ log.Println("Data.MouseClick() IS nil. NOT DOING ANYTHING")
+ } else {
log.Println("\tData.MouseClick() START")
Data.MouseClick(b)
}
}
-// This is one of the routines that is called from the
-// defaultButtonClick() below when the button is found
-// in the AllButtons %map
-func buttonMapClick(b *ButtonMap, s string) {
+/*
+func buttonMapClick(b *ButtonMap) {
log.Println("gui.buttonVmClick() START")
- if (Data.MouseClick != nil) {
- log.Println("Data.ButtonClick() START")
- Data.MouseClick(nil)
+ if (Data.MouseClick == nil) {
+ log.Println("Data.MouseClick() IS nil. NOT DOING ANYTHING")
+ } else {
+ log.Println("Data.MouseClick() START")
+ Data.MouseClick(b)
}
}
+*/
// This is the raw routine passed to every button in andlabs libui / ui
func defaultButtonClick(button *ui.Button) {
@@ -132,11 +140,14 @@ func defaultButtonClick(button *ui.Button) {
log.Println("Data.AllButtons =", key, foo)
if Data.AllButtons[key].B == button {
log.Println("\tBUTTON MATCHED")
- log.Println("\tData.AllButtons[key].Name", Data.AllButtons[key].Name)
- log.Println("\tData.AllButtons[key].Note", Data.AllButtons[key].Note)
+ log.Println("\tData.AllButtons[key].Name =", Data.AllButtons[key].Name)
+ log.Println("\tData.AllButtons[key].Note =", Data.AllButtons[key].Note)
if Data.AllButtons[key].custom != nil {
log.Println("\tDOING CUSTOM FUNCTION")
- Data.AllButtons[key].custom(&Data.AllButtons[key], "SOMETHING CUSTOM")
+ var tmp ButtonMap
+ tmp = Data.AllButtons[key]
+ spew.Dump(tmp)
+ Data.AllButtons[key].custom(&tmp)
return
}
if (Data.MouseClick != nil) {
@@ -162,7 +173,7 @@ func defaultFontButtonClick(button *ui.FontButton) {
}
}
-func CreateButton(name string, note string, custom func(*ButtonMap, string)) *ui.Button {
+func CreateButton(name string, note string, custom func(*ButtonMap)) *ui.Button {
newB := ui.NewButton(name)
newB.OnClicked(defaultButtonClick)
@@ -177,7 +188,7 @@ func CreateButton(name string, note string, custom func(*ButtonMap, string)) *ui
return newB
}
-func CreateAccountButton(account string, custom func(*ButtonMap, string)) *ui.Button {
+func CreateAccountButton(account string, custom func(*ButtonMap)) *ui.Button {
name := "Show " + account
newB := ui.NewButton(name)
@@ -194,7 +205,7 @@ func CreateAccountButton(account string, custom func(*ButtonMap, string)) *ui.Bu
return newB
}
-func CreateLoginButton(account string, custom func(*ButtonMap, string)) *ui.Button {
+func CreateLoginButton(account string, custom func(*ButtonMap)) *ui.Button {
name := "Login " + account
newB := ui.NewButton(name)
@@ -211,7 +222,7 @@ func CreateLoginButton(account string, custom func(*ButtonMap, string)) *ui.Butt
return newB
}
-func CreateFontButton(name string, note string, custom func(*ButtonMap, string)) *ui.FontButton {
+func CreateFontButton(name string, note string, custom func(*ButtonMap)) *ui.FontButton {
newB := ui.NewFontButton()
newB.OnChanged(defaultFontButtonClick)
@@ -242,7 +253,7 @@ func addVmButtonClick(button *ui.Button) {
if (Data.Debug) {
spew.Dump(button)
}
- createAddVmBox(Data.cloudTab, "Create New Virtual Machine", buttonMapClick)
+ createAddVmBox(Data.cloudTab, "Create New Virtual Machine", mouseClick)
}
func addVmButton(name string) ui.Control {
diff --git a/mainCloudBox.go b/mainCloudBox.go
index 1e1292a..02e4d03 100644
--- a/mainCloudBox.go
+++ b/mainCloudBox.go
@@ -11,7 +11,7 @@ import _ "github.com/andlabs/ui/winmanifest"
// import "github.com/davecgh/go-spew/spew"
-func makeCloudInfoBox(custom func(*ButtonMap, string)) *ui.Box {
+func makeCloudInfoBox(custom func(*ButtonMap)) *ui.Box {
hbox := ui.NewHorizontalBox()
hbox.SetPadded(true)
diff --git a/splash.go b/splash.go
index 2f46ed3..b60445c 100644
--- a/splash.go
+++ b/splash.go
@@ -10,7 +10,7 @@ import "runtime"
import "github.com/andlabs/ui"
import _ "github.com/andlabs/ui/winmanifest"
-func ShowSplashBox(vbox *ui.Box, atest chan int, custom func(*ButtonMap, string)) *ui.Box {
+func ShowSplashBox(vbox *ui.Box, atest chan int, custom func(*ButtonMap)) *ui.Box {
newbox := ui.NewVerticalBox()
newbox.SetPadded(true)
diff --git a/structs.go b/structs.go
index bbbbfaf..e868fde 100644
--- a/structs.go
+++ b/structs.go
@@ -101,7 +101,7 @@ type ButtonMap struct {
FB *ui.FontButton
onClick func (int, string)
onChanged func (int, string)
- custom func (*ButtonMap, string)
+ custom func (*ButtonMap)
Name string // the text on the button
Note string // what type of button
AccNick string // what account this button is for
diff --git a/tableCallbacks.go b/tableCallbacks.go
index 67e414b..a7479f6 100644
--- a/tableCallbacks.go
+++ b/tableCallbacks.go
@@ -108,7 +108,7 @@ func defaultSetCellValue(mh *TableData, row int, column int) {
} else {
// AddVmConfigureTab(vmname, mh.Rows[row].PbVM)
// createVmBox(Data.cloudTab, buttonVmClick, mh.Rows[row].PbVM)
- createVmBox(Data.cloudTab, buttonMapClick, mh.Rows[row].PbVM)
+ createVmBox(Data.cloudTab, mouseClick, mh.Rows[row].PbVM)
}
}
}
diff --git a/vmWindow.go b/vmWindow.go
index 1864670..ca25a9d 100644
--- a/vmWindow.go
+++ b/vmWindow.go
@@ -27,19 +27,12 @@ func ShowVM() {
VMwin.SetChild(VMtab)
VMwin.SetMargined(true)
- createVmBox(VMtab, buttonMapClick, Data.CurrentPbVM)
-// vmBox := createVmBox(buttonVmClick)
-// VMtab.Append(Data.CurrentVM, vmBox)
-// VMtab.SetMargined(0, true)
-
+ createVmBox(VMtab, mouseClick, Data.CurrentPbVM)
VMwin.Show()
}
func AddVmConfigureTab(name string, pbVM *pb.Event_VM) {
- createVmBox(Data.cloudTab, buttonMapClick, Data.CurrentPbVM)
-// vmBox := createVmBox(Data.cloudTab, buttonVmClick)
-// Data.cloudTab.Append(name, vmBox)
-// Data.cloudTab.SetMargined(0, true)
+ createVmBox(Data.cloudTab, mouseClick, Data.CurrentPbVM)
}
// makeEntryBox(box, "hostname:", "blah.foo.org") {
@@ -87,7 +80,7 @@ func makeEntryHbox(hbox *ui.Box, a string, b string, edit bool) {
// End 'Nickname' vertical box
}
-func createVmBox(tab *ui.Tab, custom func(b *ButtonMap,s string), pbVM *pb.Event_VM) {
+func createVmBox(tab *ui.Tab, custom func(*ButtonMap), pbVM *pb.Event_VM) {
log.Println("createVmBox() START")
log.Println("createVmBox() pbVM.Name", pbVM.Name)
spew.Dump(pbVM)
@@ -126,7 +119,7 @@ func createVmBox(tab *ui.Tab, custom func(b *ButtonMap,s string), pbVM *pb.Event
tab.SetMargined(0, true)
}
-func createAddVmBox(tab *ui.Tab, name string, custom func(b *ButtonMap,s string)) {
+func createAddVmBox(tab *ui.Tab, name string, custom func(*ButtonMap)) {
log.Println("createAddVmBox() START")
vbox := ui.NewVerticalBox()
vbox.SetPadded(true)
@@ -150,13 +143,3 @@ func createAddVmBox(tab *ui.Tab, name string, custom func(b *ButtonMap,s string)
tab.Append(name, vbox)
tab.SetMargined(0, true)
}
-
-/*
-func buttonVmClick(b *ButtonMap, s string) {
- log.Println("gui.buttonVmClick() START")
- if (Data.MouseClick != nil) {
- log.Println("Data.ButtonClick() START")
- Data.MouseClick(nil)
- }
-}
-*/