summaryrefslogtreecommitdiff
path: root/errorBox.go
diff options
context:
space:
mode:
Diffstat (limited to 'errorBox.go')
-rw-r--r--errorBox.go56
1 files changed, 48 insertions, 8 deletions
diff --git a/errorBox.go b/errorBox.go
index ea31f6a..0353393 100644
--- a/errorBox.go
+++ b/errorBox.go
@@ -20,25 +20,65 @@ type errorBox struct {
l *gui.Node
b *gui.Node
+ fixes map[string]*anError
+
something *gadgets.OneLiner
}
-func NewErrorBox(p *gui.Node, name string) *errorBox {
+type anError struct {
+ kind string // what kind of error is it?
+ ip string
+ status string
+
+ kindLabel *gui.Node
+ ipLabel *gui.Node
+ statusLabel *gui.Node
+ button *gui.Node
+}
+
+func NewErrorBox(p *gui.Node, name string, ip string) *errorBox {
var eb *errorBox
eb = new(errorBox)
eb.parent = p
- // eb.group = p.NewGroup("eg")
- // eb.grid = eb.group.NewGrid("labels", 2, 1)
+ eb.group = p.NewGroup(name)
+ eb.grid = eb.group.NewGrid("stuff", 4, 1)
- eb.l = p.NewLabel("click to fix")
- eb.b = p.NewButton("fix", func() {
- log.Log(WARN, "should try to fix here")
- })
- eb.something = gadgets.NewOneLiner(eb.grid, "something")
+ eb.grid.NewLabel("Type")
+ eb.grid.NewLabel("IP")
+ eb.grid.NewLabel("Status")
+ eb.grid.NewLabel("")
+ eb.fixes = make(map[string]*anError)
return eb
}
+
+func (eb *errorBox) add(kind string, ip string) bool {
+ tmp := kind + " " + ip
+ if eb.fixes[tmp] != nil {
+ log.Log(WARN, "Error is already here", kind, ip)
+ return false
+ }
+
+ anErr := new(anError)
+ anErr.kind = kind
+
+ anErr.kindLabel = eb.grid.NewLabel(kind)
+ anErr.ipLabel = eb.grid.NewLabel(ip)
+ anErr.statusLabel = eb.grid.NewLabel("")
+ anErr.button = eb.grid.NewButton(kind, func() {
+ log.Log(WARN, "got", kind, "here. IP =", ip)
+ eb.fix(kind, ip)
+ })
+ eb.fixes[tmp] = anErr
+ return false
+}
+
+func (eb *errorBox) fix(name string, ip string) bool {
+ log.Log(WARN, "should try to fix", name, "here. IP =", ip)
+ return false
+}
+
func (eb *errorBox) update() bool {
return false
}