};
+class BC_TumbleTextBox;
class BC_TumbleTextBoxText;
-class BC_TumbleTextBoxTumble;
+class BC_FTextTumbler;
+class BC_ITextTumbler;
+
class BC_TumbleTextBox
{
public:
BC_TumbleTextBox(BC_WindowBase *parent_window,
- int64_t default_value,
- int64_t min,
- int64_t max,
- int x,
- int y,
- int text_w);
+ int64_t default_value, int64_t min, int64_t max,
+ int x, int y, int text_w);
BC_TumbleTextBox(BC_WindowBase *parent_window,
- int default_value,
- int min,
- int max,
- int x,
- int y,
- int text_w);
+ int default_value, int min, int max,
+ int x, int y, int text_w);
BC_TumbleTextBox(BC_WindowBase *parent_window,
- float default_value,
- float min,
- float max,
- int x,
- int y,
- int text_w);
+ float default_value, float min, float max,
+ int x, int y, int text_w, int precision=4);
virtual ~BC_TumbleTextBox();
int create_objects();
void reset();
virtual int handle_event();
+ virtual int handle_up_event();
+ virtual int handle_down_event();
const char* get_text();
const wchar_t* get_wtext();
BC_TextBox* get_textbox();
void set_tooltip(const char *text);
friend class BC_TumbleTextBoxText;
- friend class BC_TumbleTextBoxTumble;
+ friend class BC_FTextTumbler;
+ friend class BC_ITextTumbler;
private:
int x, y, text_w;
BC_TumbleTextBox *popup;
};
+class BC_FTextTumbler : public BC_FTumbler
+{
+public:
+ BC_FTextTumbler(BC_TumbleTextBox *tumble_text,
+ float min_f, float max_f, int x, int y)
+ : BC_FTumbler(tumble_text->textbox, min_f, max_f, x, y) {
+ this->tumble_text = tumble_text;
+ }
+ ~BC_FTextTumbler() {}
+ int handle_up_event() { return tumble_text->handle_up_event(); }
+ int handle_down_event() { return tumble_text->handle_down_event(); }
+
+ BC_TumbleTextBox *tumble_text;
+};
+
+class BC_ITextTumbler : public BC_ITumbler
+{
+public:
+ BC_ITextTumbler(BC_TumbleTextBox *tumble_text,
+ int64_t min, int64_t max, int x, int y)
+ : BC_ITumbler(tumble_text->textbox, min, max, x, y) {
+ this->tumble_text = tumble_text;
+ }
+ ~BC_ITextTumbler() {}
+ int handle_up_event() { return tumble_text->handle_up_event(); }
+ int handle_down_event() { return tumble_text->handle_down_event(); }
+
+ BC_TumbleTextBox *tumble_text;
+};
+
class BC_TextMenu : public BC_PopupMenu
{