summaryrefslogtreecommitdiff
path: root/objectio/support_slider.icl
diff options
context:
space:
mode:
Diffstat (limited to 'objectio/support_slider.icl')
-rw-r--r--objectio/support_slider.icl30
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)
+