RE: pTk Scrolled Text problem

Nick Ing-Simmons <[email protected]>
Newsgroups gmane.comp.lang.perl.tk
Message-ID <[email protected]>
Vadim Konovalov <[email protected]> writes:
>> Here is a script that will show the problem...  When it starts up it
>> will consume 100% cpu due to the scrollbar attempting to redraw...
>> Watch the thumb bounce up and down in the scroll region.
>
>this problem is in perl/Tk and does not appear to be in Tcl/Tk.
>Because if I replace many "use Tk; use Tk::something" with single
>
>  use Tcl::Tk qw(:perlTk);
>
>, the problem does not appear.
>
>As a side note, following lines in that script are inessential but
>incorrect:
>
># subroutine declarations, needed by strict setting
>use subs qw( CreateMainUI );
>
>removing those do not influence breakage

The problen certainly used to occur with Tcl/Tk.
What happens is: a line at the bottom of in the window is too wide to be 
rendered so a horizontal scrollbar is mapped. But now line isn't in the window
(covered by scrollbar) so scrollbar is unmapped.

A proper "fix" is for Text widget to know the "width" of text as a whole
not just that which fits in the window. But that is a lot of computation 
for a large document. Caching longest line seen might suffice. 

What I personally would like to see is scrollbar's mapped-ness be determined 
by whether ANY line of whole text is wider than window, but slider expand to 
full size if current window contents fit.



>
>Vadim
>
>
>> 
>> Thanks again for any help...
>> 
>> On Tue, 2005-12-13 at 17:46 +0000, [email protected] wrote:
>> > Hello,
>> > 
>> > I've been struggling with a problem with the perl/Tk Text widget for
>> > a while now.  We create a scrolled text widget that has the 
>> scrollbars
>> > as optional (osoe).  If the contents of the widget extend 
>> vertically past the
>> > border of the widget, there is no problem.  The scrollbar 
>> appears and
>> > functions correctly.
>> > 
>> > If on the other hand, it extends past the borders 
>> vertically and in some
>> > spots horizontally, then as it scrolls the x-scrollbar 
>> appears and disappears
>> > as it is needed.  No problem here either.
>> > 
>> > The problem seems to be when the first line above or below 
>> the currently
>> > viewed text is wider than the visible region, the hide/show 
>> scrollbar code
>> > seems to cause an oscillation...  i.e.  the horizontal 
>> scrollbar keeps appearing
>> > and disappearing.  This continues until the app is 
>> killed...  This happens
>> > when scrolling or selecting text.
>> > 
>> > A similar problem to what is going on is easy to reproduce. 
>>  Create a text
>> > widget and add some text.  Have one line off screen that 
>> needs the horizontal
>> > scrollbar.  Have just enough lines after it so that it will 
>> be just off the screen
>> > if you scroll all the way down.
>> > 
>> > Now scroll all the way down.  Notice that it keeps jumping 
>> up and down as
>> > you try to view the last lines....  The problem goes away 
>> if you make the window
>> > wide enough to not need the x-scrollbar...
>> > 
>> > (I'll put together a sample if need be...)
>> > 
>> > This has happened on RedHat 9 Linux with the latest Tk code 
>> as well as with
>> > ActiveState perl and the Tk it is shipped with...
>> > 
>> > Any ideas?  
>> > 
>> > Thanks in advance...
>> > 
>> > - Todd
>> > -++**==--++**==--++**==--++**==--++**==--++**==--++**==
>> > This message was posted through the Stanford campus mailing list
>> > server.  If you wish to unsubscribe from this mailing list, send the
>> > message body of "unsubscribe ptk" to [email protected]
>> -- 
>> 
>>                                                         - Todd
>> 
>-++**==--++**==--++**==--++**==--++**==--++**==--++**==
>This message was posted through the Stanford campus mailing list
>server.  If you wish to unsubscribe from this mailing list, send the
>message body of "unsubscribe ptk" to [email protected]


-++**==--++**==--++**==--++**==--++**==--++**==--++**==
This message was posted through the Stanford campus mailing list
server.  If you wish to unsubscribe from this mailing list, send the
message body of "unsubscribe ptk" to [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.