diff --git a/structs.go b/structs.go index 9df35aa..45f7c0e 100644 --- a/structs.go +++ b/structs.go @@ -18,6 +18,7 @@ import ( "github.com/awesome-gocui/gocui" + "go.wit.com/lib/protobuf/guipb" log "go.wit.com/log" "go.wit.com/toolkits/tree" ) @@ -181,38 +182,39 @@ type colorT struct { } type guiWidget struct { - v *gocui.View // this is nil if the widget is not displayed - cuiName string // what gocui uses to reference the widget (usually "TK " - parent *guiWidget // mirrors the binary node tree - children []*guiWidget // mirrors the binary node tree - node *tree.Node // the pointer back to the tree - windowFrame *guiWidget // this is the frame for a window widget - internal bool // indicates the widget is internal to gocui and should be treated differently - hasTabs bool // does the window have tabs? - currentTab bool // the visible tab - window window // holds information specific only to Window widgets - value string // ? - checked bool // ? - labelN string // the actual text to display in the console - vals []string // dropdown menu items - enable bool // ? - gocuiSize rectType // should mirror the real display size. todo: verify these are accurate. they are not yet - full rectType // full size of children (used by widget.Window, etc) - force rectType // force widget within these boundries (using this to debug window dragging) - startW int // ? - startH int // ? - lastW int // used during mouse dragging - lastH int // used during mouse dragging - isFake bool // widget types like 'box' are 'false' - widths map[int]int // how tall each row in the grid is - heights map[int]int // how wide each column in the grid is - tainted bool // ? - frame bool // ? - selectedTab *tree.Node // for a window, this is currently selected tab - color *colorT // what color to use - colorLast colorT // the last color the widget had - defaultColor *colorT // the default colors // TODO: make a function for this instead - isBG bool // means this is the background widget. There is only one of these + v *gocui.View // this is nil if the widget is not displayed + cuiName string // what gocui uses to reference the widget (usually "TK " + parent *guiWidget // mirrors the binary node tree + children []*guiWidget // mirrors the binary node tree + node *tree.Node // the pointer back to the tree + pb *guipb.Widget // the guipb Widget + windowFrame *guiWidget // this is the frame for a window widget + internal bool // indicates the widget is internal to gocui and should be treated differently + hasTabs bool // does the window have tabs? + currentTab bool // the visible tab + window window // holds information specific only to Window widgets + value string // ? + checked bool // ? + labelN string // the actual text to display in the console + vals []string // dropdown menu items + enable bool // ? + gocuiSize rectType // should mirror the real display size. todo: verify these are accurate. they are not yet + full rectType // full size of children (used by widget.Window, etc) + force rectType // force widget within these boundries (using this to debug window dragging) + startW int // ? + startH int // ? + lastW int // used during mouse dragging + lastH int // used during mouse dragging + isFake bool // widget types like 'box' are 'false' + widths map[int]int // how tall each row in the grid is + heights map[int]int // how wide each column in the grid is + tainted bool // ? + frame bool // ? + selectedTab *tree.Node // for a window, this is currently selected tab + color *colorT // what color to use + colorLast colorT // the last color the widget had + defaultColor *colorT // the default colors // TODO: make a function for this instead + isBG bool // means this is the background widget. There is only one of these } // THIS IS GO COMPILER MAGIC