new gui version

Signed-off-by: Jeff Carr <jcarr@wit.com>
This commit is contained in:
Jeff Carr 2024-01-27 14:22:24 -06:00
parent 8de0a3092e
commit 868968db32
4 changed files with 52 additions and 52 deletions

View File

@ -131,7 +131,7 @@ func InitCreateWindow() *windowCreate {
myCreate.group = myCreate.window.NewGroup("droplets:").Pad() myCreate.group = myCreate.window.NewGroup("droplets:").Pad()
myCreate.grid = myCreate.group.NewGrid("grid", 2, 1).Pad() myCreate.grid = myCreate.group.NewGrid("grid", 2, 1).Pad()
myCreate.name = gadgets.NewBasicEntry(myCreate.grid, "Name").Set("test.wit.com") myCreate.name = gadgets.NewBasicEntry(myCreate.grid, "Name").SetText("test.wit.com")
myCreate.region = gadgets.NewBasicDropdown(myCreate.grid, "Region") myCreate.region = gadgets.NewBasicDropdown(myCreate.grid, "Region")
@ -149,12 +149,12 @@ func InitCreateWindow() *windowCreate {
if myCreate.regionSlug == "" { if myCreate.regionSlug == "" {
myCreate.regionSlug = region.Slug myCreate.regionSlug = region.Slug
} }
myCreate.region.Add(s) myCreate.region.AddText(s)
} }
} }
myCreate.region.Custom = func() { myCreate.region.Custom = func() {
s := myCreate.region.Get() s := myCreate.region.String()
log.Info("create droplet region changed to:", s) log.Info("create droplet region changed to:", s)
for _, region := range regions { for _, region := range regions {
if s == region.Name { if s == region.Name {
@ -169,27 +169,27 @@ func InitCreateWindow() *windowCreate {
} }
myCreate.size = gadgets.NewBasicCombobox(myCreate.grid, "Size") myCreate.size = gadgets.NewBasicCombobox(myCreate.grid, "Size")
myCreate.size.Add("s-1vcpu-1gb") myCreate.size.AddText("s-1vcpu-1gb")
myCreate.size.Add("s-1vcpu-1gb-amd") myCreate.size.AddText("s-1vcpu-1gb-amd")
myCreate.size.Add("s-1vcpu-1gb-intel") myCreate.size.AddText("s-1vcpu-1gb-intel")
myCreate.size.Add("s-2vcpu-4gb-120gb-intel") myCreate.size.AddText("s-2vcpu-4gb-120gb-intel")
myCreate.size.Set("s-2vcpu-4gb-120gb-intel") myCreate.size.SetText("s-2vcpu-4gb-120gb-intel")
myCreate.size.Custom = func() { myCreate.size.Custom = func() {
size := myCreate.size.Get() size := myCreate.size.String()
log.Info("Create() need to verify size exists in region. Digital Ocean size.Slug =", size) log.Info("Create() need to verify size exists in region. Digital Ocean size.Slug =", size)
} }
myCreate.memory = gadgets.NewBasicDropdown(myCreate.grid, "Memory") myCreate.memory = gadgets.NewBasicDropdown(myCreate.grid, "Memory")
myCreate.memory.Add("1 GB") myCreate.memory.AddText("1 GB")
myCreate.memory.Add("2 GB") myCreate.memory.AddText("2 GB")
myCreate.memory.Add("4 GB") myCreate.memory.AddText("4 GB")
myCreate.memory.Add("8 GB") myCreate.memory.AddText("8 GB")
myCreate.memory.Add("16 GB") myCreate.memory.AddText("16 GB")
myCreate.memory.Add("32 GB") myCreate.memory.AddText("32 GB")
myCreate.memory.Add("64 GB") myCreate.memory.AddText("64 GB")
myCreate.memory.Add("96 GB") myCreate.memory.AddText("96 GB")
myCreate.memory.Add("128 GB") myCreate.memory.AddText("128 GB")
myCreate.memory.Add("256 GB") myCreate.memory.AddText("256 GB")
myCreate.memory.Custom = func() { myCreate.memory.Custom = func() {
for _, size := range myCreate.regionSelected.Sizes { for _, size := range myCreate.regionSelected.Sizes {
log.Info("Size: ", size) log.Info("Size: ", size)
@ -198,9 +198,9 @@ func InitCreateWindow() *windowCreate {
} }
myCreate.image = gadgets.NewBasicCombobox(myCreate.grid, "Image") myCreate.image = gadgets.NewBasicCombobox(myCreate.grid, "Image")
myCreate.image.Add("debian-12-x64") myCreate.image.AddText("debian-12-x64")
myCreate.image.Add("ubuntu-20-04-x64") myCreate.image.AddText("ubuntu-20-04-x64")
myCreate.image.Set("debian-12-x64") myCreate.image.SetText("debian-12-x64")
// myCreate.nvme = gadgets.NewBasicCheckbox(myCreate.grid, "NVMe") // myCreate.nvme = gadgets.NewBasicCheckbox(myCreate.grid, "NVMe")
@ -212,10 +212,10 @@ func InitCreateWindow() *windowCreate {
myCreate.Hide() myCreate.Hide()
}) })
box.NewButton("Create", func() { box.NewButton("Create", func() {
name := myCreate.name.Get() name := myCreate.name.String()
size := myCreate.size.Get() size := myCreate.size.String()
region := myCreate.regionSlug region := myCreate.regionSlug
image := myCreate.image.Get() image := myCreate.image.String()
if region == "" { if region == "" {
log.Info("Create() droplet name =", name, "region =", region, "size =", size, "image", image) log.Info("Create() droplet name =", name, "region =", region, "size =", size, "image", image)
log.Info("Create() region lookup failed") log.Info("Create() region lookup failed")
@ -238,7 +238,7 @@ func (d *windowCreate) UpdateSize() {
} }
log.Info("Now find the size. sizes count =", len(myCreate.regionSelected.Sizes)) log.Info("Now find the size. sizes count =", len(myCreate.regionSelected.Sizes))
var s string var s string
m := myCreate.memory.Get() m := myCreate.memory.String()
switch m { switch m {
case "1 GB": case "1 GB":
s = "cpu-1gb-" s = "cpu-1gb-"
@ -266,11 +266,11 @@ func (d *windowCreate) UpdateSize() {
for _, size := range myCreate.regionSelected.Sizes { for _, size := range myCreate.regionSelected.Sizes {
if strings.Contains(size, s) { if strings.Contains(size, s) {
log.Info("Found Size! size.Slug =", size, "contains", s) log.Info("Found Size! size.Slug =", size, "contains", s)
myCreate.size.Set(size) myCreate.size.SetText(size)
return return
} }
} }
log.Info("memory =", myCreate.memory.Get()) log.Info("memory =", myCreate.memory.String())
} }
// Returns true if the status is valid // Returns true if the status is valid

View File

@ -87,8 +87,8 @@ func (d *Droplet) Active() bool {
if !d.Ready() { if !d.Ready() {
return false return false
} }
log.Log(POLL, "droplet.Active() status: ", d.poll.Status, "d.statusN.GetText() =", d.statusN.GetText()) log.Log(POLL, "droplet.Active() status: ", d.poll.Status, "d.statusN.String() =", d.statusN.String())
if d.statusN.GetText() == "active" { if d.statusN.String() == "active" {
return true return true
} }
return false return false
@ -114,7 +114,7 @@ func (d *Droplet) HasIPv4() bool {
if !d.Ready() { if !d.Ready() {
return false return false
} }
if d.ipv4.GetText() == "" { if d.ipv4.String() == "" {
return false return false
} }
return true return true
@ -123,7 +123,7 @@ func (d *Droplet) HasIPv6() bool {
if !d.Ready() { if !d.Ready() {
return false return false
} }
if d.ipv6.GetText() == "" { if d.ipv6.String() == "" {
return false return false
} }
return true return true
@ -133,15 +133,15 @@ func (d *Droplet) GetIPv4() string {
if !d.Ready() { if !d.Ready() {
return "" return ""
} }
return d.ipv4.GetText() return d.ipv4.String()
} }
func (d *Droplet) GetIPv6() string { func (d *Droplet) GetIPv6() string {
if !d.Ready() { if !d.Ready() {
return "" return ""
} }
log.Info("droplet GetIPv6 has: n.GetText()", d.ipv6.GetText()) log.Info("droplet GetIPv6 has: n.String()", d.ipv6.String())
return d.ipv6.GetText() return d.ipv6.String()
} }
func (d *Droplet) Connect() { func (d *Droplet) Connect() {
@ -204,7 +204,7 @@ func (d *Droplet) Destroy() {
if !d.Exists() { if !d.Exists() {
return return
} }
log.Info("droplet.Destroy() ID =", d.ID, "Name =", d.nameN.GetText()) log.Info("droplet.Destroy() ID =", d.ID, "Name =", d.nameN.String())
myDo.deleteDroplet(d) myDo.deleteDroplet(d)
} }
@ -276,14 +276,14 @@ func (d *Droplet) GetName() string {
if !d.Ready() { if !d.Ready() {
return "" return ""
} }
return d.nameN.GetText() return d.nameN.String()
} }
func (d *Droplet) GetSize() string { func (d *Droplet) GetSize() string {
if !d.Ready() { if !d.Ready() {
return "" return ""
} }
return d.sizeSlugN.GetText() return d.sizeSlugN.String()
} }
func (d *Droplet) GetMemory() string { func (d *Droplet) GetMemory() string {
@ -304,12 +304,12 @@ func (d *Droplet) GetImage() string {
if !d.Ready() { if !d.Ready() {
return "" return ""
} }
return d.imageN.GetText() return d.imageN.String()
} }
func (d *Droplet) GetStatus() string { func (d *Droplet) GetStatus() string {
if !d.Ready() { if !d.Ready() {
return "" return ""
} }
return d.statusN.GetText() return d.statusN.String()
} }

8
go.mod
View File

@ -5,9 +5,9 @@ go 1.21.4
require ( require (
github.com/digitalocean/godo v1.108.0 github.com/digitalocean/godo v1.108.0
go.wit.com/dev/alexflint/arg v1.4.5 go.wit.com/dev/alexflint/arg v1.4.5
go.wit.com/gui v0.13.11 go.wit.com/gui v0.13.18
go.wit.com/lib/gadgets v0.13.0 go.wit.com/lib/gadgets v0.13.18
go.wit.com/log v0.5.6 go.wit.com/log v0.13.18
golang.org/x/oauth2 v0.16.0 golang.org/x/oauth2 v0.16.0
) )
@ -18,7 +18,7 @@ require (
github.com/hashicorp/go-retryablehttp v0.7.4 // indirect github.com/hashicorp/go-retryablehttp v0.7.4 // indirect
go.wit.com/dev/alexflint/scalar v1.2.1 // indirect go.wit.com/dev/alexflint/scalar v1.2.1 // indirect
go.wit.com/dev/davecgh/spew v1.1.4 // indirect go.wit.com/dev/davecgh/spew v1.1.4 // indirect
go.wit.com/widget v1.1.6 // indirect go.wit.com/widget v1.1.9 // indirect
golang.org/x/net v0.20.0 // indirect golang.org/x/net v0.20.0 // indirect
golang.org/x/time v0.0.0-20220922220347-f3bd1da661af // indirect golang.org/x/time v0.0.0-20220922220347-f3bd1da661af // indirect
google.golang.org/appengine v1.6.7 // indirect google.golang.org/appengine v1.6.7 // indirect

16
go.sum
View File

@ -29,14 +29,14 @@ go.wit.com/dev/alexflint/scalar v1.2.1 h1:loXOcbVnd+8YeJRLey+XXidecBiedMDO00zQ26
go.wit.com/dev/alexflint/scalar v1.2.1/go.mod h1:+rYsfxqdI2cwA8kJ7GCMwWbNJvfvWUurOCXLiwdTtSs= go.wit.com/dev/alexflint/scalar v1.2.1/go.mod h1:+rYsfxqdI2cwA8kJ7GCMwWbNJvfvWUurOCXLiwdTtSs=
go.wit.com/dev/davecgh/spew v1.1.4 h1:C9hj/rjlUpdK+E6aroyLjCbS5MFcyNUOuP1ICLWdNek= go.wit.com/dev/davecgh/spew v1.1.4 h1:C9hj/rjlUpdK+E6aroyLjCbS5MFcyNUOuP1ICLWdNek=
go.wit.com/dev/davecgh/spew v1.1.4/go.mod h1:sihvWmnQ/09FWplnEmozt90CCVqBtGuPXM811tgfhFA= go.wit.com/dev/davecgh/spew v1.1.4/go.mod h1:sihvWmnQ/09FWplnEmozt90CCVqBtGuPXM811tgfhFA=
go.wit.com/gui v0.13.11 h1:d74Ko/XFZYR25P/AZfCQaVO2CuGh1BSjdUp1wjktdDg= go.wit.com/gui v0.13.18 h1:r4z1FNg6AxGWfq13+na4Xu/uA8PTTtDGka0ajo29omk=
go.wit.com/gui v0.13.11/go.mod h1:v2VgnOL3dlZ13KclYeedZ1cd20nQdvwjyJTNKvFX3DA= go.wit.com/gui v0.13.18/go.mod h1:SRcfZKSbBWUxyyDiqlISWEYySoeATnijVxhzRIF0xiE=
go.wit.com/lib/gadgets v0.13.0 h1:jtsEnf4DHqAxBxuYsaDlHti73rgaxYf/ffAXNB1PJAk= go.wit.com/lib/gadgets v0.13.18 h1:Z35WCI6BtRamRkLTWaUP5/9+BnOGGbRdnD95SnnM6Tw=
go.wit.com/lib/gadgets v0.13.0/go.mod h1:xidaHAL6Nk9+M9FkySVU1AG5i39v7T3PuFphUos6LxE= go.wit.com/lib/gadgets v0.13.18/go.mod h1:hU0cXWfyvBrxmKD37MLyjOfJRK4+cU1aJ6lLx1CM0Qo=
go.wit.com/log v0.5.6 h1:rDC3ju95zfEads4f1Zm+QMkqjZ39CsYAT/UmQQs7VP4= go.wit.com/log v0.13.18 h1:XJNaQWX+8m12p3mH+kYih3zNjb0kScZDFpJa4c2TvKE=
go.wit.com/log v0.5.6/go.mod h1:BaJBfHFqcJSJLXGQ9RHi3XVhPgsStxSMZRlaRxW4kAo= go.wit.com/log v0.13.18/go.mod h1:BaJBfHFqcJSJLXGQ9RHi3XVhPgsStxSMZRlaRxW4kAo=
go.wit.com/widget v1.1.6 h1:av2miF5vlohMfARA/QGPTPfgW/ADup1c+oeAOKgroPY= go.wit.com/widget v1.1.9 h1:iltjAL8UZu0YPfia8/qyfDx04BDxhj8rURcx0OHVBEc=
go.wit.com/widget v1.1.6/go.mod h1:I8tnD3x3ECbB/CRNnLCdC+uoyk7rK0AEkzK1bQYSqoQ= go.wit.com/widget v1.1.9/go.mod h1:I8tnD3x3ECbB/CRNnLCdC+uoyk7rK0AEkzK1bQYSqoQ=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
golang.org/x/net v0.20.0 h1:aCL9BSgETF1k+blQaYUBx9hJ9LOGP3gAVemcZlf1Kpo= golang.org/x/net v0.20.0 h1:aCL9BSgETF1k+blQaYUBx9hJ9LOGP3gAVemcZlf1Kpo=