diff options
Diffstat (limited to 'doAdminGui.go')
| -rw-r--r-- | doAdminGui.go | 71 |
1 files changed, 70 insertions, 1 deletions
diff --git a/doAdminGui.go b/doAdminGui.go index 4433919..257e83f 100644 --- a/doAdminGui.go +++ b/doAdminGui.go @@ -84,6 +84,70 @@ func (admin *adminT) refresh() { var client *http.Client +func doLocalhostAdminGui() *adminT { + admin := new(adminT) + + admin.uptime = me.gwin.Group.NewLabel("uptime") + + grid := me.gwin.Group.RawGrid() + + grid.NewButton("show hypervisors", func() { + if admin.hypervisors == nil { + log.Info("hypervisors not initialized") + return + } + log.Info("Hypervisors len=", admin.hypervisors.Len()) + admin.hwin = newHypervisorsWindow() + admin.hwin.doStdHypervisors(admin.hypervisors) + admin.hwin.win.Custom = func() { + log.Info("hiding table window") + } + }) + + grid.NewButton("droplets", func() { + if admin.droplets == nil { + log.Info("droplets not initialized") + return + } + admin.dwin = newDropletsWindow() + admin.dwin.win.Custom = func() { + log.Info("hiding droplet table window") + } + var found *virtpb.Droplets + found = virtpb.NewDroplets() + all := admin.droplets.All() + for all.Scan() { + vm := all.Next() + if vm.Current.State != virtpb.DropletState_ON { + continue + } + found.Append(vm) + } + admin.dwin.doActiveDroplets(found) + }) + + grid.NewButton("events", func() { + if admin.events == nil { + log.Info("events are not initialized") + return + } + log.Info("Events len=", admin.events.Len()) + admin.ewin = newEventsWindow() + admin.ewin.doStdEvents(admin.events) + admin.ewin.win.Custom = func() { + log.Info("hiding table window") + } + }) + + grid.NextRow() + + grid.NewButton("refresh", func() { + admin.refresh() + }) + + return admin +} + func (admin *adminT) doAdminGui() { me.myGui = gui.New() me.myGui.InitEmbed(resources) @@ -189,7 +253,12 @@ func (admin *adminT) makeClusterGroup(c *virtpb.Cluster) { badExit(err) } - group := me.gwin.Bottom.NewGroup(admin.url.Hostname()) + name := c.GetName() + if name == "" { + name = admin.url.Hostname() + } + + group := me.gwin.Bottom.NewGroup(name) admin.uptime = group.NewLabel("uptime") grid := group.RawGrid() |
