Compare commits

..

4 Commits

Author SHA1 Message Date
Jeff Carr 269490693e margin works
Signed-off-by: Jeff Carr <jcarr@wit.com>
2024-01-14 10:36:46 -06:00
Jeff Carr 85d74dd70d compiles and runs
Signed-off-by: Jeff Carr <jcarr@wit.com>
2024-01-14 10:25:21 -06:00
Jeff Carr c22d0f4866 grid.Margin() works
Signed-off-by: Jeff Carr <jcarr@wit.com>
2024-01-14 01:59:19 -06:00
Jeff Carr 595f4c6eb3 more code reorg
Signed-off-by: Jeff Carr <jcarr@wit.com>
2024-01-13 23:42:06 -06:00
4 changed files with 108 additions and 86 deletions

69
main.go
View File

@ -49,25 +49,22 @@ func addRepo(grid *gui.Node, path string, master string, devel string, user stri
log.Warn("status window doesn't exist")
return
}
log.Warn("status window exists. trying Update() here")
newRepo.status.Toggle()
log.Warn("status window exists. trying Show() here")
newRepo.status.Show()
})
grid.NewButton("TestDraw()", func () {
grid.NewButton("Show()", func () {
if newRepo.status == nil {
log.Warn("status window doesn't exist")
return
}
log.Warn("status window exists. trying TestDraw() here")
newRepo.status.TestDraw()
newRepo.status.Show()
})
if path == "" {
newRepo.cButton.Hide()
newRepo.pButton.Hide()
}
newRepo.status = repostatus.New(myGui, newRepo.path)
newRepo.status.Horizontal()
newRepo.status.Make()
newRepo.status.Make2()
newRepo.status.SetMasterName(master)
newRepo.status.SetDevelName(devel)
newRepo.status.SetUserName(user)
@ -78,25 +75,25 @@ func addRepo(grid *gui.Node, path string, master string, devel string, user stri
// This creates a window
func repoworld() {
win := gadgets.NewBasicWindow(myGui, "git autotypist. it types faster than you can.")
reposwin = gadgets.NewBasicWindow(myGui, "git autotypist. it types faster than you can.")
reposwin.Make()
box := win.Box().NewBox("bw vbox", false)
// box2 := win.Box().NewBox("bw vbox", false)
group := box.NewGroup("go repositories (read from ~/.config/myrepolist)")
grid := group.NewGrid("test", 11, 1)
reposbox = reposwin.Box().NewBox("bw vbox", false)
reposgroup = reposbox.NewGroup("go repositories (read from ~/.config/myrepolist)")
reposgrid = reposgroup.NewGrid("test", 11, 1)
grid.NewLabel("")
grid.NewLabel("branch")
grid.NewLabel("last tag")
grid.NewLabel("Current Version")
// grid.NewLabel("tags")
grid.NewLabel("master")
grid.NewLabel("devel")
grid.NewLabel("user")
grid.NewLabel("Status")
grid.NewLabel("commit")
grid.NewLabel("Toggle()")
grid.NewLabel("Draw()")
reposgrid.NewLabel("")
reposgrid.NewLabel("branch")
reposgrid.NewLabel("last tag")
reposgrid.NewLabel("Current Version")
// reposgrid.NewLabel("tags")
reposgrid.NewLabel("master")
reposgrid.NewLabel("devel")
reposgrid.NewLabel("user")
reposgrid.NewLabel("Status")
reposgrid.NewLabel("commit")
reposgrid.NewLabel("Toggle()")
reposgrid.NewLabel("Draw()")
repos := myrepolist()
for _, line := range repos {
@ -106,8 +103,28 @@ func repoworld() {
if dbranch == "" { dbranch = "devel" }
usr, _ := user.Current()
if ubranch == "" { ubranch = usr.Username }
addRepo(grid, path, mbranch, dbranch, ubranch)
addRepo(reposgrid, path, mbranch, dbranch, ubranch)
}
win.Draw()
box2 := reposwin.Box().NewBox("bw vbox", false)
box2.NewButton("reposgrid.Margin()", func () {
log.Warn("reposgrid.Margin() RUN NOW")
reposgrid.Margin()
log.Warn("reposgrid.Pad() RUN NOW")
reposgrid.Pad()
})
box2.NewButton("status.Update() all", func () {
for _, repo := range allrepos {
repo.status.Update()
}
})
box2.NewButton("rescan all", func () {
for _, repo := range allrepos {
repo.newScan()
}
})
reposwin.Draw()
}

View File

@ -7,7 +7,6 @@ import (
"go.wit.com/log"
"go.wit.com/gui/gadgets/repostatus"
"go.wit.com/apps/control-panel-dns/smartwindow"
)
@ -62,53 +61,3 @@ func myrepolist() []string {
lines := strings.Split(out, "\n")
return lines
}
func (r *repo) newScan() bool {
if r.status == nil {
log.Warn("repo.status = nil. not initialized for some reason")
return false
}
// r.scan()
if repostatus.VerifyLocalGoRepo(r.getPath()) {
log.Warn("repo actually exists", r.getPath())
} else {
log.Warn("repo does not exist", r.getPath())
return false
}
mn := r.status.GetMasterName()
mv := r.status.GetMasterVersion()
r.masterVersion.Set(mn + " " + mv)
dn := r.status.GetDevelName()
dv := r.status.GetDevelVersion()
r.develVersion.Set(dn + " " + dv)
un := r.status.GetUserName()
uv := r.status.GetUserVersion()
r.jcarrVersion.Set(un + " " + uv)
cbname := r.status.GetCurrentBranchName()
cbversion := r.status.GetCurrentBranchVersion()
ltversion := r.status.GetLastTagVersion()
r.lastLabel.Set(cbname + " " + cbversion)
r.vLabel.Set(cbname + " " + ltversion)
if r.status.CheckDirty() {
log.Warn("CheckDirty() true")
r.dirtyLabel.Set("dirty")
return false
}
log.Warn("CheckDirty() no")
r.dirtyLabel.Set("not dirty")
if r.status.CheckBranches() {
log.Warn("Branches are Perfect")
r.dirtyLabel.SetText("PEFECT")
return true
} else {
log.Warn("Branches are not Perfect")
r.dirtyLabel.SetText("merge")
}
return false
}

58
scan.go Normal file
View File

@ -0,0 +1,58 @@
// This is a simple example
package main
import (
"go.wit.com/log"
"go.wit.com/gui/gadgets/repostatus"
)
func (r *repo) newScan() bool {
if r.status == nil {
log.Warn("repo.status = nil. not initialized for some reason")
return false
}
// r.scan()
if repostatus.VerifyLocalGoRepo(r.getPath()) {
log.Warn("repo actually exists", r.getPath())
} else {
log.Warn("repo does not exist", r.getPath())
return false
}
mn := r.status.GetMasterName()
mv := r.status.GetMasterVersion()
r.masterVersion.Set(mn + "\n" + mv)
dn := r.status.GetDevelName()
dv := r.status.GetDevelVersion()
r.develVersion.Set(dn + "\n" + dv)
un := r.status.GetUserName()
uv := r.status.GetUserVersion()
r.jcarrVersion.Set(un + "\n" + uv)
cbname := r.status.GetCurrentBranchName()
cbversion := r.status.GetCurrentBranchVersion()
ltversion := r.status.GetLastTagVersion()
r.lastLabel.Set(cbname + "\n" + cbversion)
r.vLabel.Set(cbname + "\n" + ltversion)
if r.status.CheckDirty() {
log.Warn("CheckDirty() true")
r.dirtyLabel.Set("dirty")
return false
}
log.Warn("CheckDirty() no")
r.dirtyLabel.Set("not dirty")
if r.status.CheckBranches() {
log.Warn("Branches are Perfect")
r.dirtyLabel.SetText("PEFECT")
return true
} else {
log.Warn("Branches are not Perfect")
r.dirtyLabel.SetText("merge")
}
return false
}

View File

@ -1,20 +1,18 @@
// This is a simple example
// watch all your go git repos
package main
import (
// "os/user"
// "io/ioutil"
// "strings"
// "go.wit.com/log"
"go.wit.com/gui/gui"
// "go.wit.com/gui/gadgets"
"go.wit.com/gui/gadgets"
"go.wit.com/gui/gadgets/repostatus"
// "go.wit.com/apps/control-panel-dns/smartwindow"
)
// the main window nodes
var myGui *gui.Node
var reposwin *gadgets.BasicWindow
var reposbox *gui.Node
var reposgrid *gui.Node
var reposgroup *gui.Node
var allrepos []*repo