subsystem flags are displayed
Signed-off-by: Jeff Carr <jcarr@wit.com>
This commit is contained in:
parent
1e83c1e609
commit
10001c7006
22
logFlag.go
22
logFlag.go
|
@ -18,36 +18,36 @@ type LogFlag struct {
|
|||
p *gui.Node // parent widget
|
||||
c *gui.Node // checkbox widget
|
||||
|
||||
name string
|
||||
subsystem string
|
||||
desc string
|
||||
Name string
|
||||
Subsystem string
|
||||
Desc string
|
||||
b bool
|
||||
|
||||
Custom func()
|
||||
}
|
||||
|
||||
func (f *LogFlag) Get() bool {
|
||||
return log.Get(f.subsystem, f.name)
|
||||
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)
|
||||
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,
|
||||
Name: lf.Name,
|
||||
Subsystem: lf.Subsystem,
|
||||
Desc: lf.Desc,
|
||||
p: n,
|
||||
}
|
||||
|
||||
// various timeout settings
|
||||
f.c = n.NewCheckbox(f.name + " (" + f.desc + ")")
|
||||
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))
|
||||
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
|
||||
|
|
|
@ -47,15 +47,19 @@ func (d *LogSettings) draw() {
|
|||
newB = newW.NewBox("hBox", true)
|
||||
g = newB.NewGroup("Show").Pad()
|
||||
|
||||
g.NewButton("log.SetTmp()", func () {
|
||||
g.NewButton("Redirect STDOUT to /tmp/", func () {
|
||||
log.SetTmp()
|
||||
})
|
||||
|
||||
g.NewButton("log.SetAll(true)", func () {
|
||||
g.NewButton("restore defaults", func () {
|
||||
log.SetDefaults()
|
||||
})
|
||||
|
||||
g.NewButton("all on", func () {
|
||||
log.SetAll(true)
|
||||
})
|
||||
|
||||
g.NewButton("log.SetAll(false)", func () {
|
||||
g.NewButton("all off", func () {
|
||||
log.SetAll(false)
|
||||
})
|
||||
|
||||
|
@ -64,11 +68,57 @@ func (d *LogSettings) draw() {
|
|||
log.ShowFlags()
|
||||
})
|
||||
|
||||
g = newB.NewGroup("List")
|
||||
g = g.NewGrid("flags grid", 5, 2)
|
||||
flagG := newB.NewGroup("Subsystem (aka package)")
|
||||
|
||||
g.NewButton("Add all Flags", func () {
|
||||
flags := log.ShowFlags()
|
||||
for _, f := range flags {
|
||||
log.Log(true, "Get() ", "(" + f.Subsystem + ")", f.Name, "=", f.B, ":", f.Desc)
|
||||
addFlag(flagG, f)
|
||||
}
|
||||
})
|
||||
|
||||
flags := log.ShowFlags()
|
||||
for _, f := range flags {
|
||||
log.Log(true, "Get() ", "(" + f.Subsystem + ")", f.Name, "=", f.B, ":", f.Desc)
|
||||
gadgets.NewLogFlag(g, f)
|
||||
addFlag(flagG, f)
|
||||
}
|
||||
}
|
||||
|
||||
func addFlag(p *gui.Node, newf *log.LogFlag) {
|
||||
var flagWidgets *flagGroup
|
||||
if newf == nil { return }
|
||||
if p == nil { return }
|
||||
|
||||
if myLogGui.groups[newf.Subsystem] == nil {
|
||||
flagWidgets = new(flagGroup)
|
||||
flagWidgets.parent = p
|
||||
flagWidgets.name = newf.Subsystem
|
||||
flagWidgets.group = p.NewGroup(newf.Subsystem)
|
||||
flagWidgets.grid = flagWidgets.group.NewGrid("flags grid", 3, 1)
|
||||
myLogGui.groups[newf.Subsystem] = flagWidgets
|
||||
} else {
|
||||
flagWidgets = myLogGui.groups[newf.Subsystem]
|
||||
}
|
||||
|
||||
for _, f := range flagWidgets.flags {
|
||||
log.Warn("addFlag() Already has flag =", f)
|
||||
if f.Name == newf.Name {
|
||||
log.Warn("addFlag() FOUND FLAG", f)
|
||||
return
|
||||
}
|
||||
}
|
||||
newWidget := gadgets.NewLogFlag(flagWidgets.grid, newf)
|
||||
flagWidgets.flags = append(flagWidgets.flags, newWidget)
|
||||
}
|
||||
|
||||
type flagGroup struct {
|
||||
name string // should be set to the flag.Subsystem
|
||||
|
||||
parent *gui.Node // where to draw our group
|
||||
group *gui.Node
|
||||
grid *gui.Node
|
||||
|
||||
// the widget for each flag
|
||||
flags []*gadgets.LogFlag
|
||||
}
|
||||
|
|
|
@ -13,6 +13,7 @@ func New(p *gui.Node) *LogSettings {
|
|||
myLogGui.parent = p
|
||||
myLogGui.ready = true
|
||||
myLogGui.hidden = true
|
||||
myLogGui.groups = make(map[string]*flagGroup)
|
||||
return myLogGui
|
||||
}
|
||||
|
||||
|
|
|
@ -12,6 +12,8 @@ type LogSettings struct {
|
|||
hidden bool
|
||||
err error
|
||||
|
||||
groups map[string]*flagGroup
|
||||
|
||||
parent *gui.Node // where to draw our window
|
||||
window *gui.Node // our window for displaying the log package settings
|
||||
|
||||
|
|
Loading…
Reference in New Issue