diff options
Diffstat (limited to 'objectio/support_slider.icl')
-rw-r--r-- | objectio/support_slider.icl | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/objectio/support_slider.icl b/objectio/support_slider.icl new file mode 100644 index 0000000..fcbed67 --- /dev/null +++ b/objectio/support_slider.icl @@ -0,0 +1,30 @@ +module support_slider + +import StdEnv, StdIO + +Start :: *World -> *World +Start world +# (sliderid, world) = openId world +# (textid, world) = openId world +# sliders = let w = PixelWidth 300 + s = {sliderMin=0, sliderMax=100, sliderThumb=30} in [ + SliderControl Horizontal w s (updateSlider textid) [ControlPos (Left, zero), ControlHide], + SliderControl Horizontal (PixelWidth 500) s (updateSlider textid) [ControlPos (Left, zero), ControlId sliderid], + SliderControl Horizontal w s (updateSlider textid) [ControlPos (RightTo sliderid, zero)], + SliderControl Horizontal w s (updateSlider textid) [ControlPos (Left, zero)], //todo + SliderControl Horizontal w s (updateSlider textid) [ControlPos (Left, zero), ControlSelectState Able], + SliderControl Vertical w s (updateSlider textid) [ControlPos (Left, zero), ControlSelectState Unable], + SliderControl Vertical (PixelWidth 500) s (updateSlider textid) [ControlPos (Left, zero), ControlTip "Some tip"] + ] +# controls = TextControl "TextControl for callbacks" [ControlId textid] :+: ListLS sliders +# dialog = Dialog "Support - SliderControl" controls [WindowClose (noLS closeProcess)] += startIO NDI Void (initialise dialog) [] world +where + initialise dialog pst + # (error,pst) = openDialog 0 dialog pst + | error <> NoError = closeProcess pst + | otherwise = pst + + updateSlider :: Id SliderMove (Int, PSt .l) -> (Int, PSt .l) + updateSlider id move (n, pst) = (n, appPIO (setControlText id (toString move)) pst) + |