/*
 SPINNER.DOX

 License CC0 PUBLIC DOMAIN

 To the extent possible under law, Mark J. Olesen has waived all copyright
 and related or neighboring rights to FDOSTUI Library. This work is published
 from: United States.
*/

/*! \file spinner.hpp
\brief contains spinner class
*/

/*! \class spinner spinner.hpp
\brief Allows the user to enter a numeric value. The value can be adjusted
through the use of repeat buttons
*/

/*!
\fn spinner::spinner(
        int const                       i_pos_x,
        int const                       i_pos_y,
        unsigned int const              i_len_x,
        unsigned int const              i_len_y)
\brief constructor 
\param[in] i_pos_x x position to place widget
\param[in] i_pos_y y position to place widget
\param[in] i_len_x x length of widget
\param[in] i_len_y y length of widget
\returns none
*/
    
/*!
\fn virtual spinner::~spinner();
\brief destructor
\returns none
*/

/*!
\fn virtual void spinner::draw() const
\brief draws the widget

This method should not be called directly. 
\see widget::draw for details.
*/

/*!
\fn virtual double spinner::get_value() const
\brief gets the value 
\returns none
*/

/*!
\fn virtual bool spinner::set_value(
        double const                    i_value)
\brief sets the value
\returns true value changed
\returns false value did not change

Setting the value does not redraw the widget. It does, however,
reset the cursor position to the beginning.
*/

/*!
\fn virtual enum event_response spinner::event_key(
        struct event_key const&         i_event)
\brief handle key event
\param[in] i_event key event to handle    
\returns response how event was handled
*/

/*!
\fn virtual enum event_response spinner::event_mouse(
        struct event_mouse const&       i_event)
\brief handle mouse event
\param[in] i_event mouse event to handle
\returns response how event was handled
*/

/*!
\fn virtual void spinner::get_bbox(
        struct box&                     o_bbox) const
\brief get the inner bounding box
\param[out] o_bbox bounding box to fill
\returns none

Returns the inner bounding box of the entry widget. It does
not contain the space for the repeat buttons.
*/
