summaryrefslogtreecommitdiff
path: root/prev/examples/widgetgallery/main.go
diff options
context:
space:
mode:
authorPietro Gagliardi <[email protected]>2015-12-11 20:37:59 -0500
committerPietro Gagliardi <[email protected]>2015-12-11 20:37:59 -0500
commitf8e3f12ab02b528f2a05a4f713d7af7ea8e44b42 (patch)
tree82dedf4d37f0f6d31e88ebb2ca1ce6499dead261 /prev/examples/widgetgallery/main.go
parente34c561ed5bedeb180437ec165882b98d70d38c1 (diff)
LET'S GET THIS FINAL REWRITE EVER STARTED
Diffstat (limited to 'prev/examples/widgetgallery/main.go')
-rw-r--r--prev/examples/widgetgallery/main.go78
1 files changed, 78 insertions, 0 deletions
diff --git a/prev/examples/widgetgallery/main.go b/prev/examples/widgetgallery/main.go
new file mode 100644
index 0000000..569c4c4
--- /dev/null
+++ b/prev/examples/widgetgallery/main.go
@@ -0,0 +1,78 @@
+// 30 august 2014
+
+package main
+
+import (
+ "image"
+ "reflect"
+ "github.com/andlabs/ui"
+)
+
+var w ui.Window
+
+type areaHandler struct {
+ img *image.RGBA
+}
+
+func (a *areaHandler) Paint(rect image.Rectangle) *image.RGBA {
+ return a.img.SubImage(rect).(*image.RGBA)
+}
+
+func (a *areaHandler) Mouse(me ui.MouseEvent) {}
+func (a *areaHandler) Key(ke ui.KeyEvent) bool { return false }
+
+func initGUI() {
+ b := ui.NewButton("Button")
+ c := ui.NewCheckbox("Checkbox")
+ tf := ui.NewTextField()
+ tf.SetText("Text Field")
+ pf := ui.NewPasswordField()
+ pf.SetText("Password Field")
+ l := ui.NewLabel("Label")
+
+ t := ui.NewTab()
+ t.Append("Tab 1", ui.Space())
+ t.Append("Tab 2", ui.Space())
+ t.Append("Tab 3", ui.Space())
+
+ g := ui.NewGroup("Group", ui.Space())
+
+ icons := readIcons()
+ table := ui.NewTable(reflect.TypeOf(icons[0]))
+ table.Lock()
+ d := table.Data().(*[]icon)
+ *d = icons
+ table.Unlock()
+
+ area := ui.NewArea(200, 200, &areaHandler{tileImage(20)})
+
+ stack := ui.NewVerticalStack(
+ b,
+ c,
+ tf,
+ pf,
+ l,
+ t,
+ g,
+ table,
+ area)
+ stack.SetStretchy(5)
+ stack.SetStretchy(6)
+ stack.SetStretchy(7)
+ stack.SetStretchy(8)
+
+ w = ui.NewWindow("Window", 400, 500, stack)
+ w.OnClosing(func() bool {
+ ui.Stop()
+ return true
+ })
+ w.Show()
+}
+
+func main() {
+ go ui.Do(initGUI)
+ err := ui.Go()
+ if err != nil {
+ panic(err)
+ }
+}