summaryrefslogtreecommitdiff
path: root/examples/widgetgallery/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'examples/widgetgallery/main.go')
-rw-r--r--examples/widgetgallery/main.go79
1 files changed, 79 insertions, 0 deletions
diff --git a/examples/widgetgallery/main.go b/examples/widgetgallery/main.go
new file mode 100644
index 0000000..93b1f4b
--- /dev/null
+++ b/examples/widgetgallery/main.go
@@ -0,0 +1,79 @@
+// 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.NewStandaloneLabel("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, il := readIcons()
+ table := ui.NewTable(reflect.TypeOf(icons[0]))
+ table.Lock()
+ d := table.Data().(*[]icon)
+ *d = icons
+ table.Unlock()
+ table.LoadImageList(il)
+
+ 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)
+ }
+}