From 4b6207743b90968d6b822032a4355e43b6ce6da9 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Mon, 3 Apr 2023 10:26:47 -0500 Subject: gocui: working towards correct layout make a gocui widget binary tree more debugging cleanups sample button app displays in gocui geometry logic closer to correct improvements in gocui layout continued attempts to clean up tabs dump binary tree moving towards proper chan callback() deprecate Widget.Name Signed-off-by: Jeff Carr --- toolkit/democui/structs.go | 127 --------------------------------------------- 1 file changed, 127 deletions(-) delete mode 100644 toolkit/democui/structs.go (limited to 'toolkit/democui/structs.go') diff --git a/toolkit/democui/structs.go b/toolkit/democui/structs.go deleted file mode 100644 index 37a8f28..0000000 --- a/toolkit/democui/structs.go +++ /dev/null @@ -1,127 +0,0 @@ -// LICENSE: same as the go language itself -// Copyright 2023 WIT.COM - -// all structures and variables are local (aka lowercase) -// since the plugin should be isolated to access only -// by functions() to insure everything here is run -// inside a dedicated goroutine - -package main - -import ( - "fmt" - "sync" - "github.com/awesome-gocui/gocui" - "git.wit.org/wit/gui/toolkit" -) - -// const delta = 1 - -// It's probably a terrible idea to call this 'me' -var me config - -type config struct { - highest int // highest widgetId - baseGui *gocui.Gui // the main gocui handle - widgets map[int]*cuiWidget - callback func(int) - helpLabel *gocui.View - - defaultBehavior bool - defaultWidth int - defaultHeight int - nextW int // where the next window or tab flag should go - - bookshelf bool // do you want things arranged in the box like a bookshelf or a stack? - canvas bool // if set to true, the windows are a raw canvas - menubar bool // for windows - stretchy bool // expand things like buttons to the maximum size - padded bool // add space between things like buttons - margin bool // add space around the frames of windows -} - -/* -// This is a map between the widgets in wit/gui and the internal structures of gocui -var viewWidget map[*gocui.View]*toolkit.Widget -var stringWidget map[string]*toolkit.Widget -*/ - -var ( -// g *gocui.Gui -// Custom func(string) - - initialMouseX, initialMouseY, xOffset, yOffset int - globalMouseDown, msgMouseDown, movingMsg bool - -// err error -) - -// the gocui way -// the logical size of the widget -// corner starts at in the upper left corner -type rectType struct { - // this is the gocui way - w0, h0, w1, h1 int // left top right bottom -} - -/* -type realSizeT struct { - width, height int -} -*/ - - -type cuiWidget struct { - id int // widget ID - parentId int - widgetType toolkit.WidgetType - - name string // a descriptive name of the widget - text string // the current text being displayed - - visable bool // widget types like 'box' are 'false' - realWidth int // the real width - realHeight int // the real height - realSize rectType // the display size of this widget - logicalSize rectType // the logical size. Includes all the child widgets - - nextX int - nextY int - - // horizontal=true means layout widgets like books on a bookshelf - // horizontal=false means layout widgets like books in a stack - horizontal bool `default:false` - - tainted bool - v *gocui.View - baseGui *gocui.Gui // use gogui.Manager ? as 'workspaces?' - - // writeMutex protects locks the write process - writeMutex sync.Mutex - - // deprecate - // logicalWidth int `default:8` - // logicalHeight int `default:2` - // rect rectType - // current rectType // the logical size. Includes all the child widgets - // width int - // height int -} - -// from the gocui devs: -// Write appends a byte slice into the view's internal buffer. Because -// View implements the io.Writer interface, it can be passed as parameter -// of functions like fmt.Fprintf, fmt.Fprintln, io.Copy, etc. Clear must -// be called to clear the view's buffer. - -func (w *cuiWidget) Write(p []byte) (n int, err error) { - w.tainted = true - w.writeMutex.Lock() - defer w.writeMutex.Unlock() - // v.makeWriteable(v.wx, v.wy) - // v.writeRunes(bytes.Runes(p)) - fmt.Fprintln(w.v, p) - log(logNow, "widget.Write()") - - return len(p), nil -} -- cgit v1.2.3