yes thanks seeing it !
On Jan 14, 2008 11:36 AM, Alex Harui <[EMAIL PROTECTED]> wrote:

>    You implement your own setter for data.  You don't need to override
> anything.  See ListItemRenderer or TextInput or Label for examples
>
>
>  ------------------------------
>
> *From:* [email protected] [mailto:
> [EMAIL PROTECTED] *On Behalf Of *learner
> *Sent:* Sunday, January 13, 2008 8:56 PM
> *To:* [email protected]
> *Cc:* [EMAIL PROTECTED]
> *Subject:* Re: [flexcomponents] item renderer for list
>
>
>
>
> but if I don't extend canvas...it does not let me override the "set data"
> method if i don't make a override for set data....how can modify the
> properties of the data supplied to item render  from dataprovider...??
>
> On Jan 11, 2008 11:56 PM, Alex Harui <[EMAIL PROTECTED]> wrote:
>
> You should extend UIComponent and not Canvas.  You are not using any
> Canvas features so you don't need the weight.
>
>
>  ------------------------------
>
> *From:* [email protected] [mailto:
> [EMAIL PROTECTED] *On Behalf Of *learner
> *Sent:* Friday, January 11, 2008 2:23 AM
> *To:* [email protected]; [EMAIL PROTECTED]
> *Subject:* [flexcomponents] item renderer for list
>
>
>
> hi all,
> while creating a Itemrender of for the list , I am facing stranger
> problems
> 1. the data displayed in the itemrendere gets screwed up while scrolling
> 2. it takes lots of time (> 1 sec ) to render list
>
>
> Can somebody please anyalyse this and tell me that what is that which is
> taking resources ...
> Any help would be great.
>
>
>
> here is the itemrendere :
>
>
> package ms.chatmodule.view
> {
>     import flash.events.MouseEvent;
>
>     import ms.chatmodule.controls.ChatController;
>     import ms.imfusion.model.MemberObject;
>     import ms.imfusion.util.view.ImageHolder;
>
>     import mx.containers.Canvas ;
>     import mx.controls.Image;
>     import mx.controls.Label;
>     import mx.controls.listClasses.BaseListData;
>     import mx.controls.listClasses.IDropInListItemRenderer;
>     import mx.controls.listClasses.IListItemRenderer ;
>     import mx.controls.listClasses.ListData;
>     import mx.core.BitmapAsset;
>     import mx.core.IDataRenderer;
>     import mx.core.UITextField;
>
>
>     /**
>      * Displays one row in memberList
>      */
>     public class MemberBox extends Canvas implements IDataRenderer,
>                               IDropInListItemRenderer, IListItemRenderer
>     {
>         private var memberName:Label;
>
>         private var memberStatus:UITextField;
>
>         [Embed(source='ms/felix/css/assets/felixStyle.swf',
> symbol='memberOnline')]
>         private var onlineIcon:Class;
>
>         [Embed(source='ms/felix/css/assets/felixStyle.swf',
> symbol='memberOffline')]
>         private var offlineIcon:Class;
>
>         [Embed(source='ms/felix/css/assets/felixStyle.swf',
> symbol='memberBusy')]
>         private var busyIcon:Class;
>
>         [Embed(source='ms/felix/css/assets/felixStyle.swf',
> symbol='organizer')]
>         private var organizerIcon:Class;
>
>         private var memberObject:MemberObject;
>         private var statusImage:Image;
>         private var orgnizerImage:Image;
>         private var imgObj:BitmapAsset;
>         private var avatarHolder:ImageHolder;
>         private var serviceStatus:String;
>         private var memberColor:uint;
>         private var statusIcon:Object;
>         private var statusString:String;
>         /**
>          * Constructor
>          */
>         function MemberBox() {
>             super();
>             this.horizontalScrollPolicy = "off";
>             this.verticalScrollPolicy = "off"
>         }
>
>         override public function set data(value:Object):void {
>             super.data = value;
>             memberObject = value as MemberObject;
>             memberColor = 0xbababa;
>             orgnizerImage.source =  new organizerIcon();
>             if(memberObject.userRole == "A"){
>                 orgnizerImage.visible = true;
>             }
>             else{
>                 orgnizerImage.visible = false;
>             }
>             avatarHolder.unloadImage();
>             //trace("setData MemberBox " + memberObject.name + " --- " +
> this.listData.owner["listData"].label)
>             serviceStatus = this.listData.owner["listData"].label;
>
>             statusString = "";
>             statusIcon = "";
>             getMemberStatuts();
>             getStatusIcon();
>             invalidateProperties();
>         }
>
>         private function getMemberStatuts():void {
>             if(serviceStatus == "L") { // event is locked
>               if(memberObject.responseToLockedChoice == "Y") {
>                   memberColor = 0x196a0c;
>               }else if(memberObject.responseToLockedChoice == "N") {
>                 memberColor = 0xff2a0e;
>               }
>             }
>             else if(memberObject.hasResponded == 'Y'){
>                 memberColor = 0x0a92cb;
>             }
>             if(memberObject.hasSeen == "U") {
>                     statusString = "(Not Seen Yet)";
>                 if(memberObject.inviteEmailStatus == "FD") {
>                      statusString= "(Delivery Failed)";
>                 }
>             }
>         }
>
>
>         private function getStatusIcon():void {
>             if(memberObject.presence == "Online"){
>                 statusIcon = new onlineIcon() ;
>             }
>             if(memberObject.presence == "Offline"){
>                 statusIcon = new offlineIcon();
>             }
>             if(memberObject.presence == "Busy"){
>                 statusIcon = new busyIcon();
>             }
>         }
>
>         override protected function createChildren():void {
>             //trace("createChildren MemberBox");
>             super.createChildren();
>             orgnizerImage = new Image();
>             addChild(orgnizerImage);
>             orgnizerImage.height = 10;
>             orgnizerImage.width = 10;
>
>             avatarHolder = new ImageHolder();
>             addChild(avatarHolder);
>             avatarHolder.height = 35;
>             avatarHolder.width = 35;
>
>             memberName = new Label();
>             memberName.styleName = "NormalTextBoldSmall"
>             addChild(memberName);
>
>             memberStatus = new UITextField();
>             memberStatus.styleName = "NormalTextSmall";
>             addChild(memberStatus);
>
>             statusImage = new Image();
>             addChild(statusImage);
>
>             statusImage.height = 5;
>             statusImage.width = 5;
>             addEventListener(MouseEvent.CLICK,showChatWindow)
>
>         }
>
>         private function showChatWindow(event:MouseEvent):void {
>             ChatController.getInstance().getChatDetails(
> memberObject.userId);
>         }
>
>         override protected function
> updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void{
>             //trace("updateDisplayList MemberBox"+ memberObject.name)
>             super.updateDisplayList(unscaledWidth,unscaledHeight)
>             /* trace("updateDisplayList MemberBox " + memberObject.name +
> " --- "+ this.listData.owner["listData"].label)
>             avatarHolder.y=0;
>             memberName.x = avatarHolder.width + avatarHolder.x + 10 ;
>             memberName.width = 70 ;
>             var widthofmemberName:Number = ( memberName.textWidth>65) ? 65
> : memberName.textWidth;
>             memberStatus.x =  memberName.x + widthofmemberName
>             statusImage.x = memberStatus.x + memberStatus.textWidth+ 10;
>             statusImage.y = memberName.y + 5;
>             avatarHolder.x = orgnizerImage.width + 10;  */
>         }
>
>
>         override protected function measure():void{
>             //trace(" measure MemberBox"+ memberObject.name);
>             super.measure();
>             avatarHolder.imageSource = memberObject.imageUrl;
>             memberName.setStyle("color",memberColor);
>             memberStatus.text = statusString;
>             memberName.text = memberObject.name;
>             avatarHolder.y=0;
>             memberName.x = avatarHolder.width + avatarHolder.x + 10 ;
>             memberName.width = 70 ;
>             var widthofmemberName:Number = ( memberName.textWidth>65) ? 65
> : memberName.textWidth;
>             memberStatus.x =  memberName.x + widthofmemberName
>             statusImage.x = memberStatus.x + memberStatus.textWidth+ 10;
>             statusImage.y = memberName.y + 5;
>             avatarHolder.x = orgnizerImage.width + 10;
>
>         }
>
>         override protected function commitProperties():void {
>             memberStatus.text = statusString;
>             memberName.text = memberObject.name;
>             memberName.setStyle("color",memberColor);
>             super.commitProperties();
>             statusImage.source = statusIcon;
>             //trace(" commitProperties MemberBox"+ memberObject.name);
>         }
>          /**
>          *  @private
>          *  Storage for the listData property.
>          */
>         private var _listData:ListData;
>
>         [Bindable("dataChange")]
>
>         /**
>          *  The implementation of the <code>listData</code> property
>          *  as defined by the IDropInListItemRenderer interface.
>          *  @see mx.controls.listClasses.IDropInListItemRenderer
>          */
>         public function get listData():BaseListData {
>             return _listData;
>         }
>
>         /**
>          *  @private
>          */
>         public function set listData(value:BaseListData):void {
>             _listData = ListData(value);
>             invalidateProperties();
>         }
>
>
>
>     }
> }
>
>
>
>
> Regards
> PS
>
>
>
>  
>

Reply via email to