2019-08-19 16:03:27 +08:00
|
|
|
#ifndef GUILITE_WIDGETS_INCLUDE_SPINBOX_H
|
|
|
|
#define GUILITE_WIDGETS_INCLUDE_SPINBOX_H
|
2017-12-06 21:43:47 +08:00
|
|
|
|
2019-05-24 10:20:40 +08:00
|
|
|
#define GL_SPIN_CHANGE 0x3333
|
2017-12-06 21:43:47 +08:00
|
|
|
|
2019-12-17 10:45:15 +08:00
|
|
|
#define ON_SPIN_CHANGE(func) \
|
|
|
|
{MSG_TYPE_WND, GL_SPIN_CHANGE, 0, msgCallback(&func)},
|
2017-12-06 21:43:47 +08:00
|
|
|
|
2019-12-30 18:14:23 +08:00
|
|
|
class c_spin_box;
|
|
|
|
class c_spin_button : public c_button
|
|
|
|
{
|
|
|
|
friend class c_spin_box;
|
|
|
|
virtual void on_touch(int x, int y, TOUCH_ACTION action);
|
|
|
|
c_spin_box* m_spin_box;
|
|
|
|
};
|
|
|
|
|
2017-12-06 21:43:47 +08:00
|
|
|
class c_spin_box : public c_wnd
|
|
|
|
{
|
2019-12-30 18:14:23 +08:00
|
|
|
friend class c_spin_button;
|
2017-12-06 21:43:47 +08:00
|
|
|
public:
|
2019-12-30 18:14:23 +08:00
|
|
|
short get_value() { return m_value; }
|
|
|
|
void set_value(unsigned short value) { m_value = m_cur_value = value; }
|
|
|
|
void set_max_min(short max, short min) { m_max = max; m_min = min; }
|
|
|
|
void set_step(short step) { m_step = step; }
|
|
|
|
short get_min() { return m_min; }
|
|
|
|
short get_max() { return m_max; }
|
|
|
|
short get_step() { return m_step; }
|
|
|
|
void set_value_digit(short digit) { m_digit = digit; }
|
|
|
|
short get_value_digit() { return m_digit; }
|
2017-12-06 21:43:47 +08:00
|
|
|
|
|
|
|
protected:
|
|
|
|
virtual void on_paint();
|
|
|
|
virtual void pre_create_wnd();
|
2019-12-30 18:14:23 +08:00
|
|
|
void on_arrow_up_bt_click();
|
|
|
|
void on_arrow_down_bt_click();
|
2017-12-06 21:43:47 +08:00
|
|
|
|
|
|
|
short m_cur_value;
|
|
|
|
short m_value;
|
|
|
|
short m_step;
|
|
|
|
short m_max;
|
|
|
|
short m_min;
|
|
|
|
short m_digit;
|
2019-12-30 18:14:23 +08:00
|
|
|
c_spin_button m_bt_up;
|
|
|
|
c_spin_button m_bt_down;
|
2017-12-06 21:43:47 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|