# Behaviors 3.13

#### <a class="anchor" id="bkmrk-"></a>ListBehavior::TouchMode moved.

"enum CgiStudioControl::ListBehavior::TouchMode" has been moved from Behaviors/Scroll/List/ListBehavior.h to Behaviors/Scroll/List/ListTouchMode.h and renamed to "enum CgiStudioControl::ListTouchMode::Enum". The enum values CgiStudioControl::ListBehavior::Idle, CgiStudioControl::ListBehavior::Down, CgiStudioControl::ListBehavior::Scrolling and CgiStudioControl::ListBehavior::Flicked are therefore now available as CgiStudioControl::ListTouchMode::Idle, CgiStudioControl::ListTouchMode::Down, CgiStudioControl::ListTouchMode::Scrolling and CgiStudioControl::ListTouchMode::Flicked.

#### <a class="anchor" id="bkmrk--1"></a>ScrollableEvent new flag

The <span style="color: rgb(230, 126, 35);">[ScrollableEvent](http://dev.doc.cgistudio.at/APILINK/class_cgi_studio_control_1_1_scrollable_event.html "ScrollableEvent is emitted by ScrollbarBehavior and received by other controls like ScrollView or Lis...")</span> has been extended with the additional flag TreatAnimationDurationZeroAsNotSet.

Use false to gain the same behavior as before (a duration value of 0 is considered as an animation duration of 0). When set to true the provided animation duration with the value 0 is treated as not set and the receiving scrollable control will use its own animation duration instead (when the provided animation duration is not 0 then there is no change in behavior). Also the <span style="color: rgb(230, 126, 35);">[ScrollableEventActionBehavior](http://dev.doc.cgistudio.at/APILINK/class_cgi_studio_control_1_1_scrollable_event_action_behavior.html "ScrollableEventActionBehavior Enables scrolling a scrollable behavior (e.g. a ListBehavior2D) to a sp...")</span> reflects that change with its new configuration property TreatAnimationDurationZeroAsNotSet. The default value for this property is true (because it is more likely that that already centrally configured animation duration shall be taken than a real 0 time animation duration).

#### <a class="anchor" id="bkmrk--2"></a>Scrollable new callback

The <span style="color: rgb(230, 126, 35);">[Scrollable](http://dev.doc.cgistudio.at/APILINK/class_cgi_studio_control_1_1_scrollable.html "Scrollable Base Class for Adapter (VerticalScrollAdapter, HorizontalScrollAdapter, ListBehaviorInterfaceAdapter, etc.)")</span> interface has been extended with the interface SetScrolling. The external caller will indicate with the call of SetScrolling if the object is currently scrolled (e.g. by a scrollbar with ongoing user input) and when this scrolling stops.

#### <a class="anchor" id="bkmrk--3"></a>ListBehaviorExtension interface added

The <span style="color: rgb(230, 126, 35);">[ListBehavior](http://dev.doc.cgistudio.at/APILINK/class_cgi_studio_control_1_1_list_behavior.html "ListBehavior is a list supporting scrolling itemwise and pagewise combined with either relative or ab...")</span> functionality can now be extended by implementing the <span style="color: rgb(230, 126, 35);">[ListBehaviorExtension](http://dev.doc.cgistudio.at/APILINK/class_cgi_studio_control_1_1_list_behavior_extension.html "ListBehaviorExtension is a set of callbacks for the ListBehavior to extend the default behavior...")</span> interface and apply the extension to a list. In addition an extension has been added that allows to snap the selected list item to an aligned snap position (combined snap positions of the list and the item). The new <span style="color: rgb(230, 126, 35);">[SnapListItemExtensionBehavior](http://dev.doc.cgistudio.at/APILINK/class_cgi_studio_control_1_1_snap_list_item_extension_behavior.html "SnapListItemExtensionBehavior registers a ListBehaviorExtension on the given ListBehavior for snappin...")</span> can be used to deploy this extension on a node with an attached <span style="color: rgb(230, 126, 35);">[ListBehavior](http://dev.doc.cgistudio.at/APILINK/class_cgi_studio_control_1_1_list_behavior.html "ListBehavior is a list supporting scrolling itemwise and pagewise combined with either relative or ab...")</span> and configure the general snapping functionality. The SnapListItemConfigurationBehavior can be used to configure individual setting for each item that will override the central configuration at the list node.

#### <a class="anchor" id="bkmrk--4"></a>SliderBehavior added

Added a <span style="color: rgb(230, 126, 35);">[SliderBehavior](http://dev.doc.cgistudio.at/APILINK/class_cgi_studio_control_1_1_slider_behavior.html "SliderBehavior that lays out a slider bar and a knob on a background. It expects ProcessValueEvent wi...")</span>, which does the layout of the background, fill area and knob nodes. It expects a ProcessValueEvent with a normalized value between 0.0 and 1.0.