From 7f6059a8e0f83bb4b450c1264195f08fe1280f05 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Mon, 1 Jan 2024 16:19:40 -0600 Subject: initial commit --- basicLabel.go | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 basicLabel.go (limited to 'basicLabel.go') diff --git a/basicLabel.go b/basicLabel.go new file mode 100644 index 0000000..1cd6d3a --- /dev/null +++ b/basicLabel.go @@ -0,0 +1,60 @@ +/* + A Labeled label: + + ----------------------------- + | | | + | Food: | Apple | + | | | + ----------------------------- +*/ +package gadgets + +import ( + "go.wit.com/log" + "go.wit.com/gui/gui" +) + +type Node gui.Node + +type BasicLabel struct { + p *gui.Node // parent widget + l *gui.Node // label widget + v *gui.Node // value widget + + value string + label string + + Custom func() +} + +func (n *BasicLabel) Get() string { + return n.value +} + +func (n *BasicLabel) Set(value string) *BasicLabel { + log.Println("BasicLabel.Set() =", value) + if (n.v != nil) { + n.v.Set(value) + } + n.value = value + return n +} + +func (ngui *Node) NewBasicLabel(name string) *BasicLabel { + var n *gui.Node + n = (*gui.Node)(ngui) + d := BasicLabel { + p: n, + value: "", + } + + // various timeout settings + d.l = n.NewLabel(name) + d.v = n.NewLabel("") + d.v.Custom = func() { + d.value = d.v.S + log.Println("BasicLabel.Custom() user changed value to =", d.value) + } + + return &d +} -- cgit v1.2.3