class BC_TextBoxSuggestions;
+
+class BC_ScrollTextBoxXScroll;
class BC_ScrollTextBoxYScroll;
+class BC_ScrollTextBoxText;
class BC_TextBox : public BC_SubWindow
friend class BC_TextBoxSuggestions;
+ friend class BC_ScrollTextBox;
// Whenever the contents of the text change
// Set top left of text view
void set_text_row(int row);
int get_text_row();
+ int get_text_x();
+ int get_text_y();
+ void set_text_x(int v);
+ void set_text_y(int v);
int reposition_window(int x, int y, int w = -1, int rows = -1);
int uses_text();
// column - starting column to replace
void no_suggestions();
void set_suggestions(ArrayList<char*> *suggestions, int column);
- BC_ScrollTextBoxYScroll *yscroll;
+ BC_ScrollTextBoxXScroll *xscroll;
+ BC_ScrollTextBoxYScroll *yscroll;
private:
int reset_parameters(int rows, int has_border, int font, int size);
void draw(int flush);
// ibeam_left causes the ibeam to move left.
int is_separator(const char *txt, int i);
void do_separators(int ibeam_left);
+ int get_x_position(int i, int start=0);
void get_ibeam_position(int &x, int &y);
void find_ibeam(int dispatch_event);
void select_word(int &letter1, int &letter2, int ibeam_letter);
int high_color, back_color;
int background_color;
int size, tsize, dirty;
- int wlen, wsize, *positions, plen;
+ int wlen, wsize;
char temp_string[KEYPRESSLEN];
int is_utf8;
int active;
};
-
-class BC_ScrollTextBoxText;
-class BC_ScrollTextBoxYScroll;
-
-
class BC_ScrollTextBox
{
BC_ScrollTextBoxText *text;
+ BC_ScrollTextBoxXScroll *xscroll;
BC_ScrollTextBoxYScroll *yscroll;
BC_WindowBase *parent_window;
const char *default_text;
int x, y, w, rows;
friend class BC_ScrollTextBoxText;
+ friend class BC_ScrollTextBoxXScroll;
friend class BC_ScrollTextBoxYScroll;
public:
BC_ScrollTextBox(BC_WindowBase *parent_window,
void update(const char *text);
void update(const wchar_t *wtext);
void reposition_window(int x, int y, int w, int rows);
+ void update_scrollbars();
// accessors
int get_x() { return x; }
int get_y() { return y; }
int get_w() { return w; }
// Visible rows for resizing
int get_rows() { return rows; }
-
+ int get_x_pos();
+ void set_x_pos(int x);
// forward functions
int get_h();
const char *get_text();
int button_release_event() { return gui->button_release_event(); }
};
+class BC_ScrollTextBoxXScroll : public BC_ScrollBar
+{
+public:
+ BC_ScrollTextBoxXScroll(BC_ScrollTextBox *gui);
+ virtual ~BC_ScrollTextBoxXScroll();
+ int handle_event();
+ BC_ScrollTextBox *gui;
+};
+
class BC_ScrollTextBoxYScroll : public BC_ScrollBar
{
public:
int get_y();
int get_w();
int get_h();
+ int get_show_query();
+ void set_show_query(int v);
+
void update(const char *text);
void update_list(ArrayList<BC_ListBoxItem*> *data);
void reposition_window(int x, int y);
void set_precision(int precision);
void set_increment(float value);
void set_log_floatincrement(int value);
+ void set_tooltip(const char *text);
friend class BC_TumbleTextBoxText;
friend class BC_TumbleTextBoxTumble;
{
public:
BC_TumbleTextBoxText(BC_TumbleTextBox *popup, int64_t default_value, int x, int y);
- BC_TumbleTextBoxText(BC_TumbleTextBox *popup, float default_value, int x, int y);
+ BC_TumbleTextBoxText(BC_TumbleTextBox *popup, float default_value, int x, int y, int precision);
virtual ~BC_TumbleTextBoxText();
int handle_event();
int button_press_event();