summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2024-01-28 11:44:36 -0600
committerJeff Carr <[email protected]>2024-01-28 11:44:36 -0600
commiteca2f2aa481ea9c158592767eeeaceff09060466 (patch)
treeceff611c98bb346196f1c0885bc54edbd8e35b64
parentd5be773817445f19b98267d69849571fc9d84390 (diff)
window is starting to draw!
Signed-off-by: Jeff Carr <[email protected]>
-rw-r--r--add.go2
-rw-r--r--click.go33
-rw-r--r--debug.go21
-rw-r--r--keybindings.go3
-rw-r--r--tab.go20
-rw-r--r--view.go8
6 files changed, 53 insertions, 34 deletions
diff --git a/add.go b/add.go
index c732ab4..705430d 100644
--- a/add.go
+++ b/add.go
@@ -80,5 +80,5 @@ func addWidget(n *tree.Node) {
}
*/
}
- showWidgetPlacement(n, true, "addWidget()")
+ nw.showWidgetPlacement(true, "addWidget()")
}
diff --git a/click.go b/click.go
index f815aa6..1f3f144 100644
--- a/click.go
+++ b/click.go
@@ -100,6 +100,7 @@ func (w *guiWidget) doWidgetClick() {
log.Log(NOW, "doWidgetClick() FLAG widget name =", w.String())
log.Log(NOW, "doWidgetClick() if this is the dropdown menu, handle it here?")
case widget.Window:
+ log.Log(NOW, "doWidgetClick() START on window", w.String())
if me.currentWindow == w.node {
return
}
@@ -112,8 +113,12 @@ func (w *guiWidget) doWidgetClick() {
}
me.currentWindow = w.node
+ log.Log(NOW, "doWidgetClick() set currentWindow to", w.String())
w.setColor(&colorActiveW)
w.hideWidgets()
+ w.placeWidgets(me.RawW, me.RawH)
+ w.showWidgets()
+ /*
w.redoTabs(me.TabW, me.TabH)
for _, child := range w.children {
if child.currentTab == true {
@@ -124,6 +129,7 @@ func (w *guiWidget) doWidgetClick() {
return
}
}
+ */
/* FIXME: redo this
if ! n.hasTabs {
}
@@ -310,18 +316,20 @@ func findUnderMouse() *tree.Node {
found = n
}
}
- if n == me.ddview {
- tk := me.ddview.TK.(*guiWidget)
- log.Log(NOW, "findUnderMouse() found ddview")
- if tk.Visible() {
- log.Log(NOW, "findUnderMouse() and ddview is visable. hide it here. TODO: find highlighted row")
- found = n
- // find the actual value here and set the dropdown widget
- me.baseGui.DeleteView("ddview")
- } else {
- log.Log(NOW, "findUnderMouse() I was lying, actually it's not found")
+ /*
+ if n == me.ddview {
+ tk := me.ddview.TK.(*guiWidget)
+ log.Log(NOW, "findUnderMouse() found ddview")
+ if tk.Visible() {
+ log.Log(NOW, "findUnderMouse() and ddview is visable. hide it here. TODO: find highlighted row")
+ found = n
+ // find the actual value here and set the dropdown widget
+ me.baseGui.DeleteView("ddview")
+ } else {
+ log.Log(NOW, "findUnderMouse() I was lying, actually it's not found")
+ }
}
- }
+ */
for _, child := range widget.children {
f(child.node)
@@ -332,7 +340,8 @@ func findUnderMouse() *tree.Node {
// TODO: pop up menu with a list of them
for _, n := range widgets {
//log(logNow, "ctrlDown() FOUND widget", widget.id, widget.name)
- showWidgetPlacement(n, true, "findUnderMouse() FOUND")
+ widget := n.TK.(*guiWidget)
+ widget.showWidgetPlacement(true, "findUnderMouse() FOUND")
}
return found
}
diff --git a/debug.go b/debug.go
index 625a663..e6074ca 100644
--- a/debug.go
+++ b/debug.go
@@ -4,33 +4,22 @@ import (
"fmt"
"go.wit.com/log"
- "go.wit.com/toolkits/tree"
"go.wit.com/widget"
)
-func dumpTree(n *tree.Node, draw bool) {
- w := n.TK.(*guiWidget)
- log.Log(ERROR, "dumpTree n", n.WidgetId, n.WidgetType, n.String())
+func (w *guiWidget) dumpTree(draw bool) {
+ log.Log(ERROR, "dumpTree w", w.node.WidgetId, w.WidgetType, w.String())
if w == nil {
- log.Log(ERROR, "dumpTree n.TK == nil", n.WidgetId, n.WidgetType, n.String())
+ log.Log(ERROR, "dumpTree w.TK == nil", w.node.WidgetId, w.WidgetType, w.String())
return
}
- showWidgetPlacement(n, true, "dumpTree()")
+ w.showWidgetPlacement(true, "dumpTree()")
for _, child := range w.children {
- dumpTree(child.node, draw)
+ child.dumpTree(draw)
}
}
-func showWidgetPlacement(n *tree.Node, b bool, s string) {
- if n == nil {
- log.Log(ERROR, "WTF w == nil")
- return
- }
- w := n.TK.(*guiWidget)
- w.showWidgetPlacement(b, s)
-}
-
func (w *guiWidget) showWidgetPlacement(b bool, s string) {
var s1 string
var pId int
diff --git a/keybindings.go b/keybindings.go
index 669ecb3..66e11ed 100644
--- a/keybindings.go
+++ b/keybindings.go
@@ -118,7 +118,8 @@ func addDebugKeys(g *gocui.Gui) {
// list all widgets with positions
g.SetKeybinding("", 'M', gocui.ModNone,
func(g *gocui.Gui, v *gocui.View) error {
- dumpTree(me.treeRoot, true)
+ w := me.treeRoot.TK.(*guiWidget)
+ w.dumpTree(true)
return nil
})
diff --git a/tab.go b/tab.go
index d2b57ce..d92c427 100644
--- a/tab.go
+++ b/tab.go
@@ -108,3 +108,23 @@ func (p *guiWidget) redoTabs(nextW int, nextH int) {
nextW += sizeW
}
}
+
+func (p *guiWidget) drawWindow(nextW int, nextH int) {
+ for _, w := range p.children {
+ w.frame = true
+
+ w.gocuiSetWH(nextW, nextH)
+ w.deleteView()
+ // setCurrentTab(n)
+ // if (len(w.cuiName) < 4) {
+ // w.cuiName = "abcd"
+ // }
+
+ w.showView()
+
+ sizeW := w.Width() + me.TabPadW
+ sizeH := w.Height()
+ log.Log(NOW, "redoTabs() start nextW,H =", nextW, nextH, "gocuiSize.W,H =", sizeW, sizeH, w.String())
+ nextW += sizeW
+ }
+}
diff --git a/view.go b/view.go
index 100d1d8..2fb6b7e 100644
--- a/view.go
+++ b/view.go
@@ -42,7 +42,7 @@ func (w *guiWidget) textResize() bool {
changed = true
}
if changed {
- showWidgetPlacement(w.node, true, "textResize() changed")
+ w.showWidgetPlacement(true, "textResize() changed")
}
return changed
}
@@ -136,12 +136,12 @@ func (w *guiWidget) recreateView() {
w.v, err = me.baseGui.SetView(w.cuiName, a, b, c, d, 0)
if err == nil {
- showWidgetPlacement(w.node, true, "recreateView()")
+ w.showWidgetPlacement(true, "recreateView()")
log.Log(ERROR, "recreateView() internal plugin error err = nil")
return
}
if !errors.Is(err, gocui.ErrUnknownView) {
- showWidgetPlacement(w.node, true, "recreateView()")
+ w.showWidgetPlacement(true, "recreateView()")
log.Log(ERROR, "recreateView() internal plugin error error.IS()", err)
return
}
@@ -174,7 +174,7 @@ func (w *guiWidget) recreateView() {
}
if w.String() == "CLOUDFLARE_EMAIL" {
w.showWidgetPlacement(true, "w.String()="+w.String()+" w.label="+w.labelN+" "+w.cuiName)
- dumpTree(w.node, true)
+ w.dumpTree(true)
}
log.Log(ERROR, "recreateView() END")
}