<https://github.com/nacular/doodle/releases/tag/v0...
# javascript
n
Doodle 0.6.3 is out. Strongly Typed Sliders
ValueSlider
,
Slider
and
CircularSlider
were previously tied to a
Double
. This meant it was not easy to force use cases where integer values would be more appropriate. This is now fixed, as these controls are now strongly typed to a numeric value instead of only supporting Double.
Copy code
val slider = Slider(10 .. 20)
slider.value = 11.2 // will not compile since slider has a type of Int
More Flexible Layouts Layouts are generally triggered whenever their container's
size
changes or a child of the container has a
bounds
change. But there are cases when this default behavior does not work as well. A good example is a Layout that depends on a child's
idealSize
. Such a Layout won't be invoked when the
idealSizes
change, and will be out of date in some cases. This is now fixed by giving Layouts a chance to act when min/ideal-size changes for children of a Container. There are actually 3 new APIs that provide a lot of flexibility in how Layouts behave.
Copy code
public fun requiresLayout(container: PositionableContainer, old: Size, new: Size): Boolean = true
public fun requiresLayout(child: Positionable, of: PositionableContainer, old: Rectangle, new: Rectangle): Boolean = false
public fun requiresLayout(child: Positionable, of: PositionableContainer, old: SizePreferences, new: SizePreferences): Boolean = false
Form Controls • New
switch
and
switchList
form controls • New
spinner
form control • New
framed
form control to wrap other controls in a configurable container • New
check
form control with arbitrary view as annotation •
radioList
,
checkList
,
named
and
labeled
form controls now allow a custom renderer and insets for their container • sub-forms now allow custom
Insets
and
behavior
👍 1