X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fentry.cpp;h=8853ad7efe6daf8a4812313f5754ade2b900c211;hb=deb15ee122f963ca41121e8358d5845401ac43ca;hp=1439d426acce4854bf1ecdcb3babd25985f1d20a;hpb=787dd5572e904a87686e7309401b86e0c528d823;p=libs%2Fgltk.git diff --git a/source/entry.cpp b/source/entry.cpp index 1439d42..8853ad7 100644 --- a/source/entry.cpp +++ b/source/entry.cpp @@ -39,18 +39,25 @@ void Entry::set_text(const string &t) { text = t; edit_pos = text.size(); + + if(multiline) + check_view_range(); } void Entry::set_multiline(bool m) { multiline = m; - if(multiline && !slider) + if(multiline) { - slider = new VSlider(res); - add(*slider); - slider->set_step(1); - slider->signal_value_changed.connect(sigc::mem_fun(this, &Entry::slider_value_changed)); - reposition_slider(); + if(!slider) + { + slider = new VSlider(res); + add(*slider); + slider->set_step(1); + slider->signal_value_changed.connect(sigc::mem_fun(this, &Entry::slider_value_changed)); + reposition_slider(); + } + check_view_range(); } } @@ -145,6 +152,9 @@ void Entry::render_special(const Part &part) const void Entry::on_geometry_change() { reposition_slider(); + + if(multiline) + check_view_range(); } void Entry::on_style_change() @@ -153,6 +163,9 @@ void Entry::on_style_change() text.set_style(style); reposition_slider(); + + if(multiline) + check_view_range(); } void Entry::reposition_slider()