diff options
| author | Jeff Carr <[email protected]> | 2025-02-23 03:18:18 -0600 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-02-23 13:13:30 -0600 |
| commit | affb055c56ca86b1a2e1d409c45d6fd0091d446b (patch) | |
| tree | e0d7393ea879c6e3dc76cc557ab14a814954cfdc | |
| parent | 6e948e0736da3d6b73c0f3e1fc61dde47af8b4fe (diff) | |
early attempt at tablepb.Update()
| -rw-r--r-- | doGui.go | 67 |
1 files changed, 37 insertions, 30 deletions
@@ -61,18 +61,14 @@ func drawWindow(win *gadgets.BasicWindow) { hyperWin = makeHypervisorsWindow(me.cluster.H) }) - var testWin *GenericWindow - grid.NewButton("all defined droplets", func() { - if testWin != nil { - testWin.Toggle() + var dropWin *GenericWindow + var dropTable *virtpb.DropletsTable + grid.NewButton("droplets", func() { + if dropWin != nil { + dropWin.Toggle() return } d := me.cluster.GetDropletsPB() - testWin = makeDropletsWindow(d) - }) - - grid.NewButton("Running droplets", func() { - d := me.cluster.GetDropletsPB() var found *virtpb.Droplets found = virtpb.NewDroplets() all := d.All() @@ -83,19 +79,33 @@ func drawWindow(win *gadgets.BasicWindow) { } found.Append(vm) } - makeDropletsWindow(found) + dropWin, dropTable = makeDropletsWindow(found) + dropWin.Win.Custom = func() { + log.Info("hiding droplet table window") + } }) - /* - var test2 *GenericWindow - grid.NewButton("test2", func() { - if test2 != nil { - test2.Toggle() - return - } - test2 = makeDropletsWindow(me.machines) - }) - */ + grid.NewButton("Update droplets table", func() { + if dropTable == nil { + log.Info("make the droplets window first") + return + } + dropTable.Update() + }) + + grid.NewButton("ConfigSave()", func() { + log.Info("todo: find this code") + }) + + var testWin *GenericWindow + grid.NewButton("create droplet", func() { + if testWin != nil { + testWin.Toggle() + return + } + d := me.cluster.GetDropletsPB() + testWin, _ = makeDropletsWindow(d) + }) } func findVersion(m *zoopb.Machine, pkgname string) string { @@ -106,7 +116,7 @@ func findVersion(m *zoopb.Machine, pkgname string) string { return zood.Version } -func makeDropletsWindow(pb *virtpb.Droplets) *GenericWindow { +func makeDropletsWindow(pb *virtpb.Droplets) (*GenericWindow, *virtpb.DropletsTable) { win := NewGenericWindow("Droplets registered with Virtigo", "Buttons of things") grid := win.Group.RawGrid() grid.NewButton("Create", func() { @@ -122,6 +132,11 @@ func makeDropletsWindow(pb *virtpb.Droplets) *GenericWindow { t.AddHostname() t.AddMemory() t.AddCpus() + t.AddTimeFunc("age", func(d *virtpb.Droplet) time.Time { + age := d.Current.OnSince.AsTime() + log.Info("age", d.Hostname, virtpb.FormatDuration(time.Since(age))) + return age + }) t.AddStringFunc("State", func(d *virtpb.Droplet) string { if d.Current.State == virtpb.DropletState_ON { return "ON" @@ -139,16 +154,8 @@ func makeDropletsWindow(pb *virtpb.Droplets) *GenericWindow { tmp := strings.Join(macs, "\n") return strings.TrimSpace(tmp) }) - /* - t.AddStringFunc("zood", func(m *zoopb.Machine) string { - return findVersion(m, "zood") - }) - t.AddTimeFunc("age", func(m *zoopb.Machine) time.Time { - return m.Laststamp.AsTime() - }) - */ t.ShowTable() - return win + return win, t } func makeHypervisorsWindow(pb *virtpb.Hypervisors) *GenericWindow { |
