package
{
import fl.core.UIComponent;
import fl.controls.CheckBox;
import fl.controls.BaseButton;
import fl.controls.DataGrid;
import fl.controls.listClasses.ICellRenderer
import fl.controls.dataGridClasses.DataGridCellEditor
import fl.controls.listClasses.ListData;
import flash.events.Event;
import fl.core.InvalidationType;
import flash.events.MouseEvent;
import ComboBoxCellRenderer
public class CheckBoxCellRenderer extends BaseButton implements ICellRenderer//fl.controls.dataGridClasses.DataGridCellEditor // fl.controls.listClasses.CellRenderer//UIComponent implements ICellRenderer
{
private var includeThis1:ComboBoxCellRenderer;
private var includeThis2:CheckBoxCellEditor;
private var includeThis3:CheckBoxHeaderRenderer;
private var includeThis4:FileIconCellRenderer;
private var cb:CheckBox;
protected var _data:Object/*Item*/;
protected var _listData:ListData;
public function CheckBoxCellRenderer()
{
//trace('CheckBoxCellRenderer constructor');
super();
cb=new CheckBox();
cb.x=cb.y=3;
addChild(cb);
cb.label = "";
addEventListener(MouseEvent.CLICK, onMouseClick);
}
public function set data(d:Object):void
{
//trace('set data:' + d.toString());
_data = d;
cb.selected=d.included;
cb.validateNow();
}
public function get data():Object
{
//trace("get data");
return _data;
}
public function get listData():ListData
{
//trace("get listData");
return _listData;
}
public function set listData(value:ListData):void
{
//trace("set listData:" + listDataToString(value));
_listData = value;
cb.invalidate();//InvalidationType.DATA,InvalidationType.STATE
}
private function listDataToString(v:ListData):String
{
return "column:"+v.column+", "+"row:"+ v.row+", "+"index:"+ v.index+", "+"label:"+ v.label+", "+"owner:"+v.owner+", "+"icon:"+v.icon;
}
private function onMouseClick(event:MouseEvent):void
{
//trace(event);
cb.selected=!cb.selected;
_data.included = cb.selected;
cb.validateNow();
}
}
}