From 87b62c98a6ebd9d0e48850d1710de7f39aba41c8 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Thu, 27 Apr 2023 21:11:00 -0500 Subject: nocui: a template for porting new toolkits Signed-off-by: Jeff Carr --- toolkit/gocui/structs.go | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'toolkit/gocui') diff --git a/toolkit/gocui/structs.go b/toolkit/gocui/structs.go index e9f89af..b2a8b20 100644 --- a/toolkit/gocui/structs.go +++ b/toolkit/gocui/structs.go @@ -85,11 +85,40 @@ type config struct { writeMutex sync.Mutex } +// deprecate these var ( initialMouseX, initialMouseY, xOffset, yOffset int globalMouseDown, msgMouseDown, movingMsg bool ) +// this is the standard binary tree structure for toolkits +type node struct { + parent *node + children []*node + + WidgetId int // widget ID + WidgetType toolkit.WidgetType + ParentId int // parent ID + + Name string + Text string + + // This is how the values are passed back and forth + // values from things like checkboxes & dropdown's + B bool + I int + S string + + A any // switch to this or deprecate this? pros/cons? + + // This is used for things like a slider(0,100) + X int + Y int + + // the internal plugin toolkit structure + tk *cuiWidget +} + // the gocui way // the logical size of the widget // corner starts at in the upper left corner -- cgit v1.2.3