handle 'any'

Signed-off-by: Jeff Carr <jcarr@wit.com>
This commit is contained in:
Jeff Carr 2024-01-10 00:15:27 -06:00
parent be54390fcd
commit e0fba129e0
3 changed files with 65 additions and 2 deletions

45
draw.go
View File

@ -1,6 +1,8 @@
package repostatus
import (
"strconv"
"go.wit.com/log"
"go.wit.com/gui/gadgets"
)
@ -76,11 +78,50 @@ func draw(rs *RepoStatus) {
rs.releaseVersion = rs.grid.NewButton("release version", func() {
lasttag := rs.lasttag.Get()
ver := normalizeVersion(lasttag)
log.Warn("Should release version here", lasttag, ver)
var major, minor, revision string
major, minor, revision = splitVersion(lasttag)
log.Warn("Should release version here", lasttag)
log.Warn("Should release a,b,c", major, minor, revision)
// rs.a = major
// rs.b = minor
// rs.c = revision
rs.a, _ = strconv.Atoi(major)
rs.b, _ = strconv.Atoi(minor)
rs.c, _ = strconv.Atoi(revision)
rs.setCombobox()
})
rs.releaseVersion.Disable()
rs.vgroup = rs.window.Box().NewGroup("Version")
rs.major = gadgets.NewBasicCombobox(rs.grid, "master")
rs.minor = gadgets.NewBasicCombobox(rs.grid, "minor")
rs.revision = gadgets.NewBasicCombobox(rs.grid, "revision")
rs.grid.Margin()
rs.grid.Pad()
}
func (rs *RepoStatus) setCombobox() {
addCombobox(rs.major, rs.a)
addCombobox(rs.major, rs.a + 1)
setCombobox(rs.major, rs.a)
addCombobox(rs.minor, rs.b)
addCombobox(rs.minor, rs.b + 1)
setCombobox(rs.minor, rs.b)
// rs.c := strconv.Atoi(revision)
rs.revision.Add(strconv.Itoa(rs.c + 1))
rs.revision.Add(strconv.Itoa(rs.c + 2))
}
func addCombobox(cb *gadgets.BasicCombobox, i int) {
s := strconv.Itoa(i)
cb.Add(s)
}
func setCombobox(cb *gadgets.BasicCombobox, i int) {
s := strconv.Itoa(i)
cb.Sdd(s)
}

View File

@ -36,6 +36,15 @@ type RepoStatus struct {
develMerge *gui.Node
releaseVersion *gui.Node
vgroup *gui.Node
minor *gadgets.BasicCombobox
major *gadgets.BasicCombobox
revision *gadgets.BasicCombobox
a int
b int
c int
speed *gadgets.OneLiner
speedActual *gadgets.OneLiner
}

13
unix.go
View File

@ -89,3 +89,16 @@ func normalizeVersion(s string) string {
log.Log(WARN, "normalizeVersion() s =", clean)
return clean
}
func splitVersion(version string) (a, b, c string) {
tmp := normalizeVersion(version)
parts := strings.Split(tmp, ".")
switch len(parts) {
case 1:
return parts[0], "", ""
case 2:
return parts[0], parts[1], ""
default:
return parts[0], parts[1], parts[2]
}
}