The next UI element is a slider. It’s not as difficult as it looks since I already have most of the framework set up.
Basically, this time when the interactor gets the coordinates of the click, I need to pass these to the UI element in some way so that the callback can pick it up. And this is already set up as
ui_params, which I implemented in the case of the text box.
Now, the slider itself is composed of two actors - a line and a disk. The disk would be moving (sliding) on the line. For doing so, I had to change DIPY’s renderer class a bit. The change now allows for nested UI elements, much like the slider - which has a sliderDisk and a sliderLine.
The click is handled by the line (the callback belongs to the sliderLine) and the disk moves.
The slider, in addition has a text box which displays the position of the disk on the line as a percentage.
It currently only works with a click.
These are things left to be done:
And other enhancements to make it more futuristic. This is a line slider, there can be many more and they need to be explored too.
I’ll be continuing my work on this slider and incorporating the above points.