75 lines
1.5 KiB
Go
75 lines
1.5 KiB
Go
package logsettings
|
|
|
|
import (
|
|
"go.wit.com/log"
|
|
"go.wit.com/gui/gui"
|
|
"go.wit.com/gui/gadgets"
|
|
)
|
|
|
|
func (d *LogSettings) Show() {
|
|
if ! d.Ready() {
|
|
log.Warn("LogSettings.Show() window is not Ready()")
|
|
return
|
|
}
|
|
log.Warn("LogSettings.Show() window")
|
|
if d.hidden {
|
|
log.Warn("LogSettings.Show() window HERE window =", d.window)
|
|
if d.window == nil {
|
|
log.Warn("LogSettings.Show() create the window")
|
|
d.draw()
|
|
}
|
|
d.window.Show()
|
|
}
|
|
d.hidden = false
|
|
}
|
|
|
|
func (d *LogSettings) Hide() {
|
|
if ! d.Ready() {
|
|
log.Warn("LogSettings.Show() window is not Ready()")
|
|
return
|
|
}
|
|
log.Warn("LogSettings.Hide() window")
|
|
if ! d.hidden {
|
|
d.window.Hide()
|
|
}
|
|
d.hidden = true
|
|
}
|
|
|
|
// Let's you toggle on and off the various types of debugging output
|
|
// These checkboxes should be in the same order as the are printed
|
|
func (d *LogSettings) draw() {
|
|
if ! d.Ready() {return}
|
|
var newW, newB, g *gui.Node
|
|
|
|
newW = d.parent.NewWindow("Debug Flags")
|
|
newW.Custom = d.parent.StandardClose
|
|
|
|
newB = newW.NewBox("hBox", true)
|
|
g = newB.NewGroup("Show").Pad()
|
|
|
|
g.NewButton("log.SetTmp()", func () {
|
|
log.SetTmp()
|
|
})
|
|
|
|
g.NewButton("log.SetAll(true)", func () {
|
|
log.SetAll(true)
|
|
})
|
|
|
|
g.NewButton("log.SetAll(false)", func () {
|
|
log.SetAll(false)
|
|
})
|
|
|
|
g.NewButton("Dump Flags", func () {
|
|
// ShowDebugValues()
|
|
log.ShowFlags()
|
|
})
|
|
|
|
g = newB.NewGroup("List")
|
|
g = g.NewGrid("flags grid", 5, 2)
|
|
flags := log.ShowFlags()
|
|
for _, f := range flags {
|
|
log.Log(true, "Get() ", "(" + f.Subsystem + ")", f.Name, "=", f.B, ":", f.Desc)
|
|
gadgets.NewLogFlag(g, f)
|
|
}
|
|
}
|