Abstract base class for range-based controls. Range is a base class for [Control] nodes that change a floating-point [i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/i] and [i]page[/i], for example a [ScrollBar]. Binds two ranges together along with any ranges previously grouped with either of them. When any of range's member variables change, it will share the new value with all other ranges in its group. Stops range from sharing its member variables with any other. If [code]true[/code], [member value] may be greater than [member max_value]. If [code]true[/code], [member value] may be less than [member min_value]. If [code]true[/code], and [code]min_value[/code] is greater than 0, [code]value[/code] will be represented exponentially rather than linearly. Maximum value. Range is clamped if [code]value[/code] is greater than [code]max_value[/code]. Minimum value. Range is clamped if [code]value[/code] is less than [code]min_value[/code]. Page size. Used mainly for [ScrollBar]. ScrollBar's length is its size multiplied by [code]page[/code] over the difference between [code]min_value[/code] and [code]max_value[/code]. The value mapped between 0 and 1. If [code]true[/code], [code]value[/code] will always be rounded to the nearest integer. If greater than 0, [code]value[/code] will always be rounded to a multiple of [code]step[/code]. If [code]rounded[/code] is also [code]true[/code], [code]value[/code] will first be rounded to a multiple of [code]step[/code] then rounded to the nearest integer. Range's current value. Emitted when [member min_value], [member max_value], [member page], or [member step] change. Emitted when [member value] changes.