package ptaylor.bdd.grid.components { import mx.controls.dataGridClasses.DataGridItemRenderer; import ptaylor.bdd.grid.IStreamingServiceUI; import ptaylor.bdd.grid.events.ChangeStreamInfoSignal; import ptaylor.bdd.grid.vo.StreamData; import ptaylor.bdd.grid.vo.StreamInfoVO; import ptaylor.bdd.screens.IScreen; import ptaylor.bdd.screens.components.Screens; import ptaylor.bdd.screens.events.ScreenChangedSignal; public class StreamingServiceItemRenderer extends DataGridItemRenderer implements IStreamingServiceUI, IScreen { override public function set data(value:Object):void { if(!(value is Array)) { return; } super.data = value; updateStreamInfo.dispatch(new StreamInfoVO(String(value[listData.columnIndex]))); } public function setStreamData(data:StreamData):void { text = data.value; } private const signal:ChangeStreamInfoSignal = new ChangeStreamInfoSignal(); public function get updateStreamInfo():ChangeStreamInfoSignal { return signal; } public function set selectedScreen(screen:IScreen):void { const channel:String = data ? data[listData.columnIndex] : ''; updateStreamInfo.dispatch(new StreamInfoVO(screen == Screens.GRID_SCREEN ? channel : '')); } private const screenSignal:ScreenChangedSignal = new ScreenChangedSignal(); public function get screenChangedSignal():ScreenChangedSignal { return screenSignal; } } }