diff --git a/mindplot/src/main/javascript/DragPivot.js b/mindplot/src/main/javascript/DragPivot.js index 9ee5ca3b..00efccc2 100644 --- a/mindplot/src/main/javascript/DragPivot.js +++ b/mindplot/src/main/javascript/DragPivot.js @@ -36,7 +36,8 @@ mindplot.DragPivot.prototype.getTargetTopic = function() mindplot.DragPivot.prototype._buildStraightLine = function() { - var line = new web2d.Line(); + var line = new web2d.CurvedLine(); + line.setStyle(web2d.CurvedLine.SIMPLE_LINE); line.setStroke(1, 'solid', '#CC0033'); line.setOpacity(0.4); line.setVisibility(false); @@ -45,7 +46,8 @@ mindplot.DragPivot.prototype._buildStraightLine = function() mindplot.DragPivot.prototype._buildCurvedLine = function() { - var line = new web2d.PolyLine(); + var line = new web2d.CurvedLine(); + line.setStyle(web2d.CurvedLine.SIMPLE_LINE); line.setStroke(1, 'solid', '#CC0033'); line.setOpacity(0.4); line.setVisibility(false); diff --git a/mindplot/src/main/javascript/DragTopicPositioner.js b/mindplot/src/main/javascript/DragTopicPositioner.js index a5fcb31b..5426da84 100644 --- a/mindplot/src/main/javascript/DragTopicPositioner.js +++ b/mindplot/src/main/javascript/DragTopicPositioner.js @@ -42,7 +42,7 @@ mindplot.DragTopicPositioner.prototype.positionateDragTopic = function(dragTopic } }; -mindplot.DragTopicPositioner.CENTRAL_TO_MAINTOPIC_MAX_HORIZONTAL_DISTANCE = 300; +mindplot.DragTopicPositioner.CENTRAL_TO_MAINTOPIC_MAX_HORIZONTAL_DISTANCE = 400; mindplot.DragTopicPositioner.prototype._checkDragTopicConnection = function(dragTopic) { @@ -99,6 +99,7 @@ mindplot.DragTopicPositioner.prototype._lookUpForMainTopicToMainTopicConnection var result = null; var clouserDistance = -1; var draggedNode = dragTopic.getDraggedTopic(); + var distance = null; // Check MainTopic->MainTopic connection... for (var i = 0; i < topics.length; i++) @@ -110,8 +111,19 @@ mindplot.DragTopicPositioner.prototype._lookUpForMainTopicToMainTopicConnection var canBeConnected = dragTopic.canBeConnectedTo(targetTopic); if (canBeConnected) { - result = targetTopic; - break; + var targetPosition = targetTopic.getPosition(); + var fix = position.y>targetPosition.y; + var gap = 0; + if(targetTopic._getChildren().length>0){ + gap = Math.abs(targetPosition.y - targetTopic._getChildren()[0].getPosition().y) + } + var yDistance = Math.abs(position.y -fix*gap - targetPosition.y); + if(distance==null || yDistance0){ + gap += Math.abs(targetPosition.y - targetModel.getChildren()[0].getPosition().y); + } - if (yDistance <= 5 + targetTopicHeight / 2) + if (yDistance <= gap) { // Circular connection ? if (!sourceModel._isChildNode(this)) @@ -339,7 +343,7 @@ mindplot.NodeModel.prototype.canBeConnected = function(sourceModel, sourcePositi return result; }; -mindplot.NodeModel.MAIN_TOPIC_TO_MAIN_TOPIC_DISTANCE = 60; +mindplot.NodeModel.MAIN_TOPIC_TO_MAIN_TOPIC_DISTANCE = 220; mindplot.NodeModel.prototype._isChildNode = function(node) {