rebol [ Title: "Demo slider widget" File: %demo-slider.r Date: 12-Jun-2005 Version: 1.0.2 Progress: 0.8 Status: "working" Needs: [View] Author: "Anton Rolls" Language: "English" Purpose: {Show how to use the slider widget} Usage: {} ToDo: { - already published this demo, so ensure newer slider.r versions are downloaded } History: [ 1.0.0 [5-Jun-2005 {First version} "Anton"] 1.0.1 [10-Jun-2005 {updated for rebgui 0.3.0: changed face -> ctx-rebgui/rebface, changed path to widgets/unit-size -> ctx-rebgui/widgets/unit-size} "Anton"] 1.0.2 [12-Jun-2005 {demos with arrows, checking for loose words} "Anton"] ] Notes: {} ] site: select load-thru http://www.reboltech.com/index.r [folder "Anton"] clear find site %index.r do load-thru site/library/include.r do %rebgui.r include [ site/rebgui/slider.r [slider] ] query/clear system/words ctx-rebgui/widgets: make ctx-rebgui/widgets compose/only [ slider: make ctx-rebgui/rebface (slider) ] print mold query/clear system/words display "demo slider widget" [ slider ; default vertical slider sld: slider 40x4 [show-text txt face/data] ; size specified creates a horizontal slider, and an action block ;sld: slider 40x4 [show txt] ; size specified creates a horizontal slider, and an action block ;slider data -10 ; vertical, with initial data value out of range ;slider data [data 0.5] ; vertical, using data dialect block to specify data (a bit confusing I know) ; vertical, with a default value and an action block slider data 1 [sld/size: 40x4 * ctx-rebgui/widgets/unit-size * face/data show sld] slider [sld/ratio: face/data show sld] slider [sld/offset: 50x20 + (face/data * 80x80) show sld] return txt: text 60 return vsld1: slider 7x41 [] data [arrows] ;"arrows" vsld2: slider 7x41 [] data [arrows together] ;"arrows together" hsld1: slider 41x7 [] data [arrows] ;"arrows" hsld2: slider 41x7 [] data [arrows together] ;"arrows together" slider [foreach slider reduce [vsld1 vsld2 hsld1 hsld2][slider/ratio: face/data show slider]] slider data 1 [ foreach slider reduce [vsld1 vsld2][slider/size: face/data * ctx-rebgui/widgets/unit-size * 7x41 show slider] foreach slider reduce [hsld1 hsld2][slider/size: face/data * ctx-rebgui/widgets/unit-size * 41x7 show slider] ] ] do-events print mold query/clear system/words