If showing *only* lines with colored text means that all others are hidden then you could use:
... set hidden of line i of fld "text" to \ (the textcolor of line i of fld "text" is empty) ... Trevor's script would then read: ... put (tTextA[i]["runs"][1]["style"]["textcolor"] is empty) \ into tTextA[i]["style"]["hidden"] ... Here yet another fast method: on mouseUp put the millisecs into m1 lock screen; lock messages put the htmltext of fld 1 into ht set linedelimiter to "<p" put the htmltext of fld 1 into ht replace " hidden" with empty in ht repeat for each line L in ht if offset("color=",L)>0 then put "<p" & L after s else put "<p hidden" & L after s end repeat set htmltext of fld 1 to s put the millisecs-m1 into fld "timing" end mouseUp > > Kaveh wrote: > > But here is a follow-up: Now I want to hide all lines that > > have no text style and only show lines with colored text. > > I use: > > > > repeat with i = 1 to the number of lines of fld 1 > > if the textcolor of line i of fld "text" is not empty then > > set the hidden of line i of fld "text" to false > > end if > > end repeat > > > > This is taking time too. Any suggestions how to speed this up? > > > > Trevor wrote: > Try working with the styledText property. > > put the styledText of field "text" into tTextA > > # loop through paragraphs > repeat with i = 1 to the number of elements of tTextA > # Check if first run has textcolor set > if tTextA[i]["runs"][1]["style"]["textcolor"] is not empty then > # hide paragraph > put true into tTextA[i]["style"]["hidden"] > end if > end repeat > > set the styledText of fld "text" to tTextA _______________________________________________ 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