diff --git a/doGui.go b/doGui.go index 8a552b3..0e8664e 100644 --- a/doGui.go +++ b/doGui.go @@ -207,7 +207,7 @@ func makeEventsWindow(pb *virtpb.Events) *gadgets.GenericWindow { t := pb.NewTable("test 2") t.NewUuid() t.SetParent(tbox) - t.AddDroplet() + t.AddDropletName() t.AddHypervisor() t.ShowTable() return win diff --git a/windowDropletEdit.go b/windowDropletEdit.go index 1bb54c5..5435e8d 100644 --- a/windowDropletEdit.go +++ b/windowDropletEdit.go @@ -14,7 +14,7 @@ import ( "go.wit.com/log" ) -func editDropletWindow(d *virtpb.Droplet) *gadgets.GenericWindow { +func (admin *adminT) editDropletWindow(d *virtpb.Droplet) *gadgets.GenericWindow { win := gadgets.NewGenericWindow("Edit Droplet "+d.Hostname, "settings") win.Custom = func() { log.Warn("edit window close") @@ -63,6 +63,18 @@ func editDropletWindow(d *virtpb.Droplet) *gadgets.GenericWindow { save = grid.NewButton("save", func() { log.Info("save droplet changes here") + + e := new(virtpb.Event) + e.Etype = virtpb.EventType_EDIT + e.Droplet = new(virtpb.Droplet) + e.Droplet.Uuid = d.Uuid + e.Droplet.Cpus = 4 + e.Droplet.Memory = 8 * (1024 * 1024 * 1024) + e.Droplet.Hostname = name.String() + + if err := admin.postEvent(e); err != nil { + log.Info("event edit err", err) + } }) save.Disable() diff --git a/windowDroplets.go b/windowDroplets.go index 109f3cc..fecef99 100644 --- a/windowDroplets.go +++ b/windowDroplets.go @@ -23,6 +23,7 @@ type stdDropletTableWin struct { TB *virtpb.DropletsTable // the gui table buffer update bool // if the window should be updated Close func() // this function is called when the window is closed + admin *adminT } func (w *stdDropletTableWin) Toggle() { @@ -37,6 +38,7 @@ func (w *stdDropletTableWin) Toggle() { func newDropletsWindow(admin *adminT) *stdDropletTableWin { dwin := new(stdDropletTableWin) + dwin.admin = admin dwin.win = gadgets.NewGenericWindow("virtigo current droplets", "Options") dwin.win.Custom = func() { log.Info("test delete window here") @@ -76,58 +78,6 @@ func newDropletsWindow(admin *adminT) *stdDropletTableWin { return dwin } -/* -func makeWindownDropletsPB(pb *virtpb.Droplets) *stdDropletTableWin { - dwin := new(stdDropletTableWin) - dwin.win = gadgets.NewGenericWindow("virtigo current droplets", "") - dwin.win.Custom = func() { - log.Info("test delete window here") - } - - // make a box at the bottom of the window for the protobuf table - dwin.box = dwin.win.Bottom.Box().SetProgName("TBOX") - - dwin.doDropletsTable(pb) - - return dwin -} - -func (dwin *stdDropletTableWin) doDropletsTable(currentDroplets *virtpb.Droplets) { - dwin.Lock() - defer dwin.Unlock() - if dwin.TB != nil { - dwin.TB.Delete() - dwin.TB = nil - } - - // display the protobuf - dwin.TB = addDropletsPB(dwin.box, currentDroplets) - f := func(e *virtpb.Droplet) { - log.Info("Triggered. do something here", e.Hostname) - // m.Enabled = true - } - dwin.TB.Custom(f) -} - -func addDropletsPB(tbox *gui.Node, pb *virtpb.Droplets) *virtpb.DropletsTable { - t := pb.NewTable("DropletsPB") - t.NewUuid() - t.SetParent(tbox) - - vp := t.AddButtonFunc("start", func(p *virtpb.Droplet) string { - return "poweron" - }) - vp.Custom = func(d *virtpb.Droplet) { - log.Info("power on the droplet here:", d.Hostname) - } - t.AddHostname() - t.AddMemory() - t.AddCpus() - t.ShowTable() - return t -} -*/ - // default window for active running droplets func (dw *stdDropletTableWin) doInactiveDroplets(pb *virtpb.Droplets) { dw.Lock() @@ -150,7 +100,7 @@ func (dw *stdDropletTableWin) doInactiveDroplets(pb *virtpb.Droplets) { }) dropedit.Custom = func(d *virtpb.Droplet) { log.Info("edit droplet here", d.Hostname) - editDropletWindow(d) + dw.admin.editDropletWindow(d) } dropon := t.AddButtonFunc("Start", func(d *virtpb.Droplet) string { diff --git a/windowEvents.go b/windowEvents.go index 912dc2e..d9d5d55 100644 --- a/windowEvents.go +++ b/windowEvents.go @@ -61,7 +61,7 @@ func (dw *stdEventTableWin) doStdEvents(pb *virtpb.Events) { t.SetParent(dw.box) // pick the columns - t.AddDroplet() + t.AddDropletName() t.AddDropletUuid() t.AddHypervisor()