From 48b06d622177c512e1d9ec14a820298342e03fee Mon Sep 17 00:00:00 2001 From: Joe Groff Date: Thu, 18 Jun 2009 09:53:17 -0500 Subject: [PATCH] window-controls-demo for testing/showing off window controls --- extra/window-controls-demo/authors.txt | 1 + extra/window-controls-demo/summary.txt | 1 + .../window-controls-demo.factor | 42 +++++++++++++++++++ 3 files changed, 44 insertions(+) create mode 100755 extra/window-controls-demo/authors.txt create mode 100755 extra/window-controls-demo/summary.txt create mode 100755 extra/window-controls-demo/window-controls-demo.factor diff --git a/extra/window-controls-demo/authors.txt b/extra/window-controls-demo/authors.txt new file mode 100755 index 0000000000..f13c9c1e77 --- /dev/null +++ b/extra/window-controls-demo/authors.txt @@ -0,0 +1 @@ +Joe Groff diff --git a/extra/window-controls-demo/summary.txt b/extra/window-controls-demo/summary.txt new file mode 100755 index 0000000000..e84535ab11 --- /dev/null +++ b/extra/window-controls-demo/summary.txt @@ -0,0 +1 @@ +Open windows with different control sets diff --git a/extra/window-controls-demo/window-controls-demo.factor b/extra/window-controls-demo/window-controls-demo.factor new file mode 100755 index 0000000000..70000c8268 --- /dev/null +++ b/extra/window-controls-demo/window-controls-demo.factor @@ -0,0 +1,42 @@ +! (c)2009 Joe Groff bsd license +USING: accessors assocs kernel locals sequences ui +ui.gadgets.worlds ; +IN: window-controls-demo + +CONSTANT: window-control-sets-to-test + H{ + { "No controls" { } } + { "Normal title bar" { normal-title-bar } } + { "Small title bar" { small-title-bar } } + { "Close button" { normal-title-bar close-button } } + { "Close and minimize buttons" { normal-title-bar close-button minimize-button } } + { "Close, minimize, and maximize buttons" { normal-title-bar close-button minimize-button maximize-button } } + { "Resizable" { normal-title-bar close-button minimize-button maximize-button resize-handles } } + } + +TUPLE: window-controls-demo-world < world + windows ; + +M: window-controls-demo-world end-world + windows>> [ close-window ] each ; + +M: window-controls-demo-world pref-dim* + drop { 400 400 } ; + +: attributes-template ( -- x ) + T{ world-attributes + { world-class window-controls-demo-world } + } clone ; + +: window-controls-demo ( -- ) + attributes-template V{ } clone window-control-sets-to-test + [| title attributes windows controls | + f attributes + title >>title + controls >>window-controls + open-window* + windows >>windows + windows push + ] with with assoc-each ; + +MAIN: window-controls-demo