X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fguicast%2Fbctextbox.C;h=6916f2e1777d0943ec09c910a954bf1a06237b8b;hb=0cfa31eba0eb21ebc44f42c7ac4bf30b6a7dcfa6;hp=e5ac51c652993ded444722e15c5d7ed9b80602f9;hpb=ef8f59c95a8966d70e5c2ecb89f0f22ea82e1e28;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/guicast/bctextbox.C b/cinelerra-5.1/guicast/bctextbox.C index e5ac51c6..6916f2e1 100644 --- a/cinelerra-5.1/guicast/bctextbox.C +++ b/cinelerra-5.1/guicast/bctextbox.C @@ -750,9 +750,9 @@ int BC_TextBox::focus_out_event() int BC_TextBox::cursor_enter_event() { - if(top_level->event_win == win && enabled) + if( top_level->event_win == win && enabled && + !(top_level->get_resources()->textbox_focus_policy & CLICK_ACTIVATE) ) { - tooltip_done = 0; if( !active ) { top_level->deactivate(); activate(); @@ -776,8 +776,8 @@ int BC_TextBox::cursor_leave_event() draw_border(); flash(1); } - if( !suggestions_popup && - top_level->get_resources()->textbox_focus_policy == LEAVE_DEACTIVATE ) + if( !suggestions_popup && !get_button_down() && + !(top_level->get_resources()->textbox_focus_policy & CLICK_DEACTIVATE) ) deactivate(); return 0; } @@ -901,7 +901,7 @@ int BC_TextBox::button_press_event() if( suggestions_popup->button_press_event() ) return suggestions_popup->handle_event(); } - else if( top_level->get_resources()->textbox_focus_policy == CLICK_DEACTIVATE ) + else if( (top_level->get_resources()->textbox_focus_policy & CLICK_DEACTIVATE) ) deactivate(); } @@ -1013,7 +1013,6 @@ int BC_TextBox::repeat_event(int64_t duration) tooltip_text && tooltip_text[0] != 0 && highlighted) { show_tooltip(); - tooltip_done = 1; result = 1; } @@ -2165,47 +2164,6 @@ void BC_ScrollTextBox::create_objects() set_text_row(0); } -int BC_ScrollTextBox::handle_event() -{ - return 1; -} - -int BC_ScrollTextBox::get_x() -{ - return x; -} - -int BC_ScrollTextBox::get_y() -{ - return y; -} - -int BC_ScrollTextBox::get_w() -{ - return w; -} - -int BC_ScrollTextBox::get_h() -{ - return this->text->get_h(); -} - -int BC_ScrollTextBox::get_rows() -{ - return rows; -} - - -const char* BC_ScrollTextBox::get_text() -{ - return text->get_text(); -} - -const wchar_t* BC_ScrollTextBox::get_wtext() -{ - return text->get_wtext(); -} - void BC_ScrollTextBox::set_text(char *text, int isz) { this->text->set_text(text, isz); @@ -2261,27 +2219,36 @@ void BC_ScrollTextBox::reposition_window(int x, int y, int w, int rows) 0); } -void BC_ScrollTextBox::set_selection(int char1, int char2, int ibeam) +int BC_ScrollTextBox::button_press_event() +{ + return text->BC_TextBox::button_press_event(); +} +int BC_ScrollTextBox::button_release_event() { - this->text->set_selection(char1, char2, ibeam); + return text->BC_TextBox::button_release_event(); } +int BC_ScrollTextBox::get_h() { return text->get_h(); } +const char *BC_ScrollTextBox::get_text() { return text->get_text(); } +const wchar_t *BC_ScrollTextBox::get_wtext() { return text->get_wtext(); } + +int BC_ScrollTextBox::get_buttonpress() +{ + return text->BC_TextBox::get_buttonpress(); +} void BC_ScrollTextBox::wset_selection(int char1, int char2, int ibeam) { - this->text->wset_selection(char1, char2, ibeam); + text->wset_selection(char1, char2, ibeam); +} +void BC_ScrollTextBox::set_selection(int char1, int char2, int ibeam) +{ + text->set_selection(char1, char2, ibeam); } - int BC_ScrollTextBox::get_ibeam_letter() { - return this->text->get_ibeam_letter(); + return text->get_ibeam_letter(); } - - - - - - BC_ScrollTextBoxText::BC_ScrollTextBoxText(BC_ScrollTextBox *gui, const char *text) : BC_TextBox(gui->x, gui->y, gui->w - get_resources()->vscroll_data[SCROLL_HANDLE_UP]->get_w(), @@ -2325,7 +2292,6 @@ int BC_ScrollTextBoxText::motion_event() return 1; } - BC_ScrollTextBoxYScroll::BC_ScrollTextBoxYScroll(BC_ScrollTextBox *gui) : BC_ScrollBar(gui->x + gui->w - @@ -2353,13 +2319,6 @@ int BC_ScrollTextBoxYScroll::handle_event() - - - - - - - BC_PopupTextBoxText::BC_PopupTextBoxText(BC_PopupTextBox *popup, int x, int y, const char *text) : BC_TextBox(x, y, popup->text_w, 1, text, BCTEXTLEN) { @@ -2401,6 +2360,7 @@ int BC_PopupTextBoxList::handle_event() if(item) { popup->textbox->update(item->get_text()); + popup->textbox->set_text_row(0); popup->handle_event(); } return 1; @@ -2449,14 +2409,12 @@ int BC_PopupTextBox::create_objects() void BC_PopupTextBox::update(const char *text) { textbox->update(text); + textbox->set_text_row(0); } void BC_PopupTextBox::update_list(ArrayList *data) { - listbox->update(data, - 0, - 0, - 1); + listbox->update(data, 0, 0, 1); } @@ -2495,6 +2453,16 @@ int BC_PopupTextBox::get_h() return textbox->get_h(); } +int BC_PopupTextBox::get_show_query() +{ + return listbox->get_show_query(); +} + +void BC_PopupTextBox::set_show_query(int v) +{ + listbox->set_show_query(v); +} + int BC_PopupTextBox::handle_event() { return 1; @@ -2735,18 +2703,21 @@ BC_TextBox* BC_TumbleTextBox::get_textbox() int BC_TumbleTextBox::update(const char *value) { textbox->update(value); + textbox->set_text_row(0); return 0; } int BC_TumbleTextBox::update(int64_t value) { textbox->update(value); + textbox->set_text_row(0); return 0; } int BC_TumbleTextBox::update(float value) { textbox->update(value); + textbox->set_text_row(0); return 0; } @@ -2825,3 +2796,9 @@ void BC_TumbleTextBox::set_boundaries(float min, float max) { tumbler->set_boundaries(min, max); } + +void BC_TumbleTextBox::set_tooltip(const char *text) +{ + textbox->set_tooltip(text); +} +