make a buttonMap
Signed-off-by: Jeff Carr <jcarr@wit.com>
This commit is contained in:
parent
a030afb2bd
commit
584e3b60d4
|
@ -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)
|
||||||
|
|
||||||
|
|
2
debug.go
2
debug.go
|
@ -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
4
gui.go
|
@ -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
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue