FDOSTUI
FreeDOS Text User Interface
|
Allows the user to enter a numeric value. The value can be adjusted through the use of repeat buttons. More...
#include <spinner.hpp>
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 &) | |
spinner & | operator= (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 |
group * | m_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 |
Allows the user to enter a numeric value. The value can be adjusted through the use of repeat buttons.
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
[in] | i_pos_x | x position to place widget |
[in] | i_pos_y | y position to place widget |
[in] | i_len_x | x length of widget |
[in] | i_len_y | y length of widget |
|
virtual |
destructor
|
virtual |
draws the widget
This method should not be called directly.
Reimplemented from entry.
|
virtual |
handle key event
[in] | i_event | key event to handle |
Reimplemented from entry.
|
virtual |
handle mouse event
[in] | i_event | mouse event to handle |
Reimplemented from widget.
|
inlineprotectedvirtual |
get the inner bounding box
[out] | o_bbox | bounding box to fill |
Returns the inner bounding box of the entry widget. It does not contain the space for the repeat buttons.
Reimplemented from entry.
|
inlinevirtual |
|
virtual |
sets the value
Setting the value does not redraw the widget. It does, however, reset the cursor position to the beginning.
Reimplemented from valuator.