diff options
| author | Jeff Carr <[email protected]> | 2025-05-31 14:38:55 -0500 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-05-31 14:38:55 -0500 |
| commit | 9f367cb39b6f6275b0f88fc4fc038cdec33334fa (patch) | |
| tree | 1d6ae341f67905ec304c11a2dc7d26a9bfd6ab1e /windowReposNew.go | |
| parent | 2f8da5a8be17c161c107cff96adabe178c977500 (diff) | |
drop old code. rearrange buttons
Diffstat (limited to 'windowReposNew.go')
| -rw-r--r-- | windowReposNew.go | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/windowReposNew.go b/windowReposNew.go new file mode 100644 index 0000000..0b7a969 --- /dev/null +++ b/windowReposNew.go @@ -0,0 +1,114 @@ +// Copyright 2017-2025 WIT.COM Inc. All rights reserved. +// Use of this source code is governed by the GPL 3.0 + +package main + +// An app to submit patches for the 30 GO GUI repos + +import ( + "sync" + + "go.wit.com/gui" + "go.wit.com/lib/gadgets" + "go.wit.com/lib/protobuf/gitpb" + "go.wit.com/log" +) + +type stdReposTableWin struct { + sync.Mutex + win *gadgets.GenericWindow // the machines gui window + boxTB *gui.Node // the machines gui parent box widget + TB *gitpb.ReposTable // the gui table buffer + pb *gitpb.Repos // the current repos protobuf + update bool // if the window should be updated +} + +func (w *stdReposTableWin) Toggle() { + if w == nil { + return + } + if w.win == nil { + return + } + w.win.Toggle() +} + +func makeWindowForPB() *gadgets.GenericWindow { + win := gadgets.NewGenericWindow("Forge Repos Raw Protobuf View", "Filter Git Repositories") + + return win +} + +func makeReposWinNew() *gadgets.GenericWindow { + insertWin := makeWindowForPB() + insertWin.Win.Custom = func() { + log.Info("test delete window here") + } + grid := insertWin.Group.RawGrid() + + var t *gitpb.ReposTable + grid.NewButton("dirty", func() { + if t != nil { + t.Delete() + t = nil + } + found := findDirty() + + // display the protobuf + t = addWindowPB(insertWin, found) + f := func(repo *gitpb.Repo) { + log.Info("got to ReposTable.Custom() id =", repo.GetGoPath(), repo.GetCurrentVersion()) + } + t.Custom(f) + log.Info("table has uuid", t.GetUuid()) + }) + + grid.NewButton("writeable", func() { + if t != nil { + t.Delete() + t = nil + } + found := new(gitpb.Repos) + all := me.forge.Repos.SortByFullPath() + for all.Scan() { + repo := all.Next() + if me.forge.Config.IsReadOnly(repo.GetGoPath()) { + continue + } + + found.AppendByGoPath(repo) + + } + + // make the window for the first time + t = addWindowPB(insertWin, found) + f := func(repo *gitpb.Repo) { + log.Info("got to ReposTable.Custom() id =", repo.GetGoPath(), repo.GetCurrentVersion()) + } + t.Custom(f) + log.Info("table has uuid", t.GetUuid()) + }) + + grid.NewButton("all", func() { + if t != nil { + t.Delete() + t = nil + } + found := new(gitpb.Repos) + all := me.forge.Repos.SortByFullPath() + for all.Scan() { + repo := all.Next() + found.AppendByGoPath(repo) + + } + // display the protobuf + t = addWindowPB(insertWin, found) + f := func(repo *gitpb.Repo) { + log.Info("got to ReposTable.Custom() id =", repo.GetGoPath(), repo.GetCurrentVersion()) + } + t.Custom(f) + log.Info("table has uuid", t.GetUuid()) + }) + + return insertWin +} |
