GOOD: add Node.SetMargined()

Signed-off-by: Jeff Carr <jcarr@wit.com>
This commit is contained in:
Jeff Carr 2021-11-04 01:12:42 -05:00
parent 20899fc2b4
commit 50a33262c1
3 changed files with 55 additions and 2 deletions

View File

@ -1,6 +1,6 @@
package gui
// import "log"
import "log"
import "github.com/andlabs/ui"
import _ "github.com/andlabs/ui/winmanifest"
@ -71,3 +71,40 @@ func (n *Node) MakeBasicControlsPage(title string) *Node {
newNode.uiBox = vbox
return newNode
}
func (n *Node) MakeGroupEdit(title string) *Node {
n.Dump()
group := ui.NewGroup(title)
group.SetMargined(true)
n.uiBox.Append(group, true)
entrybox := ui.NewNonWrappingMultilineEntry()
group.SetChild(entrybox)
log.Println("entrybox =", entrybox)
n.uiMultilineEntry = entrybox
newNode := n.AddNode(title)
newNode.uiMultilineEntry = entrybox
newNode.uiGroup = group
return newNode
/*
panic("dump")
entryForm := ui.NewForm()
entryForm.SetPadded(true)
group.SetChild(entryForm)
entryForm.Append("Entry", ui.NewEntry(), false)
entryForm.Append("Password Entry", ui.NewPasswordEntry(), false)
entryForm.Append("Search Entry", ui.NewSearchEntry(), false)
entryForm.Append("Multiline Entry", ui.NewMultilineEntry(), true)
entryForm.Append("Multiline Entry No Wrap", ui.NewNonWrappingMultilineEntry(), true)
origbox.Append(vbox, false)
newNode := n.AddNode(title)
newNode.uiBox = vbox
*/
return n
}

View File

@ -1,6 +1,7 @@
package gui
import "log"
import "errors"
// import "fmt"
import "github.com/andlabs/ui"
@ -29,8 +30,21 @@ 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")
}
func (n *Node) SetMargined(x bool) {
if (n.uiGroup != nil) {
n.uiGroup.SetMargined(x)
return
}
log.Println("Couldn't find something that has a Margin setting")
}
func defaultEntryChange(e *ui.Entry) {
for key, em := range Data.AllEntries {

View File

@ -65,6 +65,8 @@ type Node struct {
uiBox *ui.Box
uiArea *ui.Area
uiText *ui.EditableCombobox
uiMultilineEntry *ui.MultilineEntry
uiGroup *ui.Group
}
func (n *Node) Parent() *Node {