X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fguicast%2Fbctextbox.h;h=425768bfde593671d8c843de32a0ba865b295599;hb=d54e2016ca0bea24cd4371058d0f75aeebdb044f;hp=89d7743254ec045e225519c5f1c17530d2cccfab;hpb=65eb7d06c462c2caaa7fabcb8956add9e6b8abc7;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/guicast/bctextbox.h b/cinelerra-5.1/guicast/bctextbox.h index 89d77432..425768bf 100644 --- a/cinelerra-5.1/guicast/bctextbox.h +++ b/cinelerra-5.1/guicast/bctextbox.h @@ -23,6 +23,8 @@ #define BCTEXTBOX_H #include "bclistbox.h" +#include "bcmenuitem.h" +#include "bcpopupmenu.h" #include "bcsubwindow.h" #include "bctumble.h" #include "fonts.h" @@ -39,7 +41,7 @@ class BC_TextBoxSuggestions; class BC_ScrollTextBoxXScroll; class BC_ScrollTextBoxYScroll; class BC_ScrollTextBoxText; - +class BC_TextMenu; class BC_TextBox : public BC_SubWindow { @@ -115,9 +117,15 @@ public: int get_text_y(); void set_text_x(int v); void set_text_y(int v); + int get_back_color(); + void set_back_color(int v); int reposition_window(int x, int y, int w = -1, int rows = -1); int uses_text(); + int cut(int do_update); + int copy(int do_update); + int paste(int do_update); + 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); @@ -157,6 +165,7 @@ public: BC_ScrollTextBoxYScroll *yscroll; private: int reset_parameters(int rows, int has_border, int font, int size); + BC_TextMenu *menu; void draw(int flush); void draw_border(); void draw_cursor(); @@ -463,4 +472,40 @@ public: }; +class BC_TextMenu : public BC_PopupMenu +{ +public: + BC_TextMenu(BC_TextBox *textbox); + ~BC_TextMenu(); + + void create_objects(); + + BC_TextBox *textbox; +}; + +class BC_TextMenuCut : public BC_MenuItem +{ +public: + BC_TextMenuCut(BC_TextMenu *menu); + int handle_event(); + BC_TextMenu *menu; +}; + +class BC_TextMenuCopy : public BC_MenuItem +{ +public: + BC_TextMenuCopy(BC_TextMenu *menu); + int handle_event(); + BC_TextMenu *menu; +}; + +class BC_TextMenuPaste : public BC_MenuItem +{ +public: + BC_TextMenuPaste(BC_TextMenu *menu); + int handle_event(); + BC_TextMenu *menu; +}; + + #endif