Slider value handles -ve values by clipping to zero

see http://nanapro.org/en-us/forum/index.php?u=/topic/1092/ggslider-value-range
This commit is contained in:
James Bremner 2019-01-16 16:43:05 -05:00
parent 02d082959f
commit 26c28ae4be
2 changed files with 21 additions and 11 deletions

View File

@ -151,7 +151,13 @@ namespace nana
bool vertical() const;
void maximum(unsigned);
unsigned maximum() const;
void value(unsigned);
/** Set slider value
@param[in] v new value for slider.
v will be clipped to the range 0 to maximum
*/
void value(int );
unsigned value() const;
unsigned move_step(bool forward); ///< Increase or decrease the value of slider.
unsigned adorn() const;

View File

@ -844,10 +844,14 @@ namespace nana
return get_drawer_trigger().get_model()->attribute().vmax;
}
void slider::value(unsigned v)
void slider::value(int v)
{
if(handle())
{
// limit to positive values, vcur expects unsigned
if( v < 0 )
v = 0;
if(get_drawer_trigger().get_model()->vcur(v))
API::refresh_window(handle());
}