forge/structs.go

75 lines
1.8 KiB
Go

package main
import (
"go.wit.com/dev/alexflint/arg"
"go.wit.com/gui"
"go.wit.com/lib/gadgets"
"go.wit.com/lib/protobuf/forgepb"
"go.wit.com/lib/protobuf/gitpb"
)
var me *mainType
func (b *mainType) Disable() {
b.mainbox.Disable()
}
func (b *mainType) Enable() {
b.mainbox.Enable()
}
// this app's variables
type mainType struct {
pp *arg.Parser // for parsing the command line args. Yay to alexf lint!
forge *forgepb.Forge // for holding the forge protobuf files
myGui *gui.Node // the gui toolkit handle
found *gitpb.Repos // stores the list of repos to process things on
foundPaths []string // stores gopaths to act on (when doing go-clone)
configSave bool // if the config file should be saved after finishing
urlbase string // base URL
// our view of the repositories
repos *repoWindow
mainWindow *gadgets.BasicWindow
// the main box. enable/disable this
mainbox *gui.Node
// the window from the /lib/gui/gowit package
// lw *gadgets.BasicWindow
// #### Sorting options for the repolist
// autoHidePerfect *gui.Node
// autoHideReadOnly *gui.Node
// checkbox for --dry-run
autoDryRun *gui.Node
// checkbox to enable intermittent scanning
// if checked, it will check all your repos for changes
autoScanReposCB *gui.Node
// what is being used as your home dir
userHomePwd *gadgets.OneLiner
// what is being used as ~/go/src
goSrcPwd *gadgets.OneLiner
// ENV GIT_AUTHOR NAME and EMAIL
gitAuthor *gadgets.OneLiner
// displays a summary of all the repos
// has total dirty, total read-only
// total patches, etc
summary *patchSummary
// when switch to user or devel branches, autocreate them
autoCreateBranches *gui.Node
// these hold the branches that the user can switch all
// the repositories to them
newBranch *gui.Node
setBranchB *gui.Node
}