From 51929bdde255954318eb7c41fae97f620a613f78 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Thu, 4 Jan 2024 12:23:36 -0600 Subject: working log window Signed-off-by: Jeff Carr --- logFlag.go | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 logFlag.go (limited to 'logFlag.go') diff --git a/logFlag.go b/logFlag.go new file mode 100644 index 0000000..1471a7e --- /dev/null +++ b/logFlag.go @@ -0,0 +1,54 @@ +/* + A log.Flag + + ----------------------------------------------- + | | | + | [ X ] | INFO (controls log.Info() | + | | | + ----------------------------------------------- +*/ +package gadgets + +import ( + "go.wit.com/log" + "go.wit.com/gui/gui" +) + +type LogFlag struct { + p *gui.Node // parent widget + c *gui.Node // checkbox widget + + name string + subsystem string + desc string + b bool + + Custom func() +} + +func (f *LogFlag) Get() bool { + return log.Get(f.subsystem, f.name) +} + +func (f *LogFlag) Set(b bool) { + log.Println("LogFlag.Set() =", b) + log.Set(f.subsystem, f.name, b) +} + +func NewLogFlag(n *gui.Node, lf *log.LogFlag) *LogFlag { + f := LogFlag { + name: lf.Name, + subsystem: lf.Subsystem, + desc: lf.Desc, + p: n, + } + + // various timeout settings + f.c = n.NewCheckbox(f.name + " (" + f.desc + ")") + f.c.Custom = func() { + log.Set(f.subsystem, f.name, f.c.B) + log.Println("LogFlag.Custom() user changed value to =", log.Get(f.subsystem, f.name)) + } + + return &f +} -- cgit v1.2.3