FDOSTUI
FreeDOS Text User Interface
Public Member Functions | Protected Member Functions | Private Member Functions | List of all members
spinner Class Reference

Allows the user to enter a numeric value. The value can be adjusted through the use of repeat buttons. More...

#include <spinner.hpp>

Inheritance diagram for spinner:
Inheritance graph
[legend]

Public Member Functions

 spinner (int const i_pos_x, int const i_pos_y, unsigned int const i_len_x, unsigned int const i_len_y)
 constructor More...
 
virtual ~spinner ()
 destructor More...
 
virtual void draw () const
 draws the widget More...
 
virtual double get_value () const
 gets the value More...
 
virtual bool set_value (double const i_value)
 sets the value More...
 
virtual enum event_response event_key (struct event_key const &i_event)
 handle key event More...
 
virtual enum event_response event_mouse (struct event_mouse const &i_event)
 handle mouse event More...
 
- Public Member Functions inherited from entry
 entry (int const i_pos_x, int const i_pos_y, unsigned int const i_len_x, unsigned int const i_len_y)
 constructor More...
 
virtual ~entry ()
 destructor More...
 
virtual void focus_enter ()
 handle entering focus More...
 
virtual void focus_leave ()
 handle leaving focus More...
 
unsigned char const * get_text () const
 get text buffer More...
 
size_t get_text_length () const
 get the number of characters in the text buffer More...
 
enum purpose get_purpose () const
 get the text entry purpose More...
 
void set_editable (bool const i_editable=true)
 set whether or not the entry is editable More...
 
void set_purpose (enum purpose const i_purpose)
 set the input purpose More...
 
void set_text (unsigned char const *i_str)
 set the text of the entry More...
 
void set_signal_changed (signal_changed_t i_signal)
 set callback More...
 
- Public Member Functions inherited from widget
 widget (int const i_pos_x, int const i_pos_y, unsigned int const i_len_x, unsigned int const i_len_y)
 constructor More...
 
virtual ~widget ()
 destructor More...
 
virtual void set_damage (unsigned int const i_damage=DAMAGE_NONE)
 set the damage bits More...
 
virtual bool close (bool const i_shutting_down)
 called when widget is about to be destroyed More...
 
bool contains (int const i_pos_x, int const i_pos_y) const
 test if point is contained within the widget More...
 
bool contains (struct box const &i_box) const
 test if rectangular region is contained within the widget More...
 
virtual enum event_response event_key_default (enum scancodes const i_scan)
 default key event handler More...
 
void get_box (struct box &o_box) const
 gets the rectangular region this widget occupies More...
 
bool get_can_focus () const
 gets whether or not the widget can receive focus More...
 
bool get_enabled () const
 gets whether or not the widget is enabled More...
 
bool get_has_focus () const
 gets whether or not the widget has focus More...
 
group *const get_parent () const
 gets the parent widget More...
 
void * get_user_data () const
 gets user defined data pointer More...
 
bool get_visible () const
 gets whether or not the widget is visible More...
 
int get_pos_x () const
 gets the relative x position of the widget More...
 
int get_pos_y () const
 gets the relative y position of the widget More...
 
unsigned int get_len_x () const
 gets the horizontal length of the widget More...
 
unsigned int get_len_y () const
 gets the vertical length of the widget More...
 
virtual void move (int const i_pos_x, int const i_pos_y)
 move the widget to a new position More...
 
virtual void resize (unsigned int const i_len_x, unsigned int const i_len_y)
 resize the widget More...
 
void set_can_close (bool const i_can_close)
 set internal indicator if widget can be closed More...
 
void set_disabled ()
 disable the widget More...
 
void set_enabled ()
 enable the widget
 
void set_hidden ()
 hide the widget More...
 
virtual void set_parent (group *const i_parent)
 sets the parent group of the widget More...
 
void set_user_data (void *io_user_data)
 sets the user defined data pointer More...
 
void set_visible ()
 sets the widget as visible More...
 
void translate_screen (int *const o_pos_x, int *const o_pos_y) const
 translate a widgets relative coordinates to screen coordinates More...
 
- Public Member Functions inherited from valuator
 valuator ()
 constructor More...
 
virtual ~valuator ()
 destructor
 
double get_minimum () const
 gets the minimum value More...
 
double get_maximum () const
 gets the maximum value More...
 
double get_step () const
 the amount that the value is incremented or decremented in response to mouse or keyboard movement More...
 
void set_range (double const i_minimum, double const i_maximum)
 sets the minimum and maximum bounds the value can have More...
 
void set_step (double const i_step)
 set the amount that the value is incremented or decremented in response to mouse or keyboard movement More...
 
void set_step (double const i_step, int const i_precision)
 set the step and precision More...
 
void set_precision (int const i_digits)
 sets the precision More...
 
virtual int format (char *o_buffer, unsigned int const i_size)
 format a value into string More...
 
void set_signal_value (signal_value_t i_signal)
 set callback More...
 
double round (double const i_value) const
 rounds the value to the nearest step increment More...
 
double clamp (double const i_value) const
 checks the bounds of i_value More...
 
double clamp_soft (double const i_value) const
 checks the bounds of i_value More...
 
double increment (double const i_value, int const i_amount) const
 increment the value More...
 
void set_debounce (bool const i_debounce)
 turns drawing of the widget on or off More...
 

Protected Member Functions

virtual void get_bbox (struct box &o_bbox) const
 get the inner bounding box More...
 
- Protected Member Functions inherited from entry
void show_cursor ()
 sets the cursor type/shape. Cursor shape depends on the state of the cursor (insert/overwrite) and widget itself. More...
 
void grow (size_t const i_needed)
 grow internal buffer More...
 
int pos_inc ()
 increments position (m_caret, m_slot, m_offset) More...
 
int pos_dec ()
 decrements position (m_caret, m_slot, m_offset) More...
 
void del ()
 delete character at current position from the buffer More...
 
void ins (unsigned char const i_char)
 insert character at current position into the buffer More...
 
void ovw (unsigned char const i_char)
 insert character at current position into the buffer More...
 
bool validate (unsigned char const i_char)
 validates a character against the widgets purpose More...
 
void caret_set_position () const
 moves the cursor to the current position (m_caret) More...
 
void emit_changed ()
 emit the changed signal More...
 
- Protected Member Functions inherited from valuator
void handle_push ()
 sets previous value to current value More...
 
void handle_drag (widget *const io_widget, double const i_value)
 sets the value and if changed redraws the widget More...
 
void handle_release (widget *const io_widget)
 emit a signal if the previous value is not equal to the current value More...
 

Private Member Functions

 spinner (const spinner &)
 
spinneroperator= (spinner const &)
 

Additional Inherited Members

- Public Types inherited from entry
enum  purpose {
  PURPOSE_ANY, PURPOSE_ALPHA, PURPOSE_DIGIT, PURPOSE_INTEGER,
  PURPOSE_FLOAT
}
 indicator of the type of input the entry can accept More...
 
typedef void(* signal_changed_t) (entry const *i_entry, void *io_user_data)
 function prototype to recieve signal More...
 
- Public Types inherited from widget
enum  damage {
  DAMAGE_NONE = 0, DAMAGE_ALL = (1<<0), DAMAGE_LABEL = (1<<1), DAMAGE_VALUE = (1<<2),
  DAMAGE_SCROLL = (1<<3), DAMAGE_MOVED = (1<<4), DAMAGE_RESERVED1 = (1<<5), DAMAGE_RESERVED2 = (1<<6),
  DAMAGE_RESERVED3 = (1<<7)
}
 bit mask indicating what needs to be redrawn More...
 
- Public Types inherited from valuator
typedef void(* signal_value_t) (widget const *i_widget, void *io_user_data)
 function prototype to recieve signal More...
 
- Protected Types inherited from widget
enum  flags {
  VISIBLE = (1 << 0), ENABLED = (1 << 1), CAN_FOCUS = (1 << 2), HAS_FOCUS = (1 << 3),
  CAN_CLOSE = (1 << 4)
}
 
- Protected Attributes inherited from entry
enum purpose m_purpose
 
size_t m_caret
 
size_t m_offset
 
size_t m_slot
 
size_t m_length
 
size_t m_block_size
 
unsigned char * m_block
 
bool m_editable
 
signal_changed_t m_signal_changed
 
- Protected Attributes inherited from widget
unsigned int m_damage
 
unsigned int m_flags
 
struct box m_box
 
groupm_parent
 
void * m_user_data
 
- Protected Attributes inherited from valuator
bool m_debounce
 
double m_value
 
double m_previous_value
 
double m_minimum
 
double m_maximum
 
double m_step
 
double m_precision
 
signal_value_t m_signal_value
 

Detailed Description

Allows the user to enter a numeric value. The value can be adjusted through the use of repeat buttons.

Constructor & Destructor Documentation

◆ spinner()

spinner::spinner ( int const  i_pos_x,
int const  i_pos_y,
unsigned int const  i_len_x,
unsigned int const  i_len_y 
)

constructor

Parameters
[in]i_pos_xx position to place widget
[in]i_pos_yy position to place widget
[in]i_len_xx length of widget
[in]i_len_yy length of widget
Returns
none

◆ ~spinner()

spinner::~spinner ( )
virtual

destructor

Returns
none

Member Function Documentation

◆ draw()

void spinner::draw ( ) const
virtual

draws the widget

This method should not be called directly.

See also
widget::draw for details.

Reimplemented from entry.

◆ event_key()

enum event_response spinner::event_key ( struct event_key const &  i_event)
virtual

handle key event

Parameters
[in]i_eventkey event to handle
Returns
response how event was handled

Reimplemented from entry.

◆ event_mouse()

enum event_response spinner::event_mouse ( struct event_mouse const &  i_event)
virtual

handle mouse event

Parameters
[in]i_eventmouse event to handle
Returns
response how event was handled

Reimplemented from widget.

◆ get_bbox()

void spinner::get_bbox ( struct box o_bbox) const
inlineprotectedvirtual

get the inner bounding box

Parameters
[out]o_bboxbounding box to fill
Returns
none

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

Reimplemented from entry.

◆ get_value()

double spinner::get_value ( ) const
inlinevirtual

gets the value

Returns
none

Reimplemented from valuator.

◆ set_value()

bool spinner::set_value ( double const  i_value)
virtual

sets the value

Returns
true value changed
false value did not change

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

Reimplemented from valuator.


The documentation for this class was generated from the following files: