go-deb/controlBox.go

65 lines
1.6 KiB
Go

// This gets the values for the debian/control file
package main
import (
"go.wit.com/gui"
"go.wit.com/lib/gadgets"
)
type controlFile struct {
group *gui.Node // the group
grid *gui.Node // the grid
Package *gadgets.OneLiner
Maintainer *gadgets.OneLiner
Architecture *gadgets.BasicDropdown
InstallPath *gadgets.BasicCombobox
Depends *gadgets.OneLiner
BuildDepends *gadgets.OneLiner
Recommends *gadgets.OneLiner
Description *gadgets.OneLiner
}
// This initializes the control box
func newControl(parent *gui.Node) *controlFile {
var c *controlFile
c = new(controlFile)
c.group = parent.NewGroup("choices")
c.grid = c.group.NewGrid("gridiron", 8, 1)
c.Package = gadgets.NewOneLiner(c.grid, "Package")
c.grid.NextRow()
c.Architecture = gadgets.NewBasicDropdown(c.grid, "Architecture")
c.Architecture.AddText("riscv")
c.Architecture.AddText("amd64")
c.Architecture.AddText("arm")
c.Architecture.AddText("noarch")
c.Architecture.AddText("src")
c.Architecture.SetText("amd64")
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.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.Description = gadgets.NewOneLiner(c.grid, "Description")
return c
}