DefaultFormatter.as

Go to the documentation of this file.
00001 import gugga.common.UIComponentEx;
00002 import gugga.tracking.IFormatter;
00003 import gugga.tracking.TrackRecord;
00004 import gugga.utils.ReflectUtil;
00005 
00009 class gugga.tracking.formatters.DefaultFormatter implements IFormatter 
00010 {
00011         public function formatOriginator(aTrackRecord : TrackRecord) : String 
00012         {
00013                 if(typeof(aTrackRecord.Originator) == "string")
00014                 {
00015                         return aTrackRecord.Originator.toString();
00016                 }
00017                 else if(aTrackRecord.Originator instanceof MovieClip)
00018                 {                       
00019                         var originatorParents : Array = new Array();
00020                         var tempObject : MovieClip = MovieClip(aTrackRecord.Originator);
00021                         
00022                         while(tempObject)
00023                         {
00024                                 if ((tempObject instanceof UIComponentEx) 
00025                                         && UIComponentEx(tempObject).TrackableID != undefined
00026                                         && UIComponentEx(tempObject).TrackableID != null)
00027                                 {
00028                                         originatorParents.push(UIComponentEx(tempObject).TrackableID);
00029                                 }
00030                                 
00031                                 tempObject = tempObject._parent;
00032                         }
00033                         
00034                         var originatorName : String = "";
00035                         while(originatorParents.length > 0)
00036                         {
00037                                 if(originatorName != "")
00038                                 {
00039                                         originatorName += ".";
00040                                 }
00041                                 
00042                                 originatorName += originatorParents.pop().toString();
00043                         }
00044                         
00045                         return originatorName;
00046                 }
00047                 else
00048                 {
00049                         return ReflectUtil.getTypeNameForInstance(aTrackRecord.Originator);
00050                 }
00051         }
00052 }

Generated on Fri May 11 17:12:42 2007 for GuggaFramework by  doxygen 1.5.2