diff --git a/repo.test.go b/repo.test.go index 1eaef6d..5ce8476 100644 --- a/repo.test.go +++ b/repo.test.go @@ -10,6 +10,8 @@ package gitpb +import "go.wit.com/log" + /* func (mt *ReposTable) Delete() { if mt == nil { @@ -24,3 +26,51 @@ func (mt *ReposTable) Delete() { func (mt *ReposTable) UpdateTable(pb *Repos) { // mt.parent.UpdateTable(pb) } + +func (mt *ReposTable) lookupByWidgetId(id int) *Repo { + log.Info("no shit. got to lookupWidgdetId() id =", id, "on mt", mt.GetUuid()) + + for _, r := range mt.pb.StringRows { + for _, w := range r.Widgets { + if int(w.Id) == id { + log.Info("lookupByWidgetId() found id", id, w.Location) + return mt.x.Repos[w.Location.Y - 1] + } + } + } + + for _, r := range mt.pb.ButtonRows { + for _, w := range r.Widgets { + if int(w.Id) == id { + log.Info("lookupByWidgetId() found id", id, w.Location) + if w.Location == nil { + log.Info("lookupByWidgetId() location was nil", id, w.Location) + return nil + } + return mt.x.Repos[w.Location.Y - 1] + } + } + } + + return nil +} + +func (mt *ReposTable) reposCustom(id int) { + repo := mt.lookupByWidgetId(id) + mt.CustomFunc(repo) +} + +func (mt *ReposTable) Custom(f func(*Repo)) { + mt.pb.RegisterCustom(mt.reposCustom) + mt.CustomFunc = f +} + +//func (mt *ReposTable) CustomRegister(f func(int)) { +// mt.pb.RegisterCustom(mt.reposCustom) +//} + +func (mt *ReposTable) GetUuid() string { + return mt.pb.Uuid +} + +// END GUI