make a buttonMap

Signed-off-by: Jeff Carr <jcarr@wit.com>
This commit is contained in:
Jeff Carr 2019-06-02 22:22:04 -07:00
parent a030afb2bd
commit 584e3b60d4
4 changed files with 7 additions and 6 deletions

View File

@ -50,7 +50,7 @@ func guiButtonClick(button *GuiButton) {
} }
} }
func NewCreateButton(box *GuiBox, custom func(*GuiButton), name string, values interface {}) *GuiButton { func CreateButton(box *GuiBox, custom func(*GuiButton), name string, values interface {}) *GuiButton {
newUiB := ui.NewButton(name) newUiB := ui.NewButton(name)
newUiB.OnClicked(defaultButtonClick) newUiB.OnClicked(defaultButtonClick)

View File

@ -19,7 +19,7 @@ func WatchGUI() {
for { for {
if (count > 20) { if (count > 20) {
log.Println("Sleep() in watchGUI() Data.State =", Data.State) log.Println("Sleep() in watchGUI()")
for i, window := range Data.Windows { for i, window := range Data.Windows {
log.Println("watchGUI() Data.Windows", i, "Name =", window.Name) log.Println("watchGUI() Data.Windows", i, "Name =", window.Name)
for name, abox := range window.BoxMap { for name, abox := range window.BoxMap {

4
gui.go
View File

@ -11,6 +11,7 @@ const Xaxis = 0
const Yaxis = 1 const Yaxis = 1
func GuiInit() { func GuiInit() {
Data.buttonMap = make(map[*ui.Button]*GuiButton)
ui.OnShouldQuit(func() bool { ui.OnShouldQuit(func() bool {
ui.Quit() ui.Quit()
return true return true
@ -31,6 +32,9 @@ func InitGuiWindow(action string, gw *GuiWindow) *GuiWindow {
newGuiWindow.EntryMap["test"] = nil newGuiWindow.EntryMap["test"] = nil
Data.Windows = append(Data.Windows, &newGuiWindow) Data.Windows = append(Data.Windows, &newGuiWindow)
if (Data.buttonMap == nil) {
GuiInit()
}
log.Println("InitGuiWindow() END *GuiWindow =", &newGuiWindow) log.Println("InitGuiWindow() END *GuiWindow =", &newGuiWindow)
return &newGuiWindow return &newGuiWindow
} }

View File

@ -22,8 +22,6 @@ type GuiConfig struct {
} }
type GuiData struct { type GuiData struct {
State string // used like a state machine
// a fallback default function to handle mouse events // a fallback default function to handle mouse events
// if nothing else is defined to handle them // if nothing else is defined to handle them
MouseClick func(*GuiButton) MouseClick func(*GuiButton)
@ -39,6 +37,7 @@ type GuiData struct {
// This has to work this way because of how // This has to work this way because of how
// andlabs/ui & andlabs/libui work // andlabs/ui & andlabs/libui work
AllButtons []*GuiButton AllButtons []*GuiButton
buttonMap map[*ui.Button]*GuiButton
} }
// //
@ -61,7 +60,6 @@ type GuiData struct {
// //
type GuiWindow struct { type GuiWindow struct {
Name string // field for human readable name Name string // field for human readable name
// Action string
Width int Width int
Height int Height int
@ -108,7 +106,6 @@ type GuiButton struct {
// text entry fields // text entry fields
type GuiEntry struct { type GuiEntry struct {
Name string // field for human readable name Name string // field for human readable name
// Action string // what type of button
Edit bool Edit bool
Last string // the last value Last string // the last value
Normalize func (string) string // function to 'normalize' the data Normalize func (string) string // function to 'normalize' the data