summaryrefslogtreecommitdiff
path: root/doAdminGui.go
diff options
context:
space:
mode:
Diffstat (limited to 'doAdminGui.go')
-rw-r--r--doAdminGui.go71
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()