Changeset 13002

Show
Ignore:
Timestamp:
03/10/08 14:04:21 (10 months ago)
Author:
elazutkin
Message:

dnd: removing dojo.marginBox() calls from all places in the DnD package,
adding new TimedMoveable? class, added a test for the new class.
Thx Douglas Hays for the idea of fps throttling on move, and for the
initial patch. Fixes #6132. Fixes #6133.

Location:
dojo/trunk
Files:
2 added
3 modified

Legend:

Unmodified
Added
Removed
  • dojo/trunk/dnd/Manager.js

    r12176 r13002  
    100100                        //dojo.dnd.autoScrollNodes(e); 
    101101                        dojo.dnd.autoScroll(e); 
    102                         dojo.marginBox(a.node, {l: e.pageX + this.OFFSET_X, t: e.pageY + this.OFFSET_Y}); 
     102                        //dojo.marginBox(a.node, {l: e.pageX + this.OFFSET_X, t: e.pageY + this.OFFSET_Y}); 
     103                        var s = a.node.style; 
     104                        s.left = (e.pageX + this.OFFSET_X) + "px"; 
     105                        s.top  = (e.pageY + this.OFFSET_Y) + "px"; 
    103106                        var copy = Boolean(this.source.copyState(dojo.dnd.getCopyKeyState(e))); 
    104107                        if(this.copy != copy){  
  • dojo/trunk/dnd/move.js

    r11090 r13002  
    3737                // summary: called during every move notification, 
    3838                //      should actually move the node, can be overwritten. 
    39                 var c = this.constraintBox; 
    40                 leftTop.l = leftTop.l < c.l ? c.l : c.r < leftTop.l ? c.r : leftTop.l; 
    41                 leftTop.t = leftTop.t < c.t ? c.t : c.b < leftTop.t ? c.b : leftTop.t; 
    42                 dojo.marginBox(mover.node, leftTop); 
     39                var c = this.constraintBox, s = mover.node.style; 
     40                s.left = (leftTop.l < c.l ? c.l : c.r < leftTop.l ? c.r : leftTop.l) + "px"; 
     41                s.top  = (leftTop.t < c.t ? c.t : c.b < leftTop.t ? c.b : leftTop.t) + "px"; 
    4342        } 
    4443}); 
  • dojo/trunk/dnd/Moveable.js

    r12805 r13002  
    9393        onMoveStop: function(/* dojo.dnd.Mover */ mover){ 
    9494                // summary: called after every move operation 
    95                 if(mover.timer){ 
    96                         clearTimeout(mover.timer); 
    97                 } 
    9895                dojo.publish("/dnd/move/stop", [mover]); 
    9996                dojo.removeClass(dojo.body(), "dojoMove"); 
     
    109106                // summary: called during every move notification, 
    110107                //      should actually move the node, can be overwritten. 
    111                 var _this = this; 
    112                 mover.leftTop = leftTop; 
    113                 if(!mover.timer){ 
    114                         mover.timer = setTimeout(function(){ 
    115                                 mover.timer = null; 
    116                                 var leftTop = mover.leftTop; 
    117                                 _this.onMoving(mover, leftTop); 
    118                                 dojo.marginBox(mover.node, leftTop); 
    119                                 _this.onMoved(mover, leftTop); 
    120                         }, 0); 
    121                 } 
     108                this.onMoving(mover, leftTop); 
     109                var s = mover.node.style; 
     110                s.left = leftTop.l + "px"; 
     111                s.top  = leftTop.t + "px"; 
     112                this.onMoved(mover, leftTop); 
    122113        }, 
    123114        onMoving: function(/* dojo.dnd.Mover */ mover, /* Object */ leftTop){