On Aug 27, 2011, at 5:11 AM, Tim Selander wrote:

> I have a field full of (locked) text (a TV script), lines are wrapped. I want 
> to be able to click a word in the text and automatically set the scroll of 
> the field so that the line with the clicked word is at the very top of the 
> field.
> 
> I can set the vscroll of the field using the number returned by (the 
> clickline)*(the textheight) of the field. But, each wrapped line in the text 
> above the click throws that calculation off...
> 
> How can I take the wrapped lines into consideration so that the text my users 
> click pops to the top of the field?

Just tested it: two revisions. If the textheight of the field is empty then the 
original handler won't work, so use "the effective textheight of me." Also, 
correct for the borderwidth of the field:

on mouseup
  put word 2 of of the clickCharChunk into chNbr
   put the number of words of char 1 to chNbr of me \
          into wordNbr
   put the formattedheight of word 1 to wordNbr of me \
          into upToHere
   put the effective textheight of me into txtHt
   put upToHere - txtHt + (the effective borderwidth of me) \
          into upToHere
   set the scroll of me to upToHere
   -- so the line remains visible
end mouseup

-- Peter

Peter M. Brigham
pmb...@gmail.com
http://home.comcast.net/~pmbrig


_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to