summaryrefslogtreecommitdiff
path: root/logFlag.go
diff options
context:
space:
mode:
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
+}