summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--windowApply.go61
1 files changed, 61 insertions, 0 deletions
diff --git a/windowApply.go b/windowApply.go
new file mode 100644
index 0000000..11bb4fa
--- /dev/null
+++ b/windowApply.go
@@ -0,0 +1,61 @@
+package main
+
+import (
+ "sync"
+
+ "go.wit.com/lib/gadgets"
+ "go.wit.com/log"
+
+ "go.wit.com/gui"
+)
+
+// Shout out to "Go Generics 101" by Tapir Liu. Buy this book!
+
+type Lockable[T any] struct {
+ mu sync.Mutex
+ data T
+}
+
+func (l *Lockable[T]) Do(f func(*T)) {
+}
+
+func (l *Lockable[T]) Hide() {
+ log.Info("testing:", l)
+}
+
+type applyWindow struct {
+ win *gadgets.BasicWindow
+ box *gui.Node
+
+ // the top box of the repolist window
+ topbox *gui.Node
+}
+
+type C3 = interface {
+ Show()
+ Hide()
+ Hidden() bool
+ Enable()
+ Disable()
+ ~*gadgets.BasicWindow | ~*gui.Node
+}
+
+func (r applyWindow) Hidden() bool {
+ return r.win.Hidden()
+}
+
+func (r applyWindow) Show() {
+ r.win.Show()
+}
+
+func (r applyWindow) Hide() {
+ r.win.Hide()
+}
+
+func (r applyWindow) Disable() {
+ r.box.Disable()
+}
+
+func (r applyWindow) Enable() {
+ r.box.Enable()
+}