Yes, though I am a bit embarrassed to say so, regex syntax is just too arcane for my needs. I need this kind of stuff a few times a year, and just haven't needed to learn regex. I use the split/join solution myself.
Tracy Spratt, Lariat Services, development services available _____ From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com] On Behalf Of Tim Hoff Sent: Wednesday, April 22, 2009 9:23 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: RegEx string via cell ItemRenderer to colorize specific characters or a better method? Hi Adrian, I came across this function recently, that may suit you needs: public static function StringReplaceAll( source:String, find:String, replacement:String ) : String { return source.split( find ).join( replacement ); } -TH --- In flexcoders@yahoogroups.com, Adrian Williams <adri...@...> wrote: > > Hi Tracy, > > This is an interesting idea...but you have me at a bit of a > loss....I was already heading down part of the same path you laid out > here...here is my renderer code thus far: > > First, the column from my ADG: > <mx:AdvancedDataGridColumn id="groupedHVR1" dataField="Hvr1M" > headerText="HVR1 Mutations" headerWordWrap="true" textAlign="left" > wordWrap="true" editable="false" width="100" showDataTips="true" > itemRenderer="renderers.GeneralRenderers.AminoAcidRenderer" /> > > > now the AminoAcidRenderer.mxml: > > <?xml version="1.0" encoding="utf-8"?> > <mx:Label xmlns:mx="http://www.adobe.com/2006/mxml" > implements="mx.core.IFactory" truncateToFit="true" > width="100%" height="100%" paddingLeft="2" paddingRight="2"> > <mx:Script> > <![CDATA[ > import mx.utils.ObjectProxy; > > override public function set text(value:String):void > { > if (value != null && value != " " && value != "") > { > value = String(value.replace("G",'<font > color="black">G</font>')); > value = String(value.replace("A",'<font > color="green">A</font>')); > value = String(value.replace("T",'<font > color="red">T</font>')); > value = String(value.replace("C",'<font > color="blue">C</font>')); > > super.htmlText = value; > } > else > { > super.htmlText = value; > } > } > > public function newInstance():* > { > return new AminoAcidRenderer(); > } > ]]> > </mx:Script> > </mx:Label> > > But, alas, there are a couple of problems here. First, the > string.replace() only affects the first occurrence of the pattern and > not every occurrence (I wonder if a regex would remedy that?). Then > although the substitution gets done for those patterns that are found, > the htmlText isn't getting rendered...and I wonder if it's due to the > function set text instead of function set htmlText, which I tried and > literally got nothing. > > I've also looked at the TextRange that someone else suggested but > not sure how to possibly use that as it needs a begin/end index and the > letters are sporadic from one string to the next. > > How would I setup the labelFunction to parse the string to get the > letters? > > Thanks in advance! > Adrian > > > > Tracy Spratt wrote: > > > > > > I suggest that you use a labelFunction feeding a renderer that uses > > htmlText. The label function would simply parse the strings to get > > the letters, and wrap them in a Font tag specifying the color. This > > would be very easy. > > > > > > > > Tracy Spratt, > > > > Lariat Services, development services available > > > > ------------------------------------------------------------------------ > > > > *From:* flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com] > > *On Behalf Of *valdhor > > *Sent:* Wednesday, April 22, 2009 4:44 PM > > *To:* flexcoders@yahoogroups.com > > *Subject:* [flexcoders] Re: RegEx string via cell ItemRenderer to > > colorize specific characters or a better method? > > > > > > > > > > > > > > Have a look into TextRange. > > > > --- In flexcoders@yahoogroups.com > > <mailto:flexcoders%40yahoogroups.com>, Adrian Williams adrianw@ > > wrote: > > > > > > Hi All, > > > > > > Here's a fun one! > > > > > > I have a column in an ADG, and the cells can contain a variety of > > > data including: > > > > > > 16223T,16290T,16319A,16362C,16524G > > > or > > > 73G,249-,263G,290-,291-,309.1C,315.1C,489C,493G,522-,523- > > > > > > What I need to do is for each of the letters (there's four possible > > > - A,T,C,G) I need to be able to change the font color specific to each > > > letter...i.e. all the "A's" need to be green, the "C's" need to be blue, > > > the "G's" need to be black and the "T's" need to be red. > > > > > > As I've been thinking about it, I figure I'm going to have to use a > > > custom itemRenderer for the cell to manipulate the data to begin with. > > > But within the renderer, I'm quasi-stuck. I figure the simplest way to > > > ID the letters is to RegExp the data...then possibly using a switch/case > > > to set the colors for the letters...but not sure how to affect just the > > > individual letters in the overall string and then return that with the > > > cell's renderer?? > > > > > > Anyone have any thoughts on this? > > > > > > Thanks! > > > Adrian > > > > > > > >