Don't like ads? PRO users don't see any ads ;-)

Untitled

By: jan_flanders on May 2nd, 2012  |  syntax: ActionScript 3  |  size: 2.24 KB  |  hits: 20  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. package
  2. {
  3.         import fl.core.UIComponent;
  4.     import fl.controls.CheckBox;
  5.         import fl.controls.BaseButton;
  6.    
  7.         import fl.controls.DataGrid;
  8.         import fl.controls.listClasses.ICellRenderer
  9.         import fl.controls.dataGridClasses.DataGridCellEditor
  10.     import fl.controls.listClasses.ListData;
  11.     import flash.events.Event;
  12.     import fl.core.InvalidationType;
  13.     import flash.events.MouseEvent;
  14.         import ComboBoxCellRenderer
  15.    
  16.     public class CheckBoxCellRenderer extends BaseButton implements ICellRenderer//fl.controls.dataGridClasses.DataGridCellEditor // fl.controls.listClasses.CellRenderer//UIComponent implements ICellRenderer
  17.     {
  18.                 private var includeThis1:ComboBoxCellRenderer;
  19.                 private var includeThis2:CheckBoxCellEditor;
  20.                 private var includeThis3:CheckBoxHeaderRenderer;
  21.                 private var includeThis4:FileIconCellRenderer;
  22.                 private var cb:CheckBox;
  23.         protected var _data:Object/*Item*/;
  24.                 protected var _listData:ListData;
  25.        
  26.         public function CheckBoxCellRenderer()
  27.         {
  28.                         //trace('CheckBoxCellRenderer constructor');
  29.             super();
  30.                         cb=new CheckBox();
  31.                         cb.x=cb.y=3;
  32.                         addChild(cb);
  33.                         cb.label = "";
  34.                         addEventListener(MouseEvent.CLICK, onMouseClick);
  35.                 }
  36.         public function set data(d:Object):void
  37.         {
  38.                         //trace('set data:' + d.toString());
  39.             _data = d;
  40.                         cb.selected=d.included;
  41.                         cb.validateNow();
  42.         }
  43.         public function get data():Object
  44.         {
  45.             //trace("get data");
  46.                         return _data;
  47.         }
  48.        public function get listData():ListData
  49.         {
  50.                         //trace("get listData");
  51.             return _listData;
  52.         }
  53.         public function set listData(value:ListData):void
  54.                 {
  55.                         //trace("set listData:" + listDataToString(value));
  56.            _listData = value;
  57.                         cb.invalidate();//InvalidationType.DATA,InvalidationType.STATE
  58.         }
  59.                 private function listDataToString(v:ListData):String
  60.                 {
  61.                         return "column:"+v.column+", "+"row:"+  v.row+", "+"index:"+ v.index+", "+"label:"+ v.label+", "+"owner:"+v.owner+", "+"icon:"+v.icon;
  62.                 }
  63.                 private function onMouseClick(event:MouseEvent):void
  64.                 {
  65.                         //trace(event);
  66.                         cb.selected=!cb.selected;
  67.                         _data.included = cb.selected;
  68.                         cb.validateNow();
  69.                 }
  70.     }
  71. }