summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-02-23 03:18:18 -0600
committerJeff Carr <[email protected]>2025-02-23 13:13:30 -0600
commitaffb055c56ca86b1a2e1d409c45d6fd0091d446b (patch)
treee0d7393ea879c6e3dc76cc557ab14a814954cfdc
parent6e948e0736da3d6b73c0f3e1fc61dde47af8b4fe (diff)
early attempt at tablepb.Update()
-rw-r--r--doGui.go67
1 files changed, 37 insertions, 30 deletions
diff --git a/doGui.go b/doGui.go
index 3fb98a8..1a83491 100644
--- a/doGui.go
+++ b/doGui.go
@@ -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 {