package FlexAS.GraphEffects { import flash.display.DisplayObject; import flash.filters.GlowFilter; import flash.filters.DropShadowFilter; import mx.core.Application; public class GraphHighlighting { private var prevSelectedColumn:DisplayObject; /* * This function will highlight a column/bar in a column/bar chart * @param barName The name/id of the bar/column chart * @param barIndex The position of the column you want to highlight */ public function barHighlight( barName:String, barIndex:int ):void { if (prevSelectedColumn) { prevSelectedColumn.alpha = .8; prevSelectedColumn.filters = []; //remove the glow filter } prevSelectedColumn = Application.application[barName].series[0].getChildAt( barIndex ); if (prevSelectedColumn) { prevSelectedColumn.alpha = 1; prevSelectedColumn.filters = [new GlowFilter(), new DropShadowFilter()]; } } /* * This function will highlight a row in a data grid * @param dataGridName The name of the data grid that contains the row to highlight * @param rowIndex The position of the row in the grid to highlight */ public function rowHighlight( dataGridName:String, rowIndex:int ): void { Application.application[dataGridName].selectedIndex = rowIndex; } /* * This function "explodes" a piece of pie from a pie chart * @param pieName The name of the pie chart that is to be modified * @param pieIndex The index of the pie piece that is to be modified */ public function pieHighlight( pieName:String, pieIndex:int ):void { var explodeData:Array = []; explodeData[ pieIndex ] = 0.15; Application.application[pieName].series[0].perWedgeExplodeRadius = explodeData; } } }