diff options
Diffstat (limited to 'windowEvents.go')
| -rw-r--r-- | windowEvents.go | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/windowEvents.go b/windowEvents.go new file mode 100644 index 0000000..20a102d --- /dev/null +++ b/windowEvents.go @@ -0,0 +1,67 @@ +// Copyright 2017-2025 WIT.COM Inc. All rights reserved. +// Use of this source code is governed by the GPL 3.0 + +package main + +import ( + "go.wit.com/gui" + "go.wit.com/lib/gadgets" + "go.wit.com/log" +) + +func makeEventsWin() { + me.eventswin = new(stdEventTableWin) + me.eventswin.win = gadgets.NewGenericWindow("zood daemon versions", "todo: add global controls here") + me.eventswin.win.Custom = func() { + log.Info("test delete window here") + } + grid := me.eventswin.win.Group.RawGrid() + grid.NewButton("ConfigSave() ", func() { + saveMachineState() + }) + grid.NewButton("Add() ", func() { + }) + grid.NewCheckbox("hide active") + grid.NewButton("update", func() { + doMachinesUpgradeTable() + }) + + // make a box at the bottom of the window for the protobuf table + me.eventswin.box = me.eventswin.win.Bottom.Box().SetProgName("TBOX") + doEventsTable(me.events) +} + +func doEventsTable(currentEvents *Events) { + me.eventswin.Lock() + defer me.eventswin.Unlock() + if me.eventswin.TB != nil { + me.eventswin.TB.Delete() + me.eventswin.TB = nil + } + + // display the protobuf + me.eventswin.TB = AddEventsPB(me.eventswin.box, currentEvents) + f := func(e *Event) { + log.Info("Triggered. do something here", e.Hostname) + // m.Enabled = true + } + me.eventswin.TB.Custom(f) + // log.Info("table has uuid", me.eventswin.TB.GetUuid()) +} + +func AddEventsPB(tbox *gui.Node, pb *Events) *EventsTable { + t := pb.NewTable("EventsPB") + t.NewUuid() + t.SetParent(tbox) + + enabledf := func(p *Event) string { + return "todo" + } + t.AddStringFunc("enabled", enabledf) + + t.AddHostname() + t.AddAddress() + t.AddWhere() + t.ShowTable() + return t +} |
