diff options
| author | Jeff Carr <[email protected]> | 2025-02-22 13:40:30 -0600 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-02-22 13:50:27 -0600 |
| commit | 49d2653fd41b1d3caa54950892a3a6d11a5abfff (patch) | |
| tree | 4f1f4bcb25dc650b640334b36ef241b927525ce0 /windowGeneric.go | |
| parent | e9f7b99846f6afa0ccdf0f026476b367dc7cfcec (diff) | |
convert to pb grid
Diffstat (limited to 'windowGeneric.go')
| -rw-r--r-- | windowGeneric.go | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/windowGeneric.go b/windowGeneric.go new file mode 100644 index 0000000..7daae01 --- /dev/null +++ b/windowGeneric.go @@ -0,0 +1,92 @@ +// Copyright 2017-2025 WIT.COM Inc. All rights reserved. +// Use of this source code is governed by the GPL 3.0 + +package main + +import ( + "go.wit.com/lib/gadgets" + "go.wit.com/log" + + "go.wit.com/gui" +) + +type genericWindow struct { + win *gadgets.BasicWindow // the window widget itself + box *gui.Node // the top box of the repolist window + group *gui.Node // the default group +} + +func (r *genericWindow) Hidden() bool { + if r == nil { + return true + } + if r.win == nil { + return true + } + return r.win.Hidden() +} + +func (r *genericWindow) Toggle() { + if r.Hidden() { + r.Show() + } else { + r.Hide() + } +} + +func (r *genericWindow) Show() { + if r == nil { + return + } + if r.win == nil { + return + } + r.win.Show() +} + +func (r *genericWindow) Hide() { + if r == nil { + return + } + if r.win == nil { + return + } + r.win.Hide() +} + +func (r *genericWindow) Disable() { + if r == nil { + return + } + if r.box == nil { + return + } + r.box.Disable() +} + +func (r *genericWindow) Enable() { + if r == nil { + return + } + if r.box == nil { + return + } + r.box.Enable() +} + +func initGenericWindow(title string, grouptxt string) *genericWindow { + gw := new(genericWindow) + gw.win = gadgets.RawBasicWindow(title) + gw.win.Make() + + gw.box = gw.win.Box().Vertical() // a vertical box (like a stack of books) + gw.win.Custom = func() { + log.Warn("Found Window close. setting hidden=true") + // sets the hidden flag to false so Toggle() works + gw.win.Hide() + } + gw.group = gw.box.NewGroup(grouptxt) + gw.Show() + + return gw +} |
