parent
e575b71f07
commit
29cb5564c2
28
droplet.go
28
droplet.go
|
@ -2,6 +2,7 @@ package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"io"
|
||||||
|
|
||||||
"go.wit.com/gui"
|
"go.wit.com/gui"
|
||||||
)
|
)
|
||||||
|
@ -12,8 +13,23 @@ type Size interface {
|
||||||
Disk() float64
|
Disk() float64
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type SquareBox struct {
|
||||||
|
Width float64
|
||||||
|
Height float64
|
||||||
|
}
|
||||||
|
|
||||||
|
type MenuNode struct {
|
||||||
|
Name string
|
||||||
|
Box *gui.Node
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s MenuNode) Area() float64 {
|
||||||
|
return 20
|
||||||
|
}
|
||||||
|
|
||||||
type Menu interface {
|
type Menu interface {
|
||||||
Widget() *gui.Node
|
Widget() *gui.Node
|
||||||
|
SetMenu(*gui.Node)
|
||||||
}
|
}
|
||||||
|
|
||||||
type Draw interface {
|
type Draw interface {
|
||||||
|
@ -22,9 +38,19 @@ type Draw interface {
|
||||||
}
|
}
|
||||||
|
|
||||||
type Droplet interface {
|
type Droplet interface {
|
||||||
|
Box() *DropletBox
|
||||||
Draw
|
Draw
|
||||||
Menu
|
SetMenu(*DropletBox)
|
||||||
Size
|
Size
|
||||||
|
PowerOn() error
|
||||||
|
PowerOff() (bool, error)
|
||||||
|
Connect()
|
||||||
// Location
|
// Location
|
||||||
fmt.Stringer
|
fmt.Stringer
|
||||||
|
io.Writer
|
||||||
|
}
|
||||||
|
|
||||||
|
func addMenu(d Droplet) {
|
||||||
|
d.Show()
|
||||||
|
// d.Menu.Widget() = gui.RawBox()
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,38 @@
|
||||||
|
/*
|
||||||
|
The DropletBox Struct
|
||||||
|
*/
|
||||||
|
|
||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/digitalocean/godo"
|
||||||
|
|
||||||
|
"go.wit.com/gui"
|
||||||
|
)
|
||||||
|
|
||||||
|
type DropletBox struct {
|
||||||
|
ID int
|
||||||
|
image string
|
||||||
|
memory int
|
||||||
|
disk int
|
||||||
|
|
||||||
|
ready bool
|
||||||
|
hidden bool
|
||||||
|
err error
|
||||||
|
|
||||||
|
poll *godo.Droplet // store what the digital ocean API returned
|
||||||
|
|
||||||
|
nameN *gui.Node
|
||||||
|
sizeSlugN *gui.Node
|
||||||
|
statusN *gui.Node
|
||||||
|
imageN *gui.Node
|
||||||
|
|
||||||
|
destroy *gui.Node
|
||||||
|
connect *gui.Node
|
||||||
|
poweron *gui.Node
|
||||||
|
poweroff *gui.Node
|
||||||
|
edit *gui.Node
|
||||||
|
|
||||||
|
ipv4 *gui.Node
|
||||||
|
ipv6 *gui.Node
|
||||||
|
}
|
Loading…
Reference in New Issue