works with new toolkit and gui changes
Signed-off-by: Jeff Carr <jcarr@wit.com>
This commit is contained in:
parent
38595e75f2
commit
d91e80a9ea
|
@ -7,6 +7,8 @@ type Action struct {
|
|||
WidgetId int
|
||||
ParentId int
|
||||
|
||||
State State
|
||||
|
||||
// Text string // what is visable to the user
|
||||
ProgName string // a name useful for programming
|
||||
|
||||
|
@ -67,8 +69,11 @@ const (
|
|||
Move
|
||||
Dump
|
||||
User // the user did something (mouse, keyboard, etc)
|
||||
InitToolkit // initializes the toolkit
|
||||
CloseToolkit // closes the toolkit
|
||||
ToolkitLoad // attempts to load a new toolkit
|
||||
ToolkitInit // initializes the toolkit
|
||||
ToolkitClose // closes the toolkit
|
||||
ToolkitPanic
|
||||
CloseWindow
|
||||
UserQuit // the user closed the GUI
|
||||
EnableDebug // open the debugging window
|
||||
)
|
||||
|
|
|
@ -106,7 +106,10 @@ func GetInt(A any) int {
|
|||
return A.(int)
|
||||
case reflect.String:
|
||||
tmp := A.(string)
|
||||
i, _ := strconv.Atoi(tmp)
|
||||
i, err := strconv.Atoi(tmp)
|
||||
if err != nil {
|
||||
return -1
|
||||
}
|
||||
return i
|
||||
case reflect.Bool:
|
||||
if A.(bool) {
|
||||
|
|
|
@ -0,0 +1,63 @@
|
|||
package widget
|
||||
|
||||
// This is the state of the widget
|
||||
|
||||
// The whole state of the widget is sent
|
||||
// when the widget action is Add() or Show()
|
||||
|
||||
// Range(1, 10) includes the values 1 and 10
|
||||
// almost all toolkits use integers so there doesn't
|
||||
// seem to be a good idea to use 'type any' here as it
|
||||
// just makes things more complicated for no good reason
|
||||
type State struct {
|
||||
// This is a unmodifiable string that is displayed to the user.
|
||||
Label string
|
||||
|
||||
// most primitive widgets just store a single thing
|
||||
// it is the default value
|
||||
Value any
|
||||
|
||||
// how to arrange widgets
|
||||
Direction Orientation
|
||||
|
||||
//
|
||||
// This is complicated. We must send a list of all the widgets
|
||||
// in the binary tree to the toolkits because some toolkits
|
||||
// must make the widgets exist and then hide them.
|
||||
//
|
||||
// However, when a widget is not visable, no updates to the
|
||||
// widget is sent to the toolkit and no events from the
|
||||
// widget are valid back to the program
|
||||
//
|
||||
Visable bool
|
||||
|
||||
// if false, pack things as tightly as possible
|
||||
Pad bool
|
||||
|
||||
// trys to fill up available space
|
||||
Expand bool
|
||||
|
||||
// All the strings for things like dropdown menus
|
||||
// They must be sent in display order
|
||||
// These must be unique
|
||||
Strings []string
|
||||
|
||||
// for widgets that use a range
|
||||
Range RangeType
|
||||
|
||||
Geom Geom
|
||||
Size Size
|
||||
|
||||
GridSize GridSize
|
||||
GridOffset GridOffset
|
||||
|
||||
// This is for the grid size & widget position
|
||||
W int
|
||||
H int
|
||||
AtW int
|
||||
AtH int
|
||||
|
||||
// a name useful for programming and the debugger.
|
||||
// It is not intended to be displayed to the user
|
||||
ProgName string
|
||||
}
|
Loading…
Reference in New Issue