lock trace bug, missed optimize in dvd_create, cin_quality=-1, motion plugin gui...
[goodguy/history.git] / cinelerra-5.1 / guicast / bctextbox.h
index 8ad635bc517c03d7cd7733c479bdcf681b43d615..7b07ded12e1ebbabca9eaffcb4fb63e64ffbbc4a 100644 (file)
@@ -40,6 +40,14 @@ class BC_ScrollTextBoxYScroll;
 
 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:
@@ -93,7 +101,6 @@ 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
@@ -102,9 +109,6 @@ public:
 
        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);
@@ -129,7 +133,7 @@ public:
 
 // 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.
@@ -137,6 +141,7 @@ public:
 // 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;
 
@@ -173,7 +178,7 @@ private:
 // 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;
@@ -213,10 +218,8 @@ public:
        BC_TextBoxSuggestions(BC_TextBox *text_box, int x, int y);
        virtual ~BC_TextBoxSuggestions();
 
-       int selection_changed();
        int handle_event();
 
-
        BC_TextBox *text_box;
 };
 
@@ -254,6 +257,7 @@ public:
        int get_h();
 // Visible rows for resizing
        int get_rows();
+       int get_ibeam_letter();
 
        friend class BC_ScrollTextBoxText;
        friend class BC_ScrollTextBoxYScroll;
@@ -390,7 +394,7 @@ public:
        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);