Author: max
Date: 2007-08-20 17:28:38 -0700 (Mon, 20 Aug 2007)
New Revision: 6160

Modified:
   openlaszlo/branches/wafflecone/lps/components/base/basetrackgroup.lzx
Log:
Change 20070820-maxcarlson-Q by [EMAIL PROTECTED] on 2007-08-20 15:06:50 PDT
    in /Users/maxcarlson/openlaszlo/wafflecone
    for http://svn.openlaszlo.org/openlaszlo/branches/wafflecone

Summary: Better performance for <basetrackgroup>

New Features:

Bugs Fixed: LPP-4433 - Better performance for <basetrackgroup>

Technical Reviewer: promanik
QA Reviewer: jcrowley
Doc Reviewer: (pending)

Documentation:

Release Notes:

Details: Applied changes per LPP-4433.
    

Tests: All tests in wafflecone/test/lfc/lztrack/ pass in swf and dhtml.



Modified: openlaszlo/branches/wafflecone/lps/components/base/basetrackgroup.lzx
===================================================================
--- openlaszlo/branches/wafflecone/lps/components/base/basetrackgroup.lzx       
2007-08-20 22:17:23 UTC (rev 6159)
+++ openlaszlo/branches/wafflecone/lps/components/base/basetrackgroup.lzx       
2007-08-21 00:28:38 UTC (rev 6160)
@@ -54,15 +54,57 @@
         <event name="onmousetrackoutleft" />
 
         <!--- @keywords private -->
-        <handler name="onconstruct">
+        <method name="construct">
+            super.construct.apply(this, arguments);
+            
             this._activateDL    = new LzDelegate(this,'activateTrackgroup');
             this._deactivateDL  = new LzDelegate(this,'deactivateTrackgroup');
             this._repeattrackDL = new LzDelegate(this,'trackingout');
             this._destroyDL = new LzDelegate(this,'destroyitem');
             this._trackgroup = "tg" + this.getUID();
             this._boundstrackgroup = "btg" + this.getUID();
-        </handler>
+        </method>
+        
+        <!--- @keywords private -->
+        <method name="init" >
+            super.init.apply(this, arguments);
+            
+            LzTrack.register( this.boundsref, this._boundstrackgroup );
+        </method>
+        
+        <!--- @keywords private -->
+        <method name="destroy" ><![CDATA[
+            this.setTracking(false);
 
+            //LzTrack.unregisterAll(this._trackgroup);//LPP-4429: we would 
call this if it was implemented
+            LzTrack.unregister(this.boundsref, this._boundstrackgroup);
+            
+            if (_destroyDL in this) {
+                this._destroyDL.unregisterAll();
+                delete this._destroyDL;
+            }
+            
+            if (_activateDL in this) {
+                this._activateDL.unregisterAll();
+                delete this._activateDL;
+            }
+            
+            if (_deactivateDL in this) {
+                this._deactivateDL.unregisterAll();
+                delete this._deactivateDL;
+            }
+
+            if (_repeattrackDL in this) {
+                this._repeattrackDL.unregisterAll();
+                delete this._repeattrackDL;
+            }
+            
+            delete this.activateevents;//improvement for "onremovesubview"
+            delete this.deactivateevents;//improvement for "onremovesubview"
+            
+            super.destroy.apply(this, arguments);
+        ]]></method>
+
         <!--- sets the view that will act as the bounds for this trackgroup -->
         <method name="setBoundsRef" args="ref" >
             this.boundsref = ref;
@@ -130,11 +172,6 @@
         ]]>
         </handler>
 
-        <!--- @keywords private -->
-        <handler name="oninit" >
-            LzTrack.register( this.boundsref, this._boundstrackgroup );
-        </handler>
-
         <!--- Called when the mouse is down and tracked
               outside the bounding rect defined by boundsref. this method
               generates the onmousetrackoutleft, onmousetrackoutright,


_______________________________________________
Laszlo-checkins mailing list
[email protected]
http://www.openlaszlo.org/mailman/listinfo/laszlo-checkins

Reply via email to