autotypist/structs.go

111 lines
2.6 KiB
Go
Raw Normal View History

package main
import (
"go.wit.com/gui"
"go.wit.com/lib/gadgets"
"go.wit.com/lib/gui/repostatus"
)
var me *autoType
2024-02-13 16:18:37 -06:00
func (b *autoType) Disable() {
b.mainbox.Disable()
}
func (b *autoType) Enable() {
b.mainbox.Enable()
}
// this app's variables
type autoType struct {
allrepos map[string]*repo
myGui *gui.Node
autotypistWindow *gui.Node
2024-02-13 16:18:37 -06:00
// the main box. enable/disable this
mainbox *gui.Node
// the window from the /lib/gui/gowit package
lw *gadgets.BasicWindow
reposwin *gadgets.BasicWindow
reposbox *gui.Node
reposgrid *gui.Node
reposgroup *gui.Node
// #### autotypist Global Display Options
autoHidePerfect *gui.Node
autoHideReadOnly *gui.Node
// #### autotypist Global Build Options
// what to change all the branches to
// so, as a developer, you can move all the repos
// to the 'devel' branch and then test a devel branch build
// then switch back to your 'username' branch and do a build there
toMoveToBranch string
// displays the preferred names used for the repo tree state
mainBranch *gadgets.BasicCombobox
develBranch *gadgets.BasicCombobox
userBranch *gadgets.BasicCombobox
// this button will regenerate everyones go.mod & go.sum
rerunGoMod *gui.Node
// if checked, will stop trying to os.Exec() things after failure
stopOnErrors *gui.Node
// button to attempt to autorebuild
autoRebuildButton *gui.Node
// checkbox for --dry-run
autoDryRun *gui.Node
// checkbox for intermittent scanning
scanEveryMinute *gui.Node
// The current working directory
// autoWorkingPwd *gadgets.OneLiner
// what is being used as your home dir
userHomePwd *gadgets.OneLiner
// what is being used as ~/go/src
goSrcPwd *gadgets.OneLiner
downloadEverythingButton *gui.Node
// delete ~/go/src & ~/go/pkg buttons
deleteGoSrcPkgB *gui.Node
// displays a summary of all the repos
// has total dirty, total read-only
// total patches, etc
summary *patchSummary
}
type repo struct {
2024-02-16 01:18:58 -06:00
hidden bool
// path string
lasttagrev string
lasttag string
2024-02-13 16:18:37 -06:00
giturl string
pLabel *gui.Node // path label
lastTag *gui.Node // last tagged version label
vLabel *gui.Node // version label
dirtyLabel *gui.Node // git state (dirty or not?)
goSumStatus *gui.Node // what is the state of the go.sum file
masterVersion *gui.Node // the master branch version
develVersion *gui.Node // the devel branch version
userVersion *gui.Node // the user branch version
endBox *gui.Node // a general box at the end of the row
statusButton *gui.Node // opens up the status window
diffButton *gui.Node // opens up the status window
status *repostatus.RepoStatus
}