Author:   Lars Michelsen <[email protected]>
Date:     Sat Mar  5 10:48:25 2011 +0100
Committer:   Lars Michelsen <[email protected]>
Commit-Date: Sat Mar  5 10:48:25 2011 +0100

Highlighting parent objects when dragging relative objects now

---

 share/frontend/nagvis-js/js/NagVisObject.js        |    9 +++++++--
 .../frontend/nagvis-js/js/NagVisStatefulObject.js  |   16 +++++++++++++---
 share/frontend/nagvis-js/js/nagvis.js              |    6 +++++-
 3 files changed, 25 insertions(+), 6 deletions(-)

diff --git a/share/frontend/nagvis-js/js/NagVisObject.js 
b/share/frontend/nagvis-js/js/NagVisObject.js
index fa29745..1db3cd1 100644
--- a/share/frontend/nagvis-js/js/NagVisObject.js
+++ b/share/frontend/nagvis-js/js/NagVisObject.js
@@ -590,9 +590,14 @@ var NagVisObject = Base.extend({
         *
         * @author  Lars Michelsen <[email protected]>
         */
-       getParentObjectIds: function() {
+       getParentObjectIds: function(num) {
                var parentIds = {};
-               var coords = (this.conf.x + ',' + this.conf.y).split(',');
+
+               if(isset(num))
+                   var coords = (this.conf['x'].split(',')[num] + ',' + 
this.conf['y'].split(',')[num]).split(',');
+               else
+                   var coords = (this.conf.x + ',' + this.conf.y).split(',');
+
                for(var i = 0, len = coords.length; i < len; i++)
                        if(isRelativeCoord(coords[i]))
                                if(coords[i].search('%') !== -1)
diff --git a/share/frontend/nagvis-js/js/NagVisStatefulObject.js 
b/share/frontend/nagvis-js/js/NagVisStatefulObject.js
index 524dd4e..f065fe4 100644
--- a/share/frontend/nagvis-js/js/NagVisStatefulObject.js
+++ b/share/frontend/nagvis-js/js/NagVisStatefulObject.js
@@ -985,7 +985,7 @@ var NagVisStatefulObject = NagVisObject.extend({
         * Important: This is called from an event handler
         * the 'this.' keyword can not be used here.
         */
-  moveObject: function(obj) {
+       moveObject: function(obj) {
                var arr        = obj.id.split('-');
                var objId      = arr[0];
                var anchorType = arr[1];
@@ -999,14 +999,24 @@ var NagVisStatefulObject = NagVisObject.extend({
                        newPos = getMidOfAnchor(obj);
 
                        // Get current positions and replace only the current 
one
-                 var anchorId   = arr[2];
+                       var anchorId   = arr[2];
                        newPos = [ jsObj.calcNewCoord(newPos[0], 'x', anchorId),
                                   jsObj.calcNewCoord(newPos[1], 'y', anchorId) 
];
-                 anchorId   = null;
+
+                       var parents = jsObj.getParentObjectIds(anchorId);
+
+                       anchorId   = null;
                } else {
                        newPos = [ jsObj.calcNewCoord(obj.x - obj.objOffsetX, 
'x'),
                                   jsObj.calcNewCoord(obj.y - obj.objOffsetY, 
'y') ];
+
+                       var parents = jsObj.getParentObjectIds();
                }
+               
+               // Highlight parents when relative
+               for (var objectId in parents)
+                   getMapObjByDomObjId(objectId).highlight(true);
+               parents = null;
 
                jsObj.conf.x = newPos[0];
                jsObj.conf.y = newPos[1];
diff --git a/share/frontend/nagvis-js/js/nagvis.js 
b/share/frontend/nagvis-js/js/nagvis.js
index 4a502f5..cbfbd70 100644
--- a/share/frontend/nagvis-js/js/nagvis.js
+++ b/share/frontend/nagvis-js/js/nagvis.js
@@ -1139,7 +1139,7 @@ function dragObject(event) {
        var newTop  = posy - dragObjectOffset[0] - getHeaderHeight();
        var newLeft = posx - dragObjectOffset[1];
 
-  draggingObject.style.position = 'absolute';
+       draggingObject.style.position = 'absolute';
        draggingObject.style.top  = newTop + 'px';
        draggingObject.style.left = newLeft + 'px';
        draggingObject.x = newLeft;
@@ -1240,6 +1240,10 @@ function dragStop(event, handler) {
        if(event.shiftKey)
                oParent = false;
 
+       // Unhighlight all parents when relative
+       for(var objectId in 
getMapObjByDomObjId(draggingObject.id.split('-')[0]).getParentObjectIds())
+           getMapObjByDomObjId(objectId).highlight(false);
+
        handler(draggingObject, oParent);
        
        oParent = null;


------------------------------------------------------------------------------
What You Don't Know About Data Connectivity CAN Hurt You
This paper provides an overview of data connectivity, details
its effect on application quality, and explores various alternative
solutions. http://p.sf.net/sfu/progress-d2d
_______________________________________________
Nagvis-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/nagvis-checkins

Reply via email to