Compare commits

..

5 Commits

Author SHA1 Message Date
Jeff Carr 642929aca1 add missing widget Actions 2025-03-03 00:13:13 -06:00
Jeff Carr a7cc6fa5d3 stub in widgetpb 2025-03-02 20:06:07 -06:00
Jeff Carr 59f97be98c subbed in tables 2025-02-13 20:11:32 -06:00
Jeff Carr d4b7cd32d4 goimport lint 2025-02-02 15:04:07 -06:00
Jeff Carr ad6bb0f1c1 notes to trigger build to downgrade golang to 1.20 2024-12-02 09:00:51 -06:00
10 changed files with 85 additions and 59 deletions

View File

@ -1,4 +1,4 @@
all: all: goimports vet
@echo @echo
@echo This defines the primitive widgets @echo This defines the primitive widgets
@echo @echo
@ -19,3 +19,7 @@ redomod:
rm -f go.* rm -f go.*
GO111MODULE= go mod init GO111MODULE= go mod init
GO111MODULE= go mod tidy GO111MODULE= go mod tidy
vet:
@GO111MODULE=off go vet
@echo this go library builds okay

View File

@ -8,6 +8,7 @@ Principles:
* Make code using this package simple to use * Make code using this package simple to use
* Widget names should try to match [Wikipedia Graphical widget] * Widget names should try to match [Wikipedia Graphical widget]
* It's ok to guess. Try to do something sensible. * It's ok to guess. Try to do something sensible.
* TODO: use protobuf
``` ```
### Links ### Links

View File

@ -42,6 +42,9 @@ type Action struct {
// Make widgets fill up the space available // Make widgets fill up the space available
Expand bool Expand bool
TablePB []byte // a table protobuf
WidgetPB []byte // a tree of widgets
} }
type ActionType int // Add, SetText, Click, Hide, Append, Delete, etc type ActionType int // Add, SetText, Click, Hide, Append, Delete, etc
@ -109,6 +112,22 @@ func (s ActionType) String() string {
return "Move" return "Move"
case Dump: case Dump:
return "Dump" return "Dump"
case User:
return "User"
case ToolkitLoad:
return "ToolkitLoad"
case ToolkitInit:
return "ToolkitInit"
case ToolkitClose:
return "ToolkitClose"
case ToolkitPanic:
return "ToolkitPanic"
case Heartbeat:
return "Heartbeat"
case UserQuit:
return "UserQuit"
case EnableDebug:
return "EnableDebug"
} }
return "ActionType.String() Error" return "gui ActionType.String() Error. must be missing something in the code here"
} }

2
doc.go
View File

@ -5,7 +5,6 @@ There are lots of issues when supporting multiple toolkit plugin
geometries. The geometries vary widely especially between the geometries. The geometries vary widely especially between the
graphical displays and the serial console ones. [Graphical Widget](http://en.wikipedia.org/Graphical_Widget) graphical displays and the serial console ones. [Graphical Widget](http://en.wikipedia.org/Graphical_Widget)
To simplyfy this, we stick to using the concepts: To simplyfy this, we stick to using the concepts:
------------------------------ ^ ------------------------------ ^
@ -44,6 +43,7 @@ Horizontal means layout widgets like books on a bookshelf
--------------------------------- ---------------------------------
Vertical means layout widgets like books in a stack Vertical means layout widgets like books in a stack
---------- ----------
| Widget | | Widget |
---------- ----------

View File

@ -25,6 +25,7 @@ Horizontal means layout widgets like books on a bookshelf
--------------------------------- ---------------------------------
Vertical means layout widgets like books in a stack Vertical means layout widgets like books in a stack
---------- ----------
| Widget | | Widget |
---------- ----------
@ -51,5 +52,4 @@ func (s Orientation) String() string {
default: default:
return "Horizontal" return "Horizontal"
} }
return "Horizontal"
} }

View File

@ -56,7 +56,6 @@ func GetString(A any) string {
// log.Warn("getString uknown kind", k, "value =", A) // log.Warn("getString uknown kind", k, "value =", A)
return "" return ""
} }
return ""
} }
// work like unix os.Exec() ? everything other than 0 is false // work like unix os.Exec() ? everything other than 0 is false
@ -89,7 +88,6 @@ func GetBool(A any) bool {
// log.Warn("getString uknown kind", k, "value =", A) // log.Warn("getString uknown kind", k, "value =", A)
return false return false
} }
return false
} }
// work like unix? everything other than 0 is false // work like unix? everything other than 0 is false
@ -121,5 +119,4 @@ func GetInt(A any) int {
// log.Warn("getString uknown kind", k, "value =", A) // log.Warn("getString uknown kind", k, "value =", A)
return -1 return -1
} }
return -1
} }

View File

@ -1,5 +1,7 @@
package widget package widget
// TODO: redo this with protocol buffers
// This is the state of the widget // This is the state of the widget
// The whole state of the widget is sent // The whole state of the widget is sent

View File

@ -33,6 +33,7 @@ const (
Textbox // is this a Label with edit=true Textbox // is this a Label with edit=true
Slider // like a progress bar Slider // like a progress bar
Spinner // like setting the oven temperature Spinner // like setting the oven temperature
Table // a full window & table
Separator // TODO Separator // TODO
Image // TODO Image // TODO
Area // TODO Area // TODO
@ -79,6 +80,8 @@ func (s WidgetType) String() string {
return "Spinner" return "Spinner"
case Separator: case Separator:
return "Separator" return "Separator"
case Table:
return "Table"
case Image: case Image:
return "Image" return "Image"
case Area: case Area: