IIRC, you added or removed a validateNow()? That could affect timing, so the CompareBitmap may need or not need to WaitForLayoutManager. But if waiting helps, consider that this could mean an app that's busy so the frame rate slows might see a flicker.
On 6/8/13 2:34 AM, "Justin Mclean" <jus...@classsoftware.com> wrote: >Hi, > >>> 1) ADG mirroring. The failing bitmap shows the text flipped (as if >>>viewed >>> in a mirror). > >Look closer at the test it setting the layout direction RTL not the >direction so only the columns should be reverse order not the text. > >Look like there's an issue with the test as the same code run in a >browser doesn't show the text mirrored. > >here's the code: > ><?xml version="1.0" encoding="utf-8"?> ><mx:Application layout="vertical" height="700" width="850" > xmlns:fx="http://ns.adobe.com/mxml/2009" > xmlns:s="library://ns.adobe.com/flex/spark" > xmlns:mx="library://ns.adobe.com/flex/mx" > initialize="init(event)"> > <fx:Script> > <![CDATA[ > import mx.events.FlexEvent; > > import mx.collections.*; > import mx.controls.NumericStepper; > import mx.formatters.CurrencyFormatter; > import mx.styles.StyleManager; > import mx.controls.advancedDataGridClasses.*; > > protected function init(event:FlexEvent):void > { > createColumnGroups(); > groupedData(); > mydatagrid.expandAll(); > } > > [Bindable] > private var ac:ArrayCollection = new > ArrayCollection(); > > public var companies:AdvancedDataGridColumn = > new >AdvancedDataGridColumn("Company"); > public var quarters:AdvancedDataGridColumn = > new >AdvancedDataGridColumn("Quarter"); > public var india:AdvancedDataGridColumn = new >AdvancedDataGridColumn("India"); > public var veeranistan:AdvancedDataGridColumn > = new >AdvancedDataGridColumn("Veeranistan"); > public var pareestan:AdvancedDataGridColumn = > new >AdvancedDataGridColumn("Pareestan"); > public var licenses:AdvancedDataGridColumn = > new >AdvancedDataGridColumn("Licenses"); > public var > countries:AdvancedDataGridColumnGroup = new >AdvancedDataGridColumnGroup(); > public var toplevel:AdvancedDataGridColumnGroup > = new >AdvancedDataGridColumnGroup(); > [Bindable] > public var hierarch_data:Array = [ > > { feature:"ADG", children:[ > { feature:"ADG", subFeature:"Multi column > sorting", >startDate:{day:"Monday", Year:2007}, endDate:"1/07/07" }, > { feature:"ADG", subFeature:"Custom rows", > startDate:{day:"Monday", >Year:2009}, endDate:"01/18/07" }, > { feature:"ADG", subFeature:"Tree Views", > startDate:{day:"Monday", >Year:2006}, endDate:"01/29/07" }, > { feature:"ADG", subFeature:"Collections", > startDate:{day:"Monday", >Year:2004}, endDate:"04/25/07" } > ] } > > ]; > > [Bindable] > private var mydata:ArrayCollection = new > ArrayCollection ([ > {Company:"Adobe", Quarter:1, India:"2 million", > Veeranistan:"2 >million", Pareestan:"3 million", Licenses:433764538}, > {Company:"IBM", Quarter:1, India:"9 million", > Veeranistan:"1 >million", Pareestan:"5 million", Licenses:456789002}, > {Company:"KaashifSoft", Quarter:1, India:"99 > million", >Veeranistan:"99 million", Pareestan:"99 million", Licenses:456712340}, > {Company:"NisheetSoft", Quarter:1, India:"0 > million", Veeranistan:"0 >million", Pareestan:"0 million", Licenses:456782313}, > {Company:"Microsoft", Quarter:1, India:"6 > million", Veeranistan:"5 >million", Pareestan:"6 million", Licenses:354216789}, > {Company:"Satyam", Quarter:1, India:"1 > million", Veeranistan:"3 >million", Pareestan:"2 million", Licenses:325146789}, > {Company:"Subex", Quarter:1, India:"2 million", > Veeranistan:"9 >million", Pareestan:"1 million", Licenses:321456978}, > {Company:"Infosys", Quarter:1, India:"0.89 > million", Veeranistan:"12 >million", Pareestan:"4.5 million", Licenses:321475689}, > {Company:"MCAfee", Quarter:1, India:"3 > million", Veeranistan:"5.98 >million", Pareestan:"6.2 million", Licenses:321467589}, > {Company:"MPhasis", Quarter:1, India:"2 > million", Veeranistan:"1.5 >million", Pareestan:"6.7 million", Licenses:123456789}, > {Company:"Symphony", Quarter:1, India:"3.4 > million", Veeranistan:"6.1 >million", Pareestan:"7.8 million", Licenses:341256789}, > {Company:"Wipro", Quarter:1, India:"5 million", > Veeranistan:"2 >million", Pareestan:"7 million", Licenses:321654789}, > {Company:"Google", Quarter:1, India:"3 > million", Veeranistan:"4 >million", Pareestan:"1 million", Licenses:321458769 } ]); > > public function createColumnGroups():void { > > countries.headerText="Countries"; > > toplevel.headerText="Top Level"; > > var countriesarr:Array = new Array(); > var toplevelarr:Array = new Array(); > countriesarr.push(india); > countriesarr.push(pareestan); > countriesarr.push(veeranistan); > toplevelarr.push(quarters); > mydatagrid.dataProvider=mydata; > countries.children = countriesarr; > toplevelarr.push(countries); > toplevel.children=toplevelarr; > mydatagrid.groupedColumns=[companies, > toplevel, licenses]; > mydatagrid.dataProvider.refresh(); > companies.dataField="Company"; > quarters.dataField="Quarter"; > licenses.dataField="Licenses"; > } > > public function groupedData():void { > var mygroup:GroupingCollection2 = new > GroupingCollection2(); > mygroup.source=mydata; > var group:Grouping = new Grouping(); > group.fields = [new > GroupingField("Company"), new >GroupingField("Licenses")]; > group.label = "Company"; > mygroup.grouping = group; > mygroup.refresh(); > mydatagrid.dataProvider = mygroup; > mydatagrid.validateNow(); > } > > public function insertColumns():void { > > var mycols:AdvancedDataGridColumn = new >AdvancedDataGridColumn("ggg"); > var mycolsarr:Array = > mydatagrid.groupedColumns; > mycolsarr.push(mycols); > mydatagrid.groupedColumns = mycolsarr; > } > > public function insertColumngroups():void > { > var > mycolgroup:AdvancedDataGridColumnGroup = new >AdvancedDataGridColumnGroup(); > mycolgroup.headerText = "topmost "; > var mycolsarr:Array = new > Array(mydatagrid.groupedColumns[0]); > mycolgroup.children = mycolsarr; > var tempCols:Array = >mydatagrid.groupedColumns.slice(1,mydatagrid.groupedColumns.length); > mydatagrid.groupedColumns = > [mycolgroup].concat(tempCols); > } > > public function hierarchicaldata_setter():void { > var hierarchs:HierarchicalData = new > HierarchicalData(); > hierarchs.source = hierarch_data; > mydatagrid..dataProvider = hierarchs; > companies.dataField = "feature"; > quarters.dataField = "subFeature"; > licenses.dataField = "endDate"; > } > > public function vrHeight():void { > > for(var i:int=0;i<20;i++) > { > var rnd:* = Math.random(); > var obj:Object = >{Company:"column-A0",Quarter:"column-B"+rnd,India:"column-C"+rnd,Veeranist >an:"Column-D"+rnd,Pareestan:"Column-E"+rnd,Licenses:"Column-F"+rnd} > ac.addItem(obj); > } > > mydatagrid.dataProvider = ac; > mydatagrid.variableRowHeight = true; > mydatagrid.wordWrap = true; > } > > public function headerRenderer():void { > countries.headerRenderer = new >ClassFactory(mx.controls.NumericStepper); > toplevel.headerRenderer = new > ClassFactory(mx.controls.TextArea); > quarters.headerRenderer = new > ClassFactory(mx.controls.TextInput); > } > > public function customHeaderRenderer():void { > //toplevel.headerRenderer = new > ClassFactory(myheads); > } > > public function visibleColumns():void { > toplevel.visible = false; > } > > public function headerSkin():void { > > //StyleManager.getStyleDeclaration("AdvancedDataGrid").setStyle("head >erHorizontalSeparatorSkin",myhorskin); > } > > public function >myStyleFunction(data:Object,col:AdvancedDataGridColumn):Object { > return { color:0xFF0000}; > } > > public function myFormatting():void { > > mydatagrid.styleFunction = > myStyleFunction; > mydata.refresh(); > var forms:CurrencyFormatter = new > CurrencyFormatter(); > forms.currencySymbol = "$"; > createColumnGroups(); > licenses.formatter = forms; > mydatagrid.dataProvider.refresh(); > > } > > public function myColumnSpan():void { > > var > renders:AdvancedDataGridRendererProvider = new >AdvancedDataGridRendererProvider(); > renders.column = companies; > var renderarr:Array = new Array(); > renders.dataField = "Company"; > renders.columnSpan = 2; > renders.renderer = new > ClassFactory(mx.controls.NumericStepper); > renderarr.push(renders); > mydatagrid.rendererProviders = > renderarr; > } > > public function generateXML():void { > > mydatagrid.dataProvider = comps; > } > > > ]]> > </fx:Script> > <fx:Declarations> > <fx:XMLList id="comps"> > <companylist> > <Company>AalishaanSoft</Company> > <Quarter> 1 </Quarter> > <India>34 million</India> > <Veeranistan>1.5 million</Veeranistan> > <Pareestan>5 million</Pareestan> > <Licenses>321475987</Licenses> > </companylist> > <companylist> > <Company>MughaleAzamSoft</Company> > <Quarter> 1 </Quarter> > <India>3.4 million</India> > <Veeranistan>2 million</Veeranistan> > <Pareestan>5.4 million</Pareestan> > <Licenses>321475987</Licenses> > </companylist> > <companylist> > <Company>SheeshMahalSoft</Company> > <Quarter> 1 </Quarter> > <India>45 million</India> > <Veeranistan>15 million</Veeranistan> > <Pareestan>5.1 million</Pareestan> > <Licenses>321745987</Licenses> > </companylist> > <companylist> > <Company>AjnabeeSoft</Company> > <Quarter> 1 </Quarter> > <India>14 million</India> > <Veeranistan>11 million</Veeranistan> > <Pareestan>5.7 million</Pareestan> > <Licenses>321479587</Licenses> > </companylist> > </fx:XMLList> > </fx:Declarations> > <mx:Canvas id="box" width="100%" height="100%"> > <mx:AdvancedDataGrid id="mydatagrid" layoutDirection="rtl" /> > </mx:Canvas> > <mx:TextInput id="ti"/> ></mx:Application> > > >Thanks, >Justin > > >