diff options
| author | Jeff Carr <[email protected]> | 2025-09-01 13:32:25 -0500 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-09-01 13:32:25 -0500 |
| commit | 5dadf3b5ef3f58c80c7a62f96a0a62b4a784961b (patch) | |
| tree | b1f4b5880aaaaab50cce43eac30eb203361d458b /doGui.go | |
| parent | cdc4155ef1b783b10b3c74f43171d43c690dd995 (diff) | |
add a GUI
Diffstat (limited to 'doGui.go')
| -rw-r--r-- | doGui.go | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/doGui.go b/doGui.go new file mode 100644 index 0000000..157eed0 --- /dev/null +++ b/doGui.go @@ -0,0 +1,83 @@ +// 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 ( + "fmt" + "os" + "time" + + "go.wit.com/gui" + "go.wit.com/lib/gadgets" + "go.wit.com/log" +) + +func debug() { + time.Sleep(2 * time.Second) + for { + log.Printf("idle loop() could check for things here") + time.Sleep(90 * time.Second) + } +} + +func doGui() { + me.myGui = gui.New() + // me.myGui.SetAppDefaultPlugin(me.forge.Config.DefaultGui) + me.myGui.Default() + + me.mainWindow = gadgets.NewGenericWindow("regex: a WIT Cloud private AI tool", "Current Conversations") + me.mainWindow.Custom = func() { + log.Warn("MAIN WINDOW CLOSE") + os.Exit(0) + } + + drawWindow(me.mainWindow) + + // sits here forever + debug() + +} + +func drawWindow(win *gadgets.GenericWindow) { + grid := win.Group.RawGrid() + + grid.NewLabel("label worked") + grid.NextRow() + + var insertWin *gadgets.GenericWindow + s := fmt.Sprintf("Show Chat Entries (%d)", me.chats.Len()) + grid.NewButton(s, func() { + // if the window exists, just toggle it open or closed + if insertWin != nil { + insertWin.Toggle() + return + } + + insertWin = makeChatsWindow() + }) + + var oldWin *gadgets.GenericWindow + grid.NewButton("old", func() { + if oldWin != nil { + oldWin.Toggle() + return + } + oldWin = makeOldStuff() + }) +} + +// old things before they are removed, deprecated, fixed, etc +func makeOldStuff() *gadgets.GenericWindow { + oldWin := gadgets.NewGenericWindow("old code", "old code on it's way out") + + grid := oldWin.Group.RawGrid() + + grid.NewButton("Release Window", func() { + log.Info("todo: move releaser here") + }) + + return oldWin +} |
