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]