diff options
| author | Jeff Carr <[email protected]> | 2022-10-08 23:51:48 -0500 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2022-10-08 23:51:48 -0500 |
| commit | dd7d277a86f25116cc1c0130a763409a166d49b4 (patch) | |
| tree | 7bf1f9b67f2f3d34e5153ccfa0b60c72cf9fb774 /entry.go | |
| parent | 086986b6b8f55d15d18595bcbf3f76c023365b61 (diff) | |
Try renaming 'Node' to 'Box'
Diffstat (limited to 'entry.go')
| -rw-r--r-- | entry.go | 104 |
1 files changed, 88 insertions, 16 deletions
@@ -1,25 +1,45 @@ package gui import "log" -import "errors" -// import "fmt" +import "fmt" import "github.com/andlabs/ui" -// import ui "git.wit.org/interesting/andlabs-ui" import _ "github.com/andlabs/ui/winmanifest" -// import "github.com/davecgh/go-spew/spew" +import "github.com/davecgh/go-spew/spew" // functions for handling text entry boxes +func NewLabel(box *GuiBox, text string) { + box.Append(ui.NewLabel(text), false) +} + func (n *Node) NewLabel(text string) *Node { // make new node here -newNode := n.makeNode(text, 333, 334) + // n.Append(ui.NewLabel(text), false) + newNode := makeNode(n, text, 333, 334) newNode.Dump() + // panic("node.NewLabel()") n.Append(newNode) return newNode } +func (b *GuiBox) GetText(name string) string { + if (b.Window.EntryMap == nil) { + log.Println("gui.GetText() ERROR b.Box.Window.EntryMap == nil") + return "" + } + spew.Dump(b.Window.EntryMap) + if (b.Window.EntryMap[name] == nil) { + log.Println("gui.GetText() ERROR box.Window.EntryMap[", name, "] == nil ") + return "" + } + e := b.Window.EntryMap[name] + log.Println("gui.GetText() box.Window.EntryMap[", name, "] = ", e.UiEntry.Text()) + log.Println("gui.GetText() END") + return e.UiEntry.Text() +} + func (n *Node) SetText(value string) error { log.Println("gui.SetText() value =", value) if (n.uiText != nil) { @@ -30,20 +50,72 @@ func (n *Node) SetText(value string) error { n.uiButton.SetText(value) return nil } - if (n.uiMultilineEntry != nil) { - n.uiMultilineEntry.SetText(value) - return nil - } - n.Dump() - return errors.New("couldn't find something to set the text to") + return nil } -func (n *Node) SetMargined(x bool) { - if (n.uiGroup != nil) { - n.uiGroup.SetMargined(x) - return +func SetText(box *GuiBox, name string, value string) error { + if (box == nil) { + return fmt.Errorf("gui.SetText() ERROR box == nil") + } + if (box.Window.EntryMap == nil) { + return fmt.Errorf("gui.SetText() ERROR b.Box.Window.EntryMap == nil") + } + spew.Dump(box.Window.EntryMap) + if (box.Window.EntryMap[name] == nil) { + return fmt.Errorf("gui.SetText() ERROR box.Window.EntryMap[" + name + "] == nil ") } - log.Println("Couldn't find something that has a Margin setting") + e := box.Window.EntryMap[name] + log.Println("gui.SetText() box.Window.EntryMap[", name, "] = ", e.UiEntry.Text()) + e.UiEntry.SetText(value) + log.Println("gui.SetText() box.Window.EntryMap[", name, "] = ", e.UiEntry.Text()) + log.Println("gui.SetText() END") + return nil +} + +// makeEntryBox(box, "hostname:", "blah.foo.org") { +func MakeEntryVbox(box *GuiBox, a string, startValue string, edit bool, action string) *GuiEntry { + // Start 'Nickname' vertical box + vboxN := ui.NewVerticalBox() + vboxN.SetPadded(true) + vboxN.Append(ui.NewLabel(a), false) + + e := defaultMakeEntry(startValue, edit, action) + + vboxN.Append(e.UiEntry, false) + box.UiBox.Append(vboxN, false) + // End 'Nickname' vertical box + + return e +} + +func MakeEntryHbox(box *GuiBox, a string, startValue string, edit bool, action string) *GuiEntry { + hboxN := ui.NewHorizontalBox() + hboxN.SetPadded(true) + hboxN.Append(ui.NewLabel(a), false) + + e := defaultMakeEntry(startValue, edit, action) + hboxN.Append(e.UiEntry, true) + + box.UiBox.Append(hboxN, true) + + return e +} + +func AddEntry(box *GuiBox, name string) *GuiEntry { + var ge *GuiEntry + ge = new(GuiEntry) + + ue := ui.NewEntry() + ue.SetReadOnly(false) + ue.OnChanged(func(*ui.Entry) { + log.Println("gui.AddEntry() OK. ue.Text() =", ue.Text()) + }) + box.UiBox.Append(ue, false) + + ge.UiEntry = ue + box.Window.EntryMap[name] = ge + + return ge } func defaultEntryChange(e *ui.Entry) { |
