home *** CD-ROM | disk | FTP | other *** search
- package com.Primitives
- {
- import flash.display.SpreadMethod;
- import flash.events.Event;
- import flash.events.MouseEvent;
- import flash.geom.*;
- import mx.controls.dataGridClasses.DataGridListData;
- import mx.controls.listClasses.BaseListData;
- import mx.controls.listClasses.IDropInListItemRenderer;
- import mx.controls.listClasses.IListItemRenderer;
- import mx.core.IDataRenderer;
- import mx.core.UIComponent;
- import mx.core.mx_internal;
- import mx.events.FlexEvent;
- import mx.managers.IFocusManagerComponent;
-
- use namespace mx_internal;
-
- public class BasePrimitive extends UIComponent implements IDataRenderer, IDropInListItemRenderer, IFocusManagerComponent, IListItemRenderer
- {
- mx_internal var _selected:Boolean = false;
-
- private var _data:Object;
-
- public var selectedField:String = null;
-
- private var _backgroundEnabled:Boolean = true;
-
- mx_internal var toggleChanged:Boolean = false;
-
- private var selectedSet:Boolean;
-
- private var _listData:BaseListData;
-
- private var styleChangedFlag:Boolean = true;
-
- mx_internal var _toggle:Boolean = false;
-
- private var toolTipSet:Boolean = false;
-
- public function BasePrimitive()
- {
- super();
- mouseChildren = false;
- addEventListener(MouseEvent.ROLL_OVER,this.rollOverHandler);
- addEventListener(MouseEvent.ROLL_OUT,this.rollOutHandler);
- addEventListener(MouseEvent.MOUSE_DOWN,this.mouseDownHandler);
- addEventListener(MouseEvent.MOUSE_UP,this.mouseUpHandler);
- addEventListener(MouseEvent.CLICK,this.clickHandler);
- addEventListener(FlexEvent.UPDATE_COMPLETE,this.handleUpdateComplete);
- }
-
- override protected function updateDisplayList(param1:Number, param2:Number) : void
- {
- var _loc3_:uint = 0;
- var _loc8_:Array = null;
- var _loc9_:Array = null;
- var _loc10_:Array = null;
- var _loc11_:String = null;
- var _loc12_:String = null;
- var _loc13_:Number = NaN;
- var _loc14_:Number = NaN;
- var _loc15_:Matrix = null;
- var _loc16_:Array = null;
- var _loc17_:Array = null;
- var _loc18_:Array = null;
- var _loc19_:String = null;
- var _loc20_:String = null;
- var _loc21_:Number = NaN;
- var _loc22_:Number = NaN;
- var _loc23_:Matrix = null;
- var _loc24_:uint = 0;
- var _loc25_:Number = NaN;
- super.updateDisplayList(param1,param2);
- graphics.clear();
- if(!this.selected)
- {
- _loc3_ = getStyle("borderColor");
- }
- else
- {
- _loc3_ = getStyle("borderSelectedColor");
- }
- if(_loc3_ == 0)
- {
- _loc3_ = 0;
- }
- var _loc4_:Number = getStyle("borderThickness");
- var _loc5_:Number = getStyle("borderAlpha");
- var _loc6_:Boolean = getStyle("borderPixelHinting");
- var _loc7_:String = getStyle("borderJointStyle");
- graphics.lineStyle(_loc4_,_loc3_,_loc5_,_loc6_,"normal",null,_loc7_);
- if(getStyle("borderFillEnabled"))
- {
- if(!this.selected)
- {
- _loc8_ = getStyle("borderColors");
- }
- else
- {
- _loc8_ = getStyle("borderSelectedColors");
- }
- _loc9_ = getStyle("borderAlphas");
- _loc10_ = getStyle("borderRatios");
- if(_loc8_ == null)
- {
- _loc8_ = [0,16777215];
- }
- if(_loc9_ == null)
- {
- _loc9_ = [1,1];
- }
- if(_loc10_ == null)
- {
- _loc10_ = [0,255];
- }
- _loc11_ = getStyle("borderFillType");
- _loc12_ = getStyle("borderSpreadMethod");
- _loc13_ = getStyle("borderFocalPointRatio");
- _loc14_ = getStyle("borderAngle");
- if(!_loc14_)
- {
- _loc14_ = 0;
- }
- if(!_loc11_)
- {
- _loc11_ = "linear";
- }
- if(!_loc12_)
- {
- _loc12_ = "pad";
- }
- _loc15_ = new Matrix();
- _loc15_.createGradientBox(param1,param2,_loc14_,0,0);
- graphics.lineGradientStyle(_loc11_,_loc8_,_loc9_,_loc10_,_loc15_,_loc12_,"rgb",_loc13_);
- }
- if(getStyle("fillEnabled") && this.backgroundEnabled)
- {
- if(!this.selected)
- {
- _loc16_ = getStyle("fillColors");
- }
- else
- {
- _loc16_ = getStyle("fillSelectedColors");
- }
- _loc17_ = getStyle("fillAlphas");
- _loc18_ = getStyle("fillRatios");
- if(_loc16_ == null)
- {
- _loc16_ = [0,16777215];
- }
- if(_loc17_ == null)
- {
- _loc17_ = [1,1];
- }
- if(_loc18_ == null)
- {
- _loc18_ = [0,255];
- }
- _loc19_ = getStyle("fillType");
- _loc20_ = getStyle("fillSpreadMethod");
- _loc21_ = getStyle("fillFocalPointRatio");
- _loc22_ = getStyle("fillAngle");
- if(!_loc22_)
- {
- _loc22_ = 0;
- }
- if(!_loc19_)
- {
- _loc19_ = "linear";
- }
- if(!_loc20_)
- {
- _loc20_ = "pad";
- }
- _loc23_ = new Matrix();
- _loc23_.createGradientBox(param1,param2,_loc22_,0,0);
- graphics.beginGradientFill(_loc19_,_loc16_,_loc17_,_loc18_,_loc23_,SpreadMethod.REFLECT,"rgb",_loc21_);
- }
- else if(this.backgroundEnabled)
- {
- if(!this.selected)
- {
- _loc24_ = getStyle("backgroundColor");
- }
- else
- {
- _loc24_ = getStyle("backgroundSelectedColor");
- }
- _loc25_ = getStyle("backgroundAlpha");
- if(_loc24_ != 0)
- {
- graphics.beginFill(_loc24_,_loc25_);
- }
- }
- }
-
- protected function mouseUpHandler(param1:MouseEvent) : void
- {
- }
-
- [Bindable("valueCommit")]
- [Bindable("click")]
- public function get selected() : Boolean
- {
- return this.mx_internal::_selected;
- }
-
- mx_internal function setSelected(param1:Boolean) : void
- {
- if(this.mx_internal::_selected != param1)
- {
- this.mx_internal::_selected = param1;
- invalidateDisplayList();
- if(this.toggle)
- {
- dispatchEvent(new Event(Event.CHANGE));
- }
- dispatchEvent(new FlexEvent(FlexEvent.VALUE_COMMIT));
- }
- }
-
- protected function rollOverHandler(param1:MouseEvent) : void
- {
- }
-
- protected function clickHandler(param1:MouseEvent) : void
- {
- this.selected = !this.selected;
- }
-
- public function set toggle(param1:Boolean) : void
- {
- this.mx_internal::_toggle = param1;
- this.mx_internal::toggleChanged = true;
- invalidateProperties();
- invalidateDisplayList();
- dispatchEvent(new Event("toggleChanged"));
- }
-
- [Bindable("dataChange")]
- public function get data() : Object
- {
- if(!this._data)
- {
- this._data = {};
- }
- return this._data;
- }
-
- public function set selected(param1:Boolean) : void
- {
- this.selectedSet = true;
- this.mx_internal::setSelected(param1);
- }
-
- public function get backgroundEnabled() : Boolean
- {
- return this._backgroundEnabled;
- }
-
- override public function styleChanged(param1:String) : void
- {
- this.styleChangedFlag = true;
- super.styleChanged(param1);
- invalidateProperties();
- invalidateDisplayList();
- }
-
- override public function set toolTip(param1:String) : void
- {
- super.toolTip = param1;
- if(param1)
- {
- this.toolTipSet = true;
- }
- else
- {
- this.toolTipSet = false;
- invalidateDisplayList();
- }
- }
-
- public function set listData(param1:BaseListData) : void
- {
- this._listData = param1;
- }
-
- [Bindable("toggleChanged")]
- public function get toggle() : Boolean
- {
- return this.mx_internal::_toggle;
- }
-
- protected function mouseDownHandler(param1:MouseEvent) : void
- {
- }
-
- private function handleUpdateComplete(param1:FlexEvent) : void
- {
- if(this.backgroundEnabled)
- {
- graphics.endFill();
- }
- }
-
- public function set data(param1:Object) : void
- {
- var _loc2_:* = undefined;
- this._data = param1;
- if(Boolean(this._listData) && this._listData is DataGridListData)
- {
- _loc2_ = this._data[DataGridListData(this._listData).dataField];
- }
- else if(this._listData)
- {
- if(this.selectedField)
- {
- _loc2_ = this._data[this.selectedField];
- }
- }
- else
- {
- _loc2_ = this._data;
- }
- if(_loc2_ !== undefined && !this.selectedSet)
- {
- this.selected = _loc2_ as Boolean;
- this.selectedSet = false;
- }
- dispatchEvent(new FlexEvent(FlexEvent.DATA_CHANGE));
- }
-
- public function set backgroundEnabled(param1:Boolean) : void
- {
- this._backgroundEnabled = param1;
- invalidateProperties();
- invalidateDisplayList();
- }
-
- [Bindable("dataChange")]
- public function get listData() : BaseListData
- {
- return this._listData;
- }
-
- protected function rollOutHandler(param1:MouseEvent) : void
- {
- }
- }
- }
-
-