DEMO: add andlabs/ui demo window
Signed-off-by: Jeff Carr <jcarr@wit.com>
This commit is contained in:
parent
12d232ba62
commit
412b287403
|
@ -15,6 +15,9 @@ var nodeNames = make([]string, 100)
|
||||||
|
|
||||||
func DebugWindow() {
|
func DebugWindow() {
|
||||||
Config.Title = "git.wit.org/wit/gui debug"
|
Config.Title = "git.wit.org/wit/gui debug"
|
||||||
|
Config.Width = 640
|
||||||
|
Config.Height = 480
|
||||||
|
Config.Exit = StandardClose
|
||||||
node := NewWindow()
|
node := NewWindow()
|
||||||
node.DebugTab("WIT GUI Debug Tab")
|
node.DebugTab("WIT GUI Debug Tab")
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
package toolkit
|
||||||
|
|
||||||
|
import "log"
|
||||||
|
|
||||||
|
import "github.com/andlabs/ui"
|
||||||
|
import _ "github.com/andlabs/ui/winmanifest"
|
||||||
|
|
||||||
|
func NewEntry(b *ui.Box, name string) *Toolkit {
|
||||||
|
// make new node here
|
||||||
|
log.Println("gui.Toolbox.NewEntry", name)
|
||||||
|
var t Toolkit
|
||||||
|
|
||||||
|
if (b == nil) {
|
||||||
|
log.Println("gui.ToolboxNode.NewEntry() node.UiBox == nil. I can't add a range UI element without a place to put it")
|
||||||
|
return &t
|
||||||
|
}
|
||||||
|
l := ui.NewEntry()
|
||||||
|
t.uiEntry = l
|
||||||
|
t.uiBox = b
|
||||||
|
t.uiBox.Append(l, false)
|
||||||
|
|
||||||
|
return &t
|
||||||
|
}
|
|
@ -7,55 +7,6 @@ import _ "github.com/andlabs/ui/winmanifest"
|
||||||
|
|
||||||
import "github.com/davecgh/go-spew/spew"
|
import "github.com/davecgh/go-spew/spew"
|
||||||
|
|
||||||
var DebugToolkit bool = false
|
|
||||||
|
|
||||||
// stores the raw toolkit internals
|
|
||||||
type Toolkit struct {
|
|
||||||
id string
|
|
||||||
|
|
||||||
Name string
|
|
||||||
Width int
|
|
||||||
Height int
|
|
||||||
|
|
||||||
OnChanged func(*Toolkit)
|
|
||||||
|
|
||||||
uiBox *ui.Box
|
|
||||||
uiButton *ui.Button
|
|
||||||
uiControl *ui.Control
|
|
||||||
uiLabel *ui.Label
|
|
||||||
uiSlider *ui.Slider
|
|
||||||
uiSpinbox *ui.Spinbox
|
|
||||||
uiTab *ui.Tab
|
|
||||||
uiText *ui.EditableCombobox
|
|
||||||
uiWindow *ui.Window
|
|
||||||
}
|
|
||||||
|
|
||||||
func (t *Toolkit) Value() int {
|
|
||||||
if (DebugToolkit) {
|
|
||||||
log.Println("gui.Toolkit.Value() Enter")
|
|
||||||
scs := spew.ConfigState{MaxDepth: 1}
|
|
||||||
scs.Dump(t)
|
|
||||||
}
|
|
||||||
if (t == nil) {
|
|
||||||
log.Println("gui.Toolkit.Value() can not get value t == nil")
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
if (t.uiSlider != nil) {
|
|
||||||
if (DebugToolkit) {
|
|
||||||
log.Println("gui.Toolkit.Value() =", t.uiSlider.Value)
|
|
||||||
}
|
|
||||||
return t.uiSlider.Value()
|
|
||||||
}
|
|
||||||
if (t.uiSpinbox != nil) {
|
|
||||||
if (DebugToolkit) {
|
|
||||||
log.Println("gui.Toolkit.Value() =", t.uiSpinbox.Value)
|
|
||||||
}
|
|
||||||
return t.uiSpinbox.Value()
|
|
||||||
}
|
|
||||||
log.Println("gui.Toolkit.Value() Could not find a ui element to get a value from")
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewSpinbox(b *ui.Box, name string, x int, y int) *Toolkit {
|
func NewSpinbox(b *ui.Box, name string, x int, y int) *Toolkit {
|
||||||
// make new node here
|
// make new node here
|
||||||
log.Println("gui.Toolbox.NewSpinbox()", x, y)
|
log.Println("gui.Toolbox.NewSpinbox()", x, y)
|
||||||
|
|
|
@ -0,0 +1,89 @@
|
||||||
|
package toolkit
|
||||||
|
|
||||||
|
import "log"
|
||||||
|
|
||||||
|
import "github.com/andlabs/ui"
|
||||||
|
import _ "github.com/andlabs/ui/winmanifest"
|
||||||
|
|
||||||
|
import "github.com/davecgh/go-spew/spew"
|
||||||
|
|
||||||
|
var DebugToolkit bool = false
|
||||||
|
|
||||||
|
// stores the raw toolkit internals
|
||||||
|
type Toolkit struct {
|
||||||
|
id string
|
||||||
|
|
||||||
|
Name string
|
||||||
|
Width int
|
||||||
|
Height int
|
||||||
|
|
||||||
|
OnChanged func(*Toolkit)
|
||||||
|
|
||||||
|
uiBox *ui.Box
|
||||||
|
uiButton *ui.Button
|
||||||
|
uiControl *ui.Control
|
||||||
|
uiEntry *ui.Entry
|
||||||
|
uiLabel *ui.Label
|
||||||
|
uiSlider *ui.Slider
|
||||||
|
uiSpinbox *ui.Spinbox
|
||||||
|
uiTab *ui.Tab
|
||||||
|
uiText *ui.EditableCombobox
|
||||||
|
uiWindow *ui.Window
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t *Toolkit) GetText() string {
|
||||||
|
if (DebugToolkit) {
|
||||||
|
log.Println("gui.Toolkit.Text() Enter")
|
||||||
|
scs := spew.ConfigState{MaxDepth: 1}
|
||||||
|
scs.Dump(t)
|
||||||
|
}
|
||||||
|
if (t.uiEntry != nil) {
|
||||||
|
if (DebugToolkit) {
|
||||||
|
log.Println("gui.Toolkit.Value() =", t.uiEntry.Text)
|
||||||
|
}
|
||||||
|
return t.uiEntry.Text()
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t *Toolkit) SetText(s string) bool {
|
||||||
|
if (DebugToolkit) {
|
||||||
|
log.Println("gui.Toolkit.Text() Enter")
|
||||||
|
scs := spew.ConfigState{MaxDepth: 1}
|
||||||
|
scs.Dump(t)
|
||||||
|
}
|
||||||
|
if (t.uiEntry != nil) {
|
||||||
|
if (DebugToolkit) {
|
||||||
|
log.Println("gui.Toolkit.Value() =", t.uiEntry.Text)
|
||||||
|
}
|
||||||
|
t.uiEntry.SetText(s)
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t *Toolkit) Value() int {
|
||||||
|
if (DebugToolkit) {
|
||||||
|
log.Println("gui.Toolkit.Value() Enter")
|
||||||
|
scs := spew.ConfigState{MaxDepth: 1}
|
||||||
|
scs.Dump(t)
|
||||||
|
}
|
||||||
|
if (t == nil) {
|
||||||
|
log.Println("gui.Toolkit.Value() can not get value t == nil")
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
if (t.uiSlider != nil) {
|
||||||
|
if (DebugToolkit) {
|
||||||
|
log.Println("gui.Toolkit.Value() =", t.uiSlider.Value)
|
||||||
|
}
|
||||||
|
return t.uiSlider.Value()
|
||||||
|
}
|
||||||
|
if (t.uiSpinbox != nil) {
|
||||||
|
if (DebugToolkit) {
|
||||||
|
log.Println("gui.Toolkit.Value() =", t.uiSpinbox.Value)
|
||||||
|
}
|
||||||
|
return t.uiSpinbox.Value()
|
||||||
|
}
|
||||||
|
log.Println("gui.Toolkit.Value() Could not find a ui element to get a value from")
|
||||||
|
return 0
|
||||||
|
}
|
|
@ -4,6 +4,21 @@ import "log"
|
||||||
import "github.com/andlabs/ui"
|
import "github.com/andlabs/ui"
|
||||||
import _ "github.com/andlabs/ui/winmanifest"
|
import _ "github.com/andlabs/ui/winmanifest"
|
||||||
|
|
||||||
|
func ToolkitDemoWindow() {
|
||||||
|
var w *Node
|
||||||
|
log.Println("ToolkitDemoWindow() START")
|
||||||
|
|
||||||
|
Config.Title = "Demo the GUI Toolkit"
|
||||||
|
Config.Width = 640
|
||||||
|
Config.Height = 480
|
||||||
|
Config.Exit = StandardClose
|
||||||
|
w = NewWindow()
|
||||||
|
|
||||||
|
w.DemoAndlabsUiTab("ran AddDemoAndlabsUiTab()")
|
||||||
|
|
||||||
|
log.Println("ToolkitDemoWindow() END")
|
||||||
|
}
|
||||||
|
|
||||||
// This will create a tab in a window using direct
|
// This will create a tab in a window using direct
|
||||||
// calls to andlabs/ui. This can be used to bypass
|
// calls to andlabs/ui. This can be used to bypass
|
||||||
// the obvuscation added in this package if it is desired
|
// the obvuscation added in this package if it is desired
|
Loading…
Reference in New Issue