summaryrefslogtreecommitdiff
path: root/logFlag.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2024-01-04 12:23:36 -0600
committerJeff Carr <[email protected]>2024-01-04 12:23:36 -0600
commit51929bdde255954318eb7c41fae97f620a613f78 (patch)
tree4326b70a4de46092a1ce32a72c5dde19414e8e2d /logFlag.go
parent57b8fdc0602db13683979c161665044f38c2003c (diff)
working log window
Signed-off-by: Jeff Carr <[email protected]>
Diffstat (limited to 'logFlag.go')
-rw-r--r--logFlag.go54
1 files changed, 54 insertions, 0 deletions
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
+}