class BC_TextBox : public BC_SubWindow
{
+ static inline int nib(int ch) {
+ if( ch >= '0' && ch <= '9' ) ch -= '0';
+ else if( ch >= 'A' && ch <= 'F' ) ch -= 'A'-10;
+ else if( ch >= 'a' && ch <= 'f' ) ch -= 'a'-10;
+ else ch = -1;
+ return ch;
+ }
+
char *text;
wchar_t *wtext;
public:
int deactivate();
const char* get_text();
const wchar_t* get_wtext();
- const char* get_utf8text();
void set_text(char *text, int isz);
int get_text_rows();
// Set top left of text view
int reposition_window(int x, int y, int w = -1, int rows = -1);
int uses_text();
-#ifdef X_HAVE_UTF8_STRING
- int utf8seek(int i, int reverse);
-#endif
static int calculate_h(BC_WindowBase *gui, int font, int has_border, int rows);
static int calculate_row_h(int rows, BC_WindowBase *parent_window, int has_border = 1, int font = MEDIUMFONT);
static int pixels_to_rows(BC_WindowBase *window, int font, int pixels);
// Compute suggestions for a path
// If entries is null, just search absolute paths
- int calculate_suggestions(ArrayList<BC_ListBoxItem*> *entries);
+ int calculate_suggestions(ArrayList<BC_ListBoxItem*> *entries=0, const char *filter=0);
// User computes suggestions after handle_event.
// A highlighted extension is added if 1 suggestion or a popup appears
// if multiple suggestions.
// column - starting column to replace
+ void no_suggestions();
void set_suggestions(ArrayList<char*> *suggestions, int column);
BC_ScrollTextBoxYScroll *yscroll;
// Top left of cursor relative to text
int ibeam_x, ibeam_y;
- int ibeam_letter;
+ int ibeam_letter, unicode_active;
int highlight_letter1, highlight_letter2;
int highlight_letter3, highlight_letter4;
int text_x1, text_start, text_end;
BC_TextBoxSuggestions(BC_TextBox *text_box, int x, int y);
virtual ~BC_TextBoxSuggestions();
- int selection_changed();
int handle_event();
-
BC_TextBox *text_box;
};
int get_h();
// Visible rows for resizing
int get_rows();
+ int get_ibeam_letter();
friend class BC_ScrollTextBoxText;
friend class BC_ScrollTextBoxYScroll;
int get_y();
int get_w();
int get_h();
- void disable();
+ void disable(int hide_text=0);
void enable();
int get_enabled();
void reposition_window(int x, int y);