diff options
| author | Jeff Carr <[email protected]> | 2022-11-09 08:38:50 -0600 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2022-11-09 08:38:50 -0600 |
| commit | ed382bec55be25039e4dcf020d1512139855c9bb (patch) | |
| tree | fb3a671fd07c03a75cedb8d56b2241108cd792ff /widget.go | |
| parent | b410d0fd083ee89eed410cda2123a22cddcd3f44 (diff) | |
cleanup of the example commands. more plugin workv0.4.6
add a button in two plugins at the same time!
added a button in andlabs/ui & gocui
attempt a common widget struct between wit/gui & the plugins
start handling missing plugins
rename Makefile command examples
remote examples used for testing
filename improvements
golang src code uses lowercase and _ in filenames
fix crash when button click function == nil
fix wrong name 'gocli' -> 'gocui'
keep fighting with goreadme generated README.md
Signed-off-by: Jeff Carr <[email protected]>
Diffstat (limited to 'widget.go')
| -rw-r--r-- | widget.go | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/widget.go b/widget.go new file mode 100644 index 0000000..2d97f61 --- /dev/null +++ b/widget.go @@ -0,0 +1,57 @@ +package gui + +// passes information between the toolkit library (plugin) + +// All Toolkit interactions should be done via a channel or Queue() + +// This is the only thing that is passed between the toolkit plugin + +// what names should be used? This is not part of [[Graphical Widget]] +// Event() seems like a good name. +// Could a protobuf be used here? (Can functions be passed?) +type Widget struct { + i int + s string + + Name string + Width int + Height int + + Event func(*Widget) *Widget + + // Probably deprecate these + OnChanged func(*Widget) + Custom func(*Widget) + OnExit func(*Widget) +} + +/* +type Widget int + +// https://ieftimov.com/post/golang-datastructures-trees/ +const ( + Unknown Widget = iota + Window + Tab + Frame + Dropbox + Spinner + Label +) + +func (s Widget) String() string { + switch s { + case Window: + return "Window" + case Tab: + return "Tab" + case Frame: + return "Frame" + case Label: + return "Label" + case Dropbox: + return "Dropbox" + } + return "unknown" +} +*/ |
