go-deb/controlBox.go

104 lines
2.6 KiB
Go

package main
import (
"go.wit.com/gui"
"go.wit.com/lib/gadgets"
"go.wit.com/lib/gui/repostatus"
)
type controlBox struct {
group *gui.Node // the group
grid *gui.Node // the grid
Package *gadgets.OneLiner
Source *gadgets.OneLiner
Version *gadgets.OneLiner
Maintainer *gadgets.OneLiner
Packager *gadgets.BasicEntry
GoPath *gadgets.BasicEntry
URL *gadgets.BasicEntry
Architecture *gadgets.BasicDropdown
InstallPath *gadgets.BasicCombobox
Depends *gadgets.OneLiner
BuildDepends *gadgets.OneLiner
Recommends *gadgets.OneLiner
Conflicts *gadgets.BasicEntry
Test gui.Widget
Description *gadgets.OneLiner
// repostatus things
pathL *gadgets.OneLiner
lastTag *gadgets.OneLiner
dirtyL *gadgets.OneLiner
currentL *gadgets.OneLiner
buildDate *gadgets.OneLiner
tagDate *gadgets.BasicEntry
status *repostatus.RepoStatus
}
// This initializes the control box
func newControl(parent *gui.Node) *controlBox {
var c *controlBox
c = new(controlBox)
c.group = parent.NewGroup("choices")
c.grid = c.group.NewGrid("gridiron", 8, 1)
c.Package = gadgets.NewOneLiner(c.grid, "Package")
c.grid.NextRow()
c.Source = gadgets.NewOneLiner(c.grid, "Source")
c.grid.NextRow()
c.Version = gadgets.NewOneLiner(c.grid, "Version")
c.grid.NextRow()
c.Architecture = gadgets.NewBasicDropdown(c.grid, "Architecture")
c.Architecture.AddText("all")
c.Architecture.AddText("riscv64")
c.Architecture.AddText("amd64")
c.Architecture.AddText("arm64")
c.Architecture.AddText("ppc64")
c.Architecture.AddText("i386")
c.Architecture.AddText("sparc64")
c.Architecture.AddText("alpha")
c.Architecture.SetText("riscv64")
c.grid.NextRow()
c.InstallPath = gadgets.NewBasicCombobox(c.grid, "Install Path")
c.InstallPath.AddText("/usr/bin")
c.InstallPath.AddText("/usr/local/bin")
c.InstallPath.AddText("/bin")
c.InstallPath.AddText("/opt/<pkg>/bin")
c.InstallPath.SetText("/usr/bin")
c.grid.NextRow()
c.Maintainer = gadgets.NewOneLiner(c.grid, "Maintainer")
c.grid.NextRow()
c.Packager = gadgets.NewBasicEntry(c.grid, "Packager")
c.grid.NextRow()
c.GoPath = gadgets.NewBasicEntry(c.grid, "GoPath")
c.grid.NextRow()
c.URL = gadgets.NewBasicEntry(c.grid, "URL")
c.grid.NextRow()
c.Depends = gadgets.NewOneLiner(c.grid, "Depends")
c.grid.NextRow()
c.BuildDepends = gadgets.NewOneLiner(c.grid, "Build-Depends")
c.grid.NextRow()
c.Recommends = gadgets.NewOneLiner(c.grid, "Recommends")
c.grid.NextRow()
c.Conflicts = gadgets.NewBasicEntry(c.grid, "Conflicts")
c.grid.NextRow()
c.Description = gadgets.NewOneLiner(c.grid, "Description")
c.grid.NextRow()
return c
}