X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fguicast%2Fbctextbox.h;h=a3db2b69189dc4014376b54404fa6215daadef55;hb=63ced327c156ea7fe4448a18b0b1b0f2571dce7e;hp=a798e780bb45c7bfbb29f2ceb8cad4a4e05bd83b;hpb=4c1a91d9f9373e564ecbeb8f568e4a3e7fe48e64;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/guicast/bctextbox.h b/cinelerra-5.1/guicast/bctextbox.h index a798e780..a3db2b69 100644 --- a/cinelerra-5.1/guicast/bctextbox.h +++ b/cinelerra-5.1/guicast/bctextbox.h @@ -35,7 +35,10 @@ class BC_TextBoxSuggestions; + +class BC_ScrollTextBoxXScroll; class BC_ScrollTextBoxYScroll; +class BC_ScrollTextBoxText; class BC_TextBox : public BC_SubWindow @@ -69,6 +72,7 @@ public: friend class BC_TextBoxSuggestions; + friend class BC_ScrollTextBox; // Whenever the contents of the text change @@ -106,6 +110,10 @@ public: // 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(); @@ -143,8 +151,9 @@ public: // column - starting column to replace void no_suggestions(); void set_suggestions(ArrayList *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); @@ -225,14 +234,10 @@ public: }; - -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; @@ -241,6 +246,7 @@ class BC_ScrollTextBox int x, y, w, rows; friend class BC_ScrollTextBoxText; + friend class BC_ScrollTextBoxXScroll; friend class BC_ScrollTextBoxYScroll; public: BC_ScrollTextBox(BC_WindowBase *parent_window, @@ -261,13 +267,15 @@ public: 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(); @@ -291,6 +299,15 @@ public: 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: @@ -436,7 +453,7 @@ class BC_TumbleTextBoxText : public BC_TextBox { 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();