Deutsch English Français Italiano |
<v6kmal$1jhpc$1@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: eternal-september.org!news.eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Shaun Deacon <sdeacon@us.socionext.com> Newsgroups: comp.lang.tcl Subject: Operate only on the visible lines in a text window Date: Tue, 9 Jul 2024 17:57:17 -0700 Organization: A noiseless patient Spider Lines: 29 Message-ID: <v6kmal$1jhpc$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Wed, 10 Jul 2024 02:57:58 +0200 (CEST) Injection-Info: dont-email.me; posting-host="db322dc0cb279ba3e16fe8c0158af72d"; logging-data="1689388"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19lfQ4vKzcOnKP+PWl1ybtO" User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:91.0) Gecko/20100101 Firefox/91.0 SeaMonkey/2.53.18.2 Cancel-Lock: sha1:AsJegjh02r40IUNMniD/RzVswOc= X-Mozilla-News-Host: news://news.eternal-september.org:119 My application uses a text widget to display chip 'test vectors' from a loaded file. Each vector occupies a line - for example : 0011010XXLLLHH 0100110XXLHHLH .... 0110110XXHHHHH A highlighting operation colors specified values (for example all 1's) for all lines of text in the widget. For small and medium sized files this is fine. However, test files can often be large (over 500,000 vectors). The highlight operation applied to all lines is too slow in this case - the vectors are much longer strings in real life too. The obvious solution to me is to just highlight the currently visible lines (or a range of lines spanning the current view - say 1000 or so) and when the user scrolls the window, highlight the new set of lines. Suggestions on the best way to find the indexes for the currently visible lines when the widget has been scrolled would be great. Can someone please point me in the right direction ? For some reason, I can't seem to find what I'm looking for in CLT, the wiki or the man pages. thanks Shaun