mirror of
https://bitbucket.org/wisemapping/wisemapping-open-source.git
synced 2024-11-22 06:07:57 +01:00
Relationship lines can now be selected and deleted
This commit is contained in:
parent
67c4968aca
commit
ae64037f3a
@ -1,21 +1,21 @@
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
* (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
* $Id: file 64488 2006-03-10 17:32:09Z paulo $
|
||||
*/
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
* (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
* $Id: file 64488 2006-03-10 17:32:09Z paulo $
|
||||
*/
|
||||
|
||||
mindplot.ConnectionLine = function(sourceNode, targetNode, lineType)
|
||||
{
|
||||
@ -25,19 +25,18 @@ mindplot.ConnectionLine = function(sourceNode, targetNode, lineType)
|
||||
|
||||
this._targetTopic = targetNode;
|
||||
this._sourceTopic = sourceNode;
|
||||
this._isRelationship=false;
|
||||
|
||||
var strokeColor = mindplot.ConnectionLine.getStrokeColor();
|
||||
var line;
|
||||
if (targetNode.getType() == mindplot.NodeModel.CENTRAL_TOPIC_TYPE)
|
||||
{
|
||||
line = this._createLine(lineType,mindplot.ConnectionLine.SIMPLE);
|
||||
// line = new web2d.Line();
|
||||
// line = new web2d.Line();
|
||||
line.setStroke(1, 'solid', strokeColor);
|
||||
} else
|
||||
{
|
||||
line = this._createLine(lineType,mindplot.ConnectionLine.POLYLINE);
|
||||
// line = new web2d.PolyLine();
|
||||
// line = new web2d.PolyLine();
|
||||
line.setStroke(1, 'solid', strokeColor);
|
||||
}
|
||||
|
||||
@ -90,26 +89,10 @@ mindplot.ConnectionLine.prototype.redraw = function()
|
||||
var targetPosition = targetTopic.getPosition();
|
||||
|
||||
var sPos,tPos;
|
||||
if(this._isRelationship){
|
||||
this._line2d.setStroke(2);
|
||||
var ctrlPoints = this._line2d.getControlPoints();
|
||||
if(!core.Utils.isDefined(ctrlPoints[0].x) || !core.Utils.isDefined(ctrlPoints[1].x)){
|
||||
var defaultPoints = core.Utils.calculateDefaultControlPoints(sourceTopic.getPosition(), targetTopic.getPosition());
|
||||
ctrlPoints[0].x=defaultPoints[0].x;
|
||||
ctrlPoints[0].y=defaultPoints[0].y;
|
||||
ctrlPoints[1].x=defaultPoints[1].x;
|
||||
ctrlPoints[1].y=defaultPoints[1].y;
|
||||
}
|
||||
sPos = core.Utils.calculateRelationShipPointCoordinates(sourceTopic,ctrlPoints[0]);
|
||||
tPos = core.Utils.calculateRelationShipPointCoordinates(targetTopic,ctrlPoints[1]);
|
||||
}else{
|
||||
sPos = sourceTopic.workoutOutgoingConnectionPoint(targetPosition, false);
|
||||
tPos = targetTopic.workoutIncomingConnectionPoint(sourcePosition, false);
|
||||
}
|
||||
// console.log("source:"+sPos.x+":"+sPos.y);
|
||||
|
||||
line2d.setFrom(sPos.x, sPos.y);
|
||||
// console.log("target:"+tPos.x+":"+tPos.y);
|
||||
line2d.setTo(tPos.x, tPos.y);
|
||||
|
||||
line2d.moveToBack();
|
||||
@ -156,14 +139,6 @@ mindplot.ConnectionLine.prototype.setStroke = function(color, style, opacity)
|
||||
|
||||
mindplot.ConnectionLine.prototype.addToWorkspace = function(workspace)
|
||||
{
|
||||
if(this._line2d.getType() == "CurvedLine"){
|
||||
this._line2d.addEventListener('click',function(event){
|
||||
var controlPoints = workspace.getLineControlPoints();
|
||||
controlPoints.setLine(this);
|
||||
controlPoints.setVisibility(true);
|
||||
event.stopPropagation();
|
||||
}.bind(this));
|
||||
}
|
||||
workspace.appendChild(this._line2d);
|
||||
};
|
||||
|
||||
@ -198,12 +173,12 @@ mindplot.ConnectionLine.prototype.setModel = function(model){
|
||||
this._model = model;
|
||||
};
|
||||
|
||||
mindplot.ConnectionLine.prototype.setIsRelationship = function(isRelationship){
|
||||
this._isRelationship=isRelationship;
|
||||
mindplot.ConnectionLine.prototype.getType = function(){
|
||||
return "ConnectionLine";
|
||||
};
|
||||
|
||||
mindplot.ConnectionLine.prototype.isRelationship = function(){
|
||||
return this._isRelationship;
|
||||
mindplot.ConnectionLine.prototype.getId = function(){
|
||||
return this._model.getId();
|
||||
};
|
||||
|
||||
mindplot.ConnectionLine.SIMPLE=0;
|
||||
|
@ -19,18 +19,17 @@
|
||||
|
||||
mindplot.ControlPoint = function()
|
||||
{
|
||||
this._controlPoints= [new web2d.Elipse({width:6, height:6, stroke:'1 solid #6589de',fillColor:'gray', visibility:false}),
|
||||
this._controlPointsController= [new web2d.Elipse({width:6, height:6, stroke:'1 solid #6589de',fillColor:'gray', visibility:false}),
|
||||
new web2d.Elipse({width:6, height:6, stroke:'1 solid #6589de',fillColor:'gray', visibility:false})];
|
||||
this._controlLines=[new web2d.Line({strokeColor:"#6589de", strokeWidth:1, opacity:0.3}),
|
||||
new web2d.Line({strokeColor:"#6589de", strokeWidth:1, opacity:0.3})];
|
||||
this._isBinded=false;
|
||||
this._controlPoints[0].addEventListener('mousedown',this._mouseDown.bindWithEvent(this, mindplot.ControlPoint.FROM));
|
||||
this._controlPoints[0].addEventListener('click',this._mouseClick.bindWithEvent(this));
|
||||
this._controlPoints[0].addEventListener('dblclick',this._mouseClick.bindWithEvent(this));
|
||||
this._controlPoints[1].addEventListener('mousedown',this._mouseDown.bindWithEvent(this,mindplot.ControlPoint.TO));
|
||||
this._controlPoints[1].addEventListener('click',this._mouseClick.bindWithEvent(this));
|
||||
this._controlPoints[1].addEventListener('dblclick',this._mouseClick.bindWithEvent(this));
|
||||
this._mouseClickOnBackgroundFunction = this._mouseClickOnBackground.bind(this);
|
||||
this._controlPointsController[0].addEventListener('mousedown',this._mouseDown.bindWithEvent(this, mindplot.ControlPoint.FROM));
|
||||
this._controlPointsController[0].addEventListener('click',this._mouseClick.bindWithEvent(this));
|
||||
this._controlPointsController[0].addEventListener('dblclick',this._mouseClick.bindWithEvent(this));
|
||||
this._controlPointsController[1].addEventListener('mousedown',this._mouseDown.bindWithEvent(this,mindplot.ControlPoint.TO));
|
||||
this._controlPointsController[1].addEventListener('click',this._mouseClick.bindWithEvent(this));
|
||||
this._controlPointsController[1].addEventListener('dblclick',this._mouseClick.bindWithEvent(this));
|
||||
};
|
||||
|
||||
mindplot.ControlPoint.prototype.setSide= function(side) {
|
||||
@ -43,12 +42,18 @@ mindplot.ControlPoint.prototype.setLine= function(line) {
|
||||
}
|
||||
this._line= line;
|
||||
this._createControlPoint();
|
||||
this._endPoint = [];
|
||||
this._orignalCtrlPoint = [];
|
||||
this._orignalCtrlPoint[0] = this._controls[0].clone();
|
||||
this._orignalCtrlPoint[1] = this._controls[1].clone();
|
||||
this._endPoint[0] = this._line.getLine().getFrom().clone();
|
||||
this._endPoint[1] = this._line.getLine().getTo().clone();
|
||||
};
|
||||
|
||||
mindplot.ControlPoint.prototype._createControlPoint = function() {
|
||||
this._controls= this._line.getLine().getControlPoints();
|
||||
this._controlPoints[0].setPosition(this._controls[mindplot.ControlPoint.FROM].x, this._controls[mindplot.ControlPoint.FROM].y-3);
|
||||
this._controlPoints[1].setPosition(this._controls[mindplot.ControlPoint.TO].x, this._controls[mindplot.ControlPoint.TO].y-3);
|
||||
this._controlPointsController[0].setPosition(this._controls[mindplot.ControlPoint.FROM].x, this._controls[mindplot.ControlPoint.FROM].y-3);
|
||||
this._controlPointsController[1].setPosition(this._controls[mindplot.ControlPoint.TO].x, this._controls[mindplot.ControlPoint.TO].y-3);
|
||||
var pos = this._line.getLine().getFrom();
|
||||
this._controlLines[0].setFrom(pos.x, pos.y);
|
||||
this._controlLines[0].setTo(this._controls[mindplot.ControlPoint.FROM].x+3, this._controls[mindplot.ControlPoint.FROM].y);
|
||||
@ -88,7 +93,7 @@ mindplot.ControlPoint.prototype._mouseMove = function(event, point) {
|
||||
}
|
||||
this._controls[point].x=pos.x;
|
||||
this._controls[point].y=pos.y;
|
||||
this._controlPoints[point].setPosition(pos.x-5,pos.y-3);
|
||||
this._controlPointsController[point].setPosition(pos.x-5,pos.y-3);
|
||||
this._controlLines[point].setFrom(cords.x, cords.y);
|
||||
this._controlLines[point].setTo(pos.x-2,pos.y);
|
||||
this._line.getLine().updateLine(point);
|
||||
@ -114,42 +119,46 @@ mindplot.ControlPoint.prototype._mouseClick = function(event){
|
||||
return false;
|
||||
};
|
||||
|
||||
mindplot.ControlPoint.prototype._mouseClickOnBackground = function(event){
|
||||
this.setVisibility(false);
|
||||
};
|
||||
|
||||
mindplot.ControlPoint.prototype.setVisibility = function(visible){
|
||||
if(visible){
|
||||
this._workspace.getScreenManager().addEventListener('mousedown',this._mouseClickOnBackgroundFunction);
|
||||
this._controlLines[0].moveToFront();
|
||||
this._controlLines[1].moveToFront();
|
||||
this._controlPoints[0].moveToFront();
|
||||
this._controlPoints[1].moveToFront();
|
||||
this._controlPointsController[0].moveToFront();
|
||||
this._controlPointsController[1].moveToFront();
|
||||
}
|
||||
else{
|
||||
this._workspace.getScreenManager().removeEventListener('mousedown',this._mouseClickOnBackgroundFunction);
|
||||
}
|
||||
this._controlPoints[0].setVisibility(visible);
|
||||
this._controlPoints[1].setVisibility(visible);
|
||||
this._controlPointsController[0].setVisibility(visible);
|
||||
this._controlPointsController[1].setVisibility(visible);
|
||||
this._controlLines[0].setVisibility(visible);
|
||||
this._controlLines[1].setVisibility(visible);
|
||||
};
|
||||
|
||||
mindplot.ControlPoint.prototype.addToWorkspace = function(workspace){
|
||||
this._workspace = workspace;
|
||||
workspace.appendChild(this._controlPoints[0]);
|
||||
workspace.appendChild(this._controlPoints[1]);
|
||||
workspace.appendChild(this._controlPointsController[0]);
|
||||
workspace.appendChild(this._controlPointsController[1]);
|
||||
workspace.appendChild(this._controlLines[0]);
|
||||
workspace.appendChild(this._controlLines[1]);
|
||||
};
|
||||
|
||||
mindplot.ControlPoint.prototype.removeFromWorkspace = function(workspace){
|
||||
this._workspace = null;
|
||||
workspace.removeChild(this._controlPoints[0]);
|
||||
workspace.removeChild(this._controlPoints[1]);
|
||||
workspace.removeChild(this._controlPointsController[0]);
|
||||
workspace.removeChild(this._controlPointsController[1]);
|
||||
workspace.removeChild(this._controlLines[0]);
|
||||
workspace.removeChild(this._controlLines[1]);
|
||||
};
|
||||
|
||||
mindplot.ControlPoint.prototype.getControlPoint = function(index){
|
||||
return this._controls[index];
|
||||
};
|
||||
|
||||
mindplot.ControlPoint.prototype.getOriginalEndPoint = function(index){
|
||||
return this._endPoint[index];
|
||||
};
|
||||
|
||||
mindplot.ControlPoint.prototype.getOriginalCtrlPoint = function(index){
|
||||
return this._orignalCtrlPoint[index];
|
||||
};
|
||||
|
||||
mindplot.ControlPoint.FROM = 0;
|
||||
mindplot.ControlPoint.TO = 1;
|
||||
|
@ -100,7 +100,7 @@ mindplot.CommandContext = new Class({
|
||||
|
||||
// @todo: Is this required ?
|
||||
var designer = this._designer;
|
||||
designer.onNodeFocusEvent.attempt(topic, designer);
|
||||
designer.onObjectFocusEvent.attempt(topic, designer);
|
||||
|
||||
return topic;
|
||||
},
|
||||
@ -125,6 +125,16 @@ mindplot.CommandContext = new Class({
|
||||
},
|
||||
removeRelationship:function(model) {
|
||||
this._designer.removeRelationship(model);
|
||||
},
|
||||
findRelationships:function(lineIds){
|
||||
var result = [];
|
||||
lineIds.forEach(function(lineId, index){
|
||||
var line = this._designer._relationships[lineId];
|
||||
if(core.Utils.isDefined(line)){
|
||||
result.push(line);
|
||||
}
|
||||
}.bind(this));
|
||||
return result;
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -46,9 +46,6 @@ mindplot.MindmapDesigner = function(profile, divElement)
|
||||
// Register handlers..
|
||||
this._registerEvents();
|
||||
|
||||
// Selected node
|
||||
this._nodeOnFocus = null;
|
||||
|
||||
// Init dragger manager.
|
||||
this._dragger = this._buildDragManager(workspace);
|
||||
|
||||
@ -232,19 +229,19 @@ mindplot.MindmapDesigner.prototype._buildNodeGraph = function(model)
|
||||
return topic;
|
||||
};
|
||||
|
||||
mindplot.MindmapDesigner.prototype.onNodeFocusEvent = function(topicGraph, event)
|
||||
mindplot.MindmapDesigner.prototype.onObjectFocusEvent = function(currentObject, event)
|
||||
{
|
||||
this.getEditor().lostFocus();
|
||||
var topics = this._topics;
|
||||
var selectableObjects = this.getSelectedObjects();
|
||||
// Disable all nodes on focus but not the current if Ctrl key isn't being pressed
|
||||
if (!core.Utils.isDefined(event) || event.ctrlKey == false)
|
||||
{
|
||||
for (var i = 0; i < topics.length; i++)
|
||||
for (var i = 0; i < selectableObjects.length; i++)
|
||||
{
|
||||
var node = topics[i];
|
||||
if (node.isOnFocus() && node != topicGraph)
|
||||
var selectableObject = selectableObjects[i];
|
||||
if (selectableObject.isOnFocus() && selectableObject != currentObject)
|
||||
{
|
||||
node.setOnFocus(false);
|
||||
selectableObject.setOnFocus(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -257,7 +254,7 @@ mindplot.MindmapDesigner.prototype._registerListenersOnNode = function(topic)
|
||||
var topics = this._topics;
|
||||
topic.addEventListener('onfocus', function(event)
|
||||
{
|
||||
elem.onNodeFocusEvent.attempt([topic, event], elem);
|
||||
elem.onObjectFocusEvent.attempt([topic, event], elem);
|
||||
});
|
||||
|
||||
// Add drag behaviour ...
|
||||
@ -645,8 +642,7 @@ mindplot.MindmapDesigner.prototype._buildRelationship = function (model) {
|
||||
}
|
||||
|
||||
// Create node graph ...
|
||||
var relationLine = new mindplot.ConnectionLine(fromTopic, toTopic, model.getLineType());
|
||||
relationLine.setIsRelationship(true);
|
||||
var relationLine = new mindplot.RelationshipLine(fromTopic, toTopic, model.getLineType());
|
||||
if(core.Utils.isDefined(model.getSrcCtrlPoint())){
|
||||
var srcPoint = model.getSrcCtrlPoint().clone();
|
||||
relationLine.getLine().setSrcControlPoint(srcPoint);
|
||||
@ -660,6 +656,14 @@ mindplot.MindmapDesigner.prototype._buildRelationship = function (model) {
|
||||
relationLine.getLine().setDashed(3,2);
|
||||
relationLine.getLine().setShowArrow(model.getEndArrow());
|
||||
relationLine.setModel(model);
|
||||
|
||||
//Add Listeners
|
||||
var elem = this;
|
||||
relationLine.addEventListener('onfocus', function(event)
|
||||
{
|
||||
elem.onObjectFocusEvent.attempt([relationLine, event], elem);
|
||||
});
|
||||
|
||||
// Append it to the workspace ...
|
||||
this._relationships[model.getId()]=relationLine;
|
||||
|
||||
@ -701,14 +705,14 @@ mindplot.MindmapDesigner.prototype._removeNode = function(node)
|
||||
mindplot.MindmapDesigner.prototype.deleteCurrentNode = function()
|
||||
{
|
||||
|
||||
var validateFunc = function(topic) {
|
||||
return topic.getTopicType() != mindplot.NodeModel.CENTRAL_TOPIC_TYPE
|
||||
var validateFunc = function(selectedObject) {
|
||||
return selectedObject.getType() == mindplot.RelationshipLine.type || selectedObject.getTopicType() != mindplot.NodeModel.CENTRAL_TOPIC_TYPE
|
||||
};
|
||||
var validateError = 'Central topic can not be deleted.';
|
||||
var topicsIds = this._setValidSelectedTopicsIds(validateFunc, validateError);
|
||||
if (topicsIds.length > 0)
|
||||
var selectedObjects = this._getValidSelectedObjectsIds(validateFunc, validateError);
|
||||
if (selectedObjects.nodes.length > 0 || selectedObjects.relationshipLines.length>0)
|
||||
{
|
||||
var command = new mindplot.commands.DeleteTopicCommand(topicsIds);
|
||||
var command = new mindplot.commands.DeleteTopicCommand(selectedObjects);
|
||||
this._actionRunner.execute(command);
|
||||
}
|
||||
|
||||
@ -716,7 +720,8 @@ mindplot.MindmapDesigner.prototype.deleteCurrentNode = function()
|
||||
|
||||
mindplot.MindmapDesigner.prototype.setFont2SelectedNode = function(font)
|
||||
{
|
||||
var topicsIds = this._setValidSelectedTopicsIds();
|
||||
var validSelectedObjects = this._getValidSelectedObjectsIds();
|
||||
var topicsIds = validSelectedObjects.nodes;
|
||||
if (topicsIds.length > 0)
|
||||
{
|
||||
var commandFunc = function(topic, font)
|
||||
@ -737,7 +742,8 @@ mindplot.MindmapDesigner.prototype.setFont2SelectedNode = function(font)
|
||||
|
||||
mindplot.MindmapDesigner.prototype.setStyle2SelectedNode = function()
|
||||
{
|
||||
var topicsIds = this._setValidSelectedTopicsIds();
|
||||
var validSelectedObjects = this._getValidSelectedObjectsIds();
|
||||
var topicsIds = validSelectedObjects.nodes;
|
||||
if (topicsIds.length > 0)
|
||||
{
|
||||
var commandFunc = function(topic)
|
||||
@ -754,7 +760,8 @@ mindplot.MindmapDesigner.prototype.setStyle2SelectedNode = function()
|
||||
|
||||
mindplot.MindmapDesigner.prototype.setFontColor2SelectedNode = function(color)
|
||||
{
|
||||
var topicsIds = this._setValidSelectedTopicsIds();
|
||||
var validSelectedObjects = this._getValidSelectedObjectsIds();
|
||||
var topicsIds = validSelectedObjects.nodes;
|
||||
if (topicsIds.length > 0)
|
||||
{
|
||||
var commandFunc = function(topic, color)
|
||||
@ -776,7 +783,8 @@ mindplot.MindmapDesigner.prototype.setBackColor2SelectedNode = function(color)
|
||||
return topic.getShapeType() != mindplot.NodeModel.SHAPE_TYPE_LINE
|
||||
};
|
||||
var validateError = 'Color can not be setted to line topics.';
|
||||
var topicsIds = this._setValidSelectedTopicsIds(validateFunc, validateError);
|
||||
var validSelectedObjects = this._getValidSelectedObjectsIds(validateFunc, validateError);;
|
||||
var topicsIds = validSelectedObjects.nodes;
|
||||
|
||||
if (topicsIds.length > 0)
|
||||
{
|
||||
@ -793,19 +801,20 @@ mindplot.MindmapDesigner.prototype.setBackColor2SelectedNode = function(color)
|
||||
};
|
||||
|
||||
|
||||
mindplot.MindmapDesigner.prototype._setValidSelectedTopicsIds = function(validate, errorMsg)
|
||||
mindplot.MindmapDesigner.prototype._getValidSelectedObjectsIds = function(validate, errorMsg)
|
||||
{
|
||||
var result = [];
|
||||
var result = {"nodes":[],"relationshipLines":[]};
|
||||
var selectedNodes = this._getSelectedNodes();
|
||||
if (selectedNodes.length == 0)
|
||||
var selectedRelationshipLines = this.getSelectedRelationshipLines();
|
||||
if (selectedNodes.length == 0 && selectedRelationshipLines.length == 0)
|
||||
{
|
||||
core.Monitor.getInstance().logMessage('At least one topic must be selected to execute this operation.');
|
||||
core.Monitor.getInstance().logMessage('At least one element must be selected to execute this operation.');
|
||||
} else
|
||||
{
|
||||
var isValid = true;
|
||||
for (var i = 0; i < selectedNodes.length; i++)
|
||||
{
|
||||
var selectedNode = selectedNodes[i];
|
||||
var isValid = true;
|
||||
if (validate)
|
||||
{
|
||||
isValid = validate(selectedNode);
|
||||
@ -814,7 +823,21 @@ mindplot.MindmapDesigner.prototype._setValidSelectedTopicsIds = function(validat
|
||||
// Add node only if it's valid.
|
||||
if (isValid)
|
||||
{
|
||||
result.push(selectedNode.getId());
|
||||
result.nodes.push(selectedNode.getId());
|
||||
} else
|
||||
{
|
||||
core.Monitor.getInstance().logMessage(errorMsg);
|
||||
}
|
||||
}
|
||||
for( var j = 0; j< selectedRelationshipLines.length; j++){
|
||||
var selectedLine = selectedRelationshipLines[j];
|
||||
isValid = true;
|
||||
if(validate){
|
||||
isValid = validate(selectedLine);
|
||||
}
|
||||
|
||||
if(isValid){
|
||||
result.relationshipLines.push(selectedLine.getId());
|
||||
} else
|
||||
{
|
||||
core.Monitor.getInstance().logMessage(errorMsg);
|
||||
@ -830,7 +853,8 @@ mindplot.MindmapDesigner.prototype.setBorderColor2SelectedNode = function(color)
|
||||
return topic.getShapeType() != mindplot.NodeModel.SHAPE_TYPE_LINE
|
||||
};
|
||||
var validateError = 'Color can not be setted to line topics.';
|
||||
var topicsIds = this._setValidSelectedTopicsIds(validateFunc, validateError);
|
||||
var validSelectedObjects = this._getValidSelectedObjectsIds(validateFunc, validateError);;
|
||||
var topicsIds = validSelectedObjects.nodes;
|
||||
|
||||
if (topicsIds.length > 0)
|
||||
{
|
||||
@ -848,7 +872,8 @@ mindplot.MindmapDesigner.prototype.setBorderColor2SelectedNode = function(color)
|
||||
|
||||
mindplot.MindmapDesigner.prototype.setFontSize2SelectedNode = function(size)
|
||||
{
|
||||
var topicsIds = this._setValidSelectedTopicsIds();
|
||||
var validSelectedObjects = this._getValidSelectedObjectsIds();
|
||||
var topicsIds = validSelectedObjects.nodes;
|
||||
if (topicsIds.length > 0)
|
||||
{
|
||||
var commandFunc = function(topic, size)
|
||||
@ -873,7 +898,8 @@ mindplot.MindmapDesigner.prototype.setShape2SelectedNode = function(shape)
|
||||
return !(topic.getType() == mindplot.NodeModel.CENTRAL_TOPIC_TYPE && shape == mindplot.NodeModel.SHAPE_TYPE_LINE)
|
||||
};
|
||||
var validateError = 'Central Topic shape can not be changed to line figure.';
|
||||
var topicsIds = this._setValidSelectedTopicsIds(validateFunc, validateError);
|
||||
var validSelectedObjects = this._getValidSelectedObjectsIds(validateFunc, validateError);
|
||||
var topicsIds = validSelectedObjects.nodes;
|
||||
|
||||
if (topicsIds.length > 0)
|
||||
{
|
||||
@ -891,7 +917,8 @@ mindplot.MindmapDesigner.prototype.setShape2SelectedNode = function(shape)
|
||||
|
||||
mindplot.MindmapDesigner.prototype.setWeight2SelectedNode = function()
|
||||
{
|
||||
var topicsIds = this._setValidSelectedTopicsIds();
|
||||
var validSelectedObjects = this._getValidSelectedObjectsIds();
|
||||
var topicsIds = validSelectedObjects.nodes;
|
||||
if (topicsIds.length > 0)
|
||||
{
|
||||
var commandFunc = function(topic)
|
||||
@ -913,8 +940,8 @@ mindplot.MindmapDesigner.prototype.setWeight2SelectedNode = function()
|
||||
|
||||
mindplot.MindmapDesigner.prototype.addImage2SelectedNode = function(iconType)
|
||||
{
|
||||
|
||||
var topicsIds = this._setValidSelectedTopicsIds();
|
||||
var validSelectedObjects = this._getValidSelectedObjectsIds();
|
||||
var topicsIds = validSelectedObjects.nodes;
|
||||
if (topicsIds.length > 0)
|
||||
{
|
||||
|
||||
@ -925,7 +952,8 @@ mindplot.MindmapDesigner.prototype.addImage2SelectedNode = function(iconType)
|
||||
|
||||
mindplot.MindmapDesigner.prototype.addLink2Node = function(url)
|
||||
{
|
||||
var topicsIds = this._setValidSelectedTopicsIds();
|
||||
var validSelectedObjects = this._getValidSelectedObjectsIds();
|
||||
var topicsIds = validSelectedObjects.nodes;
|
||||
if (topicsIds.length > 0)
|
||||
{
|
||||
var command = new mindplot.commands.AddLinkToTopicCommand(topicsIds[0], url);
|
||||
@ -985,7 +1013,8 @@ mindplot.MindmapDesigner.prototype.addLink2SelectedNode = function()
|
||||
|
||||
mindplot.MindmapDesigner.prototype.addNote2Node = function(text)
|
||||
{
|
||||
var topicsIds = this._setValidSelectedTopicsIds();
|
||||
var validSelectedObjects = this._getValidSelectedObjectsIds();
|
||||
var topicsIds = validSelectedObjects.nodes;
|
||||
if (topicsIds.length > 0)
|
||||
{
|
||||
var command = new mindplot.commands.AddNoteToTopicCommand(topicsIds[0], text);
|
||||
@ -1078,11 +1107,30 @@ mindplot.MindmapDesigner.prototype._getSelectedNodes = function()
|
||||
return result;
|
||||
};
|
||||
|
||||
mindplot.MindmapDesigner.prototype.getSelectedRelationshipLines = function(){
|
||||
var result = new Array();
|
||||
for each (var relationship in this._relationships)
|
||||
{
|
||||
if (relationship.isOnFocus())
|
||||
{
|
||||
result.push(relationship);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
};
|
||||
|
||||
mindplot.MindmapDesigner.prototype.getSelectedNodes = function()
|
||||
{
|
||||
return this._getSelectedNodes();
|
||||
};
|
||||
|
||||
mindplot.MindmapDesigner.prototype.getSelectedObjects = function()
|
||||
{
|
||||
var selectedNodes = this.getSelectedNodes();
|
||||
var selectedRelationships = this.getSelectedRelationshipLines();
|
||||
selectedRelationships.extend(selectedNodes);
|
||||
return selectedRelationships;
|
||||
};
|
||||
|
||||
mindplot.MindmapDesigner.prototype.keyEventHandler = function(event)
|
||||
{
|
||||
@ -1307,7 +1355,7 @@ mindplot.MindmapDesigner.prototype._goToBrother = function(node, direction)
|
||||
mindplot.MindmapDesigner.prototype._goToNode = function(node)
|
||||
{
|
||||
node.setOnFocus(true);
|
||||
this.onNodeFocusEvent.attempt(node, this);
|
||||
this.onObjectFocusEvent.attempt(node, this);
|
||||
};
|
||||
|
||||
mindplot.MindmapDesigner.prototype._goToSideChild = function(node, side)
|
||||
|
133
mindplot/src/main/javascript/RelationshipLine.js
Normal file
133
mindplot/src/main/javascript/RelationshipLine.js
Normal file
@ -0,0 +1,133 @@
|
||||
|
||||
mindplot.RelationshipLine = function(sourceNode, targetNode, lineType)
|
||||
{
|
||||
mindplot.ConnectionLine.call(this,sourceNode, targetNode, lineType);
|
||||
this._isOnfocus = false;
|
||||
this._focusShape = this._createLine(this.getLineType(), mindplot.ConnectionLine.SIMPLE_CURVED);
|
||||
this._focusShape.setStroke(2, "solid", "#3f96ff");
|
||||
var ctrlPoints = this._line2d.getControlPoints();
|
||||
this._focusShape.setSrcControlPoint(ctrlPoints[0]);
|
||||
this._focusShape.setDestControlPoint(ctrlPoints[1]);
|
||||
this._focusShape.setVisibility(false);
|
||||
this._onFocus = false;
|
||||
this._isInWorkspace = false;
|
||||
this._controlPointsController = new mindplot.ControlPoint();
|
||||
|
||||
};
|
||||
|
||||
objects.extend(mindplot.RelationshipLine, mindplot.ConnectionLine);
|
||||
|
||||
mindplot.RelationshipLine.prototype.redraw = function()
|
||||
{
|
||||
var line2d = this._line2d;
|
||||
var sourceTopic = this._sourceTopic;
|
||||
var sourcePosition = sourceTopic.getPosition();
|
||||
|
||||
var targetTopic = this._targetTopic;
|
||||
var targetPosition = targetTopic.getPosition();
|
||||
|
||||
var sPos,tPos;
|
||||
this._line2d.setStroke(2);
|
||||
var ctrlPoints = this._line2d.getControlPoints();
|
||||
if(!core.Utils.isDefined(ctrlPoints[0].x) || !core.Utils.isDefined(ctrlPoints[1].x)){
|
||||
var defaultPoints = core.Utils.calculateDefaultControlPoints(sourceTopic.getPosition(), targetTopic.getPosition());
|
||||
ctrlPoints[0].x=defaultPoints[0].x;
|
||||
ctrlPoints[0].y=defaultPoints[0].y;
|
||||
ctrlPoints[1].x=defaultPoints[1].x;
|
||||
ctrlPoints[1].y=defaultPoints[1].y;
|
||||
}
|
||||
sPos = core.Utils.calculateRelationShipPointCoordinates(sourceTopic,ctrlPoints[0]);
|
||||
tPos = core.Utils.calculateRelationShipPointCoordinates(targetTopic,ctrlPoints[1]);
|
||||
|
||||
line2d.setFrom(sPos.x, sPos.y);
|
||||
line2d.setTo(tPos.x, tPos.y);
|
||||
|
||||
line2d.moveToBack();
|
||||
|
||||
// Add connector ...
|
||||
this._positionateConnector(targetTopic);
|
||||
|
||||
if(this.isOnFocus()){
|
||||
this._refreshSelectedShape();
|
||||
}
|
||||
this._focusShape.moveToBack();
|
||||
|
||||
};
|
||||
|
||||
mindplot.RelationshipLine.prototype.addToWorkspace = function(workspace)
|
||||
{
|
||||
workspace.appendChild(this._focusShape);
|
||||
workspace.appendChild(this._controlPointsController);
|
||||
this._controlPointControllerListener =this._initializeControlPointController.bindWithEvent(this,workspace);
|
||||
this._line2d.addEventListener('click', this._controlPointControllerListener);
|
||||
this._isInWorkspace = true;
|
||||
|
||||
mindplot.RelationshipLine.superClass.addToWorkspace.call(this, workspace);
|
||||
};
|
||||
|
||||
mindplot.RelationshipLine.prototype._initializeControlPointController = function(event,workspace){
|
||||
this.setOnFocus(true);
|
||||
};
|
||||
|
||||
mindplot.RelationshipLine.prototype.removeFromWorkspace = function(workspace){
|
||||
workspace.removeChild(this._focusShape);
|
||||
workspace.removeChild(this._controlPointsController);
|
||||
this._line2d.removeEventListener('click',this._controlPointControllerListener);
|
||||
this._isInWorkspace = false;
|
||||
mindplot.RelationshipLine.superClass.removeFromWorkspace.call(this,workspace);
|
||||
};
|
||||
|
||||
mindplot.RelationshipLine.prototype.getType = function(){
|
||||
return mindplot.RelationshipLine.type;
|
||||
};
|
||||
|
||||
mindplot.RelationshipLine.prototype.setOnFocus = function(focus){
|
||||
// Change focus shape
|
||||
if(focus){
|
||||
this._refreshSelectedShape();
|
||||
this._controlPointsController.setLine(this);
|
||||
}
|
||||
this._focusShape.setVisibility(focus);
|
||||
|
||||
this._controlPointsController.setVisibility(focus);
|
||||
this._onFocus = focus;
|
||||
};
|
||||
|
||||
mindplot.RelationshipLine.prototype._refreshSelectedShape = function () {
|
||||
var sPos = this._line2d.getFrom();
|
||||
var tPos = this._line2d.getTo();
|
||||
var ctrlPoints = this._line2d.getControlPoints();
|
||||
this._focusShape.setFrom(sPos.x, sPos.y);
|
||||
this._focusShape.setTo(tPos.x, tPos.y);
|
||||
var shapeCtrlPoints = this._focusShape.getControlPoints();
|
||||
shapeCtrlPoints[0].x = ctrlPoints[0].x;
|
||||
shapeCtrlPoints[0].y = ctrlPoints[0].y;
|
||||
shapeCtrlPoints[1].x = ctrlPoints[1].x;
|
||||
shapeCtrlPoints[1].y = ctrlPoints[1].y;
|
||||
this._focusShape.updateLine();
|
||||
//this._focusShape.setSrcControlPoint(ctrlPoints[0]);
|
||||
//this._focusShape.setDestControlPoint(ctrlPoints[1]);
|
||||
};
|
||||
|
||||
mindplot.RelationshipLine.prototype.addEventListener = function(type, listener){
|
||||
// Translate to web 2d events ...
|
||||
if (type == 'onfocus')
|
||||
{
|
||||
type = 'mousedown';
|
||||
}
|
||||
|
||||
var line = this._line2d;
|
||||
line.addEventListener(type, listener);
|
||||
};
|
||||
|
||||
mindplot.RelationshipLine.prototype.isOnFocus = function()
|
||||
{
|
||||
return this._onFocus;
|
||||
};
|
||||
|
||||
mindplot.RelationshipLine.prototype.isInWorkspace = function(){
|
||||
return this._isInWorkspace;
|
||||
};
|
||||
|
||||
|
||||
mindplot.RelationshipLine.type = "RelationshipLine";
|
@ -41,9 +41,6 @@ mindplot.Workspace = function(profile, screenManager, zoom)
|
||||
// Register drag events ...
|
||||
this._registerDragEvents();
|
||||
|
||||
//Create CurvedLineControlPoints
|
||||
this._createCuvedLineControlPoints();
|
||||
|
||||
this._eventsEnabled = true;
|
||||
|
||||
};
|
||||
@ -237,12 +234,3 @@ mindplot.Workspace.prototype._registerDragEvents = function()
|
||||
screenManager.addEventListener('mousedown', mouseDownListener);
|
||||
};
|
||||
|
||||
mindplot.Workspace.prototype._createCuvedLineControlPoints = function(){
|
||||
this._lineControlPoints = new mindplot.ControlPoint();
|
||||
this.appendChild(this._lineControlPoints);
|
||||
};
|
||||
|
||||
mindplot.Workspace.prototype.getLineControlPoints = function(){
|
||||
return this._lineControlPoints;
|
||||
};
|
||||
|
||||
|
@ -23,12 +23,12 @@ mindplot.commands.AddIconToTopicCommand = mindplot.Command.extend(
|
||||
{
|
||||
core.assert(topicId, 'topicId can not be null');
|
||||
core.assert(iconType, 'iconType can not be null');
|
||||
this._topicId = topicId;
|
||||
this._selectedObjectsIds = topicId;
|
||||
this._iconType = iconType;
|
||||
},
|
||||
execute: function(commandContext)
|
||||
{
|
||||
var topic = commandContext.findTopics(this._topicId)[0];
|
||||
var topic = commandContext.findTopics(this._selectedObjectsIds)[0];
|
||||
var updated = function() {
|
||||
var iconImg = topic.addIcon(this._iconType, commandContext._designer);
|
||||
this._iconModel = iconImg.getModel();
|
||||
@ -38,7 +38,7 @@ mindplot.commands.AddIconToTopicCommand = mindplot.Command.extend(
|
||||
},
|
||||
undoExecute: function(commandContext)
|
||||
{
|
||||
var topic = commandContext.findTopics(this._topicId)[0];
|
||||
var topic = commandContext.findTopics(this._selectedObjectsIds)[0];
|
||||
var updated = function() {
|
||||
topic.removeIcon(this._iconModel);
|
||||
topic.updateNode();
|
||||
|
@ -22,13 +22,13 @@ mindplot.commands.AddLinkToTopicCommand = mindplot.Command.extend(
|
||||
initialize: function(topicId,url)
|
||||
{
|
||||
core.assert(topicId, 'topicId can not be null');
|
||||
this._topicId = topicId;
|
||||
this._selectedObjectsIds = topicId;
|
||||
this._url = url;
|
||||
this._id = mindplot.Command._nextUUID();
|
||||
},
|
||||
execute: function(commandContext)
|
||||
{
|
||||
var topic = commandContext.findTopics(this._topicId)[0];
|
||||
var topic = commandContext.findTopics(this._selectedObjectsIds)[0];
|
||||
var updated = function() {
|
||||
topic.addLink(this._url,commandContext._designer);
|
||||
topic.updateNode();
|
||||
@ -37,7 +37,7 @@ mindplot.commands.AddLinkToTopicCommand = mindplot.Command.extend(
|
||||
},
|
||||
undoExecute: function(commandContext)
|
||||
{
|
||||
var topic = commandContext.findTopics(this._topicId)[0];
|
||||
var topic = commandContext.findTopics(this._selectedObjectsIds)[0];
|
||||
var updated = function() {
|
||||
topic.removeLink();
|
||||
}.bind(this);
|
||||
|
@ -22,13 +22,13 @@ mindplot.commands.AddNoteToTopicCommand = mindplot.Command.extend(
|
||||
initialize: function(topicId,text)
|
||||
{
|
||||
core.assert(topicId, 'topicId can not be null');
|
||||
this._topicId = topicId;
|
||||
this._selectedObjectsIds = topicId;
|
||||
this._text = text;
|
||||
this._id = mindplot.Command._nextUUID();
|
||||
},
|
||||
execute: function(commandContext)
|
||||
{
|
||||
var topic = commandContext.findTopics(this._topicId)[0];
|
||||
var topic = commandContext.findTopics(this._selectedObjectsIds)[0];
|
||||
var updated = function() {
|
||||
topic.addNote(this._text,commandContext._designer);
|
||||
topic.updateNode();
|
||||
@ -37,7 +37,7 @@ mindplot.commands.AddNoteToTopicCommand = mindplot.Command.extend(
|
||||
},
|
||||
undoExecute: function(commandContext)
|
||||
{
|
||||
var topic = commandContext.findTopics(this._topicId)[0];
|
||||
var topic = commandContext.findTopics(this._selectedObjectsIds)[0];
|
||||
var updated = function() {
|
||||
topic.removeNote();
|
||||
}.bind(this);
|
||||
|
@ -24,13 +24,13 @@ mindplot.commands.ChangeIconFromTopicCommand = mindplot.Command.extend(
|
||||
core.assert(topicId, 'topicId can not be null');
|
||||
core.assert(iconId, 'iconId can not be null');
|
||||
core.assert(iconType, 'iconType can not be null');
|
||||
this._topicId = topicId;
|
||||
this._selectedObjectsIds = topicId;
|
||||
this._iconModel = iconId;
|
||||
this._iconType = iconType;
|
||||
},
|
||||
execute: function(commandContext)
|
||||
{
|
||||
var topic = commandContext.findTopics(this._topicId)[0];
|
||||
var topic = commandContext.findTopics(this._selectedObjectsIds)[0];
|
||||
var updated = function() {
|
||||
topic.removeIcon(this._iconModel);
|
||||
topic.updateNode();
|
||||
@ -39,7 +39,7 @@ mindplot.commands.ChangeIconFromTopicCommand = mindplot.Command.extend(
|
||||
},
|
||||
undoExecute: function(commandContext)
|
||||
{
|
||||
var topic = commandContext.findTopics(this._topicId)[0];
|
||||
var topic = commandContext.findTopics(this._selectedObjectsIds)[0];
|
||||
var updated = function() {
|
||||
topic.addIcon(this._iconModel, commandContext._designer);
|
||||
topic.updateNode();
|
||||
|
@ -22,7 +22,7 @@ mindplot.commands.DeleteTopicCommand = mindplot.Command.extend(
|
||||
initialize: function(topicsIds)
|
||||
{
|
||||
core.assert(topicsIds, "topicsIds must be defined");
|
||||
this._topicId = topicsIds;
|
||||
this._selectedObjectsIds = topicsIds;
|
||||
this._deletedTopicModels = [];
|
||||
this._parentTopicIds = [];
|
||||
this._deletedRelationships = [];
|
||||
@ -30,7 +30,8 @@ mindplot.commands.DeleteTopicCommand = mindplot.Command.extend(
|
||||
},
|
||||
execute: function(commandContext)
|
||||
{
|
||||
var topics = commandContext.findTopics(this._topicId);
|
||||
var topics = commandContext.findTopics(this._selectedObjectsIds.nodes);
|
||||
if(topics.length>0){
|
||||
topics.forEach(
|
||||
function(topic, index)
|
||||
{
|
||||
@ -59,12 +60,21 @@ mindplot.commands.DeleteTopicCommand = mindplot.Command.extend(
|
||||
commandContext.deleteTopic(topic);
|
||||
|
||||
}.bind(this)
|
||||
);
|
||||
); }
|
||||
var lines = commandContext.findRelationships(this._selectedObjectsIds.relationshipLines);
|
||||
if(lines.length>0){
|
||||
lines.forEach(function(line,index){
|
||||
if(line.isInWorkspace()){
|
||||
this._deletedRelationships.push(line.getModel().clone());
|
||||
commandContext.removeRelationship(line.getModel());
|
||||
}
|
||||
}.bind(this));
|
||||
}
|
||||
},
|
||||
undoExecute: function(commandContext)
|
||||
{
|
||||
|
||||
var topics = commandContext.findTopics(this._topicId);
|
||||
var topics = commandContext.findTopics(this._selectedObjectsIds);
|
||||
var parent = commandContext.findTopics(this._parentTopicIds);
|
||||
|
||||
this._deletedTopicModels.forEach(
|
||||
|
@ -22,7 +22,7 @@ mindplot.commands.DragTopicCommand = mindplot.Command.extend(
|
||||
initialize: function(topicId)
|
||||
{
|
||||
core.assert(topicId, "topicId must be defined");
|
||||
this._topicId = topicId;
|
||||
this._selectedObjectsIds = topicId;
|
||||
this._parentTopic = null;
|
||||
this._position = null;
|
||||
this._order = null;
|
||||
@ -31,7 +31,7 @@ mindplot.commands.DragTopicCommand = mindplot.Command.extend(
|
||||
execute: function(commandContext)
|
||||
{
|
||||
|
||||
var topic = commandContext.findTopics([this._topicId])[0];
|
||||
var topic = commandContext.findTopics([this._selectedObjectsIds])[0];
|
||||
|
||||
// Save old position ...
|
||||
var origParentTopic = topic.getOutgoingConnectedTopic();
|
||||
|
@ -24,7 +24,7 @@ mindplot.commands.GenericFunctionCommand = mindplot.Command.extend(
|
||||
core.assert(commandFunc, "commandFunc must be defined");
|
||||
core.assert(topicsIds, "topicsIds must be defined");
|
||||
this._value = value;
|
||||
this._topicId = topicsIds;
|
||||
this._selectedObjectsIds = topicsIds;
|
||||
this._commandFunc = commandFunc;
|
||||
this._oldValues = [];
|
||||
this._id = mindplot.Command._nextUUID();
|
||||
@ -33,7 +33,7 @@ mindplot.commands.GenericFunctionCommand = mindplot.Command.extend(
|
||||
{
|
||||
if (!this.applied)
|
||||
{
|
||||
var topics = commandContext.findTopics(this._topicId);
|
||||
var topics = commandContext.findTopics(this._selectedObjectsIds);
|
||||
topics.forEach(function(topic)
|
||||
{
|
||||
var oldValue = this._commandFunc(topic, this._value);
|
||||
@ -50,7 +50,7 @@ mindplot.commands.GenericFunctionCommand = mindplot.Command.extend(
|
||||
{
|
||||
if (this.applied)
|
||||
{
|
||||
var topics = commandContext.findTopics(this._topicId);
|
||||
var topics = commandContext.findTopics(this._selectedObjectsIds);
|
||||
topics.forEach(function(topic,index)
|
||||
{
|
||||
this._commandFunc(topic, this._oldValues[index]);
|
||||
|
@ -1,59 +1,77 @@
|
||||
mindplot.commands.MoveControlPointCommand = mindplot.Command.extend(
|
||||
{
|
||||
initialize: function(ctrlPointControler, point)
|
||||
initialize: function(ctrlPointController, point)
|
||||
{
|
||||
core.assert(ctrlPointControler, 'line can not be null');
|
||||
this._ctrlPointControler = ctrlPointControler;
|
||||
core.assert(ctrlPointController, 'line can not be null');
|
||||
this._ctrlPointControler = ctrlPointController;
|
||||
this._line = ctrlPointController._line;
|
||||
var model = this._line.getModel();
|
||||
this._controlPoint = this._ctrlPointControler.getControlPoint(point).clone();
|
||||
this._oldControlPoint= this._ctrlPointControler.getOriginalCtrlPoint(point).clone();
|
||||
this._originalEndPoint = this._ctrlPointControler.getOriginalEndPoint(point).clone();
|
||||
switch (point){
|
||||
case 0:
|
||||
this._wasCustom = this._line.getLine().isSrcControlPointCustom();
|
||||
this._endPoint = this._line.getLine().getFrom().clone();
|
||||
break;
|
||||
case 1:
|
||||
this._wasCustom = this._line.getLine().isDestControlPointCustom();
|
||||
this._endPoint = this._line.getLine().getTo().clone();
|
||||
break;
|
||||
}
|
||||
this._id = mindplot.Command._nextUUID();
|
||||
this._wasCustom=false;
|
||||
this._point = point;
|
||||
this._controlPoint = null;
|
||||
},
|
||||
execute: function(commandContext)
|
||||
{
|
||||
var line = this._ctrlPointControler._line;
|
||||
var ctrlPoints = line.getLine().getControlPoints();
|
||||
var model = line.getModel();
|
||||
var point = null;
|
||||
var model = this._line.getModel();
|
||||
switch (this._point){
|
||||
case 0:
|
||||
if(core.Utils.isDefined(model.getSrcCtrlPoint())){
|
||||
this._controlPoint= model.getSrcCtrlPoint().clone();
|
||||
}
|
||||
model.setSrcCtrlPoint(ctrlPoints[0].clone());
|
||||
this._wasCustom = line.getLine().isSrcControlPointCustom();
|
||||
line.getLine().setIsSrcControlPointCustom(true);
|
||||
model.setSrcCtrlPoint(this._controlPoint.clone());
|
||||
this._line.getLine().setFrom(this._endPoint.x, this._endPoint.y);
|
||||
this._line.getLine().setIsSrcControlPointCustom(true);
|
||||
this._line.getLine().setSrcControlPoint(this._controlPoint.clone());
|
||||
break;
|
||||
case 1:
|
||||
if(core.Utils.isDefined(model.getDestCtrlPoint())){
|
||||
this._controlPoint = model.getDestCtrlPoint().clone();
|
||||
}
|
||||
model.setDestCtrlPoint(ctrlPoints[1].clone());
|
||||
this._wasCustom = line.getLine().isDestControlPointCustom();
|
||||
line.getLine().setIsDestControlPointCustom(true);
|
||||
model.setDestCtrlPoint(this._controlPoint.clone());
|
||||
this._wasCustom = this._line.getLine().isDestControlPointCustom();
|
||||
this._line.getLine().setTo(this._endPoint.x, this._endPoint.y);
|
||||
this._line.getLine().setIsDestControlPointCustom(true);
|
||||
this._line.getLine().setDestControlPoint(this._controlPoint.clone());
|
||||
break;
|
||||
}
|
||||
if(this._line.isOnFocus()){
|
||||
this._line._refreshSelectedShape();
|
||||
this._ctrlPointControler.setLine(this._line);
|
||||
}
|
||||
this._line.getLine().updateLine(this._point);
|
||||
},
|
||||
undoExecute: function(commandContext)
|
||||
{
|
||||
var line = this._ctrlPointControler._line;
|
||||
var line = this._line;
|
||||
var model = line.getModel();
|
||||
switch (this._point){
|
||||
case 0:
|
||||
if(core.Utils.isDefined(this._controlPoint)){
|
||||
model.setSrcCtrlPoint(this._controlPoint.clone());
|
||||
line.getLine().setSrcControlPoint(this._controlPoint.clone());
|
||||
if(core.Utils.isDefined(this._oldControlPoint)){
|
||||
line.getLine().setFrom(this._originalEndPoint.x, this._originalEndPoint.y);
|
||||
model.setSrcCtrlPoint(this._oldControlPoint.clone());
|
||||
line.getLine().setSrcControlPoint(this._oldControlPoint.clone());
|
||||
line.getLine().setIsSrcControlPointCustom(this._wasCustom);
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if(core.Utils.isDefined(this._controlPoint)){
|
||||
model.setDestCtrlPoint(this._controlPoint.clone());
|
||||
line.getLine().setDestControlPoint(this._controlPoint.clone());
|
||||
if(core.Utils.isDefined(this._oldControlPoint)){
|
||||
line.getLine().setTo(this._originalEndPoint.x, this._originalEndPoint.y);
|
||||
model.setDestCtrlPoint(this._oldControlPoint.clone());
|
||||
line.getLine().setDestControlPoint(this._oldControlPoint.clone());
|
||||
line.getLine().setIsDestControlPointCustom(this._wasCustom);
|
||||
}
|
||||
break;
|
||||
}
|
||||
this._line.getLine().updateLine(this._point);
|
||||
if(this._line.isOnFocus()){
|
||||
this._ctrlPointControler.setLine(line);
|
||||
line._refreshSelectedShape();
|
||||
}
|
||||
}
|
||||
});
|
@ -23,12 +23,12 @@ mindplot.commands.RemoveIconFromTopicCommand = mindplot.Command.extend(
|
||||
{
|
||||
core.assert(topicId, 'topicId can not be null');
|
||||
core.assert(iconModel, 'iconId can not be null');
|
||||
this._topicId = topicId;
|
||||
this._selectedObjectsIds = topicId;
|
||||
this._iconModel = iconModel;
|
||||
},
|
||||
execute: function(commandContext)
|
||||
{
|
||||
var topic = commandContext.findTopics(this._topicId)[0];
|
||||
var topic = commandContext.findTopics(this._selectedObjectsIds)[0];
|
||||
var updated = function() {
|
||||
topic.removeIcon(this._iconModel);
|
||||
topic.updateNode();
|
||||
@ -37,7 +37,7 @@ mindplot.commands.RemoveIconFromTopicCommand = mindplot.Command.extend(
|
||||
},
|
||||
undoExecute: function(commandContext)
|
||||
{
|
||||
var topic = commandContext.findTopics(this._topicId)[0];
|
||||
var topic = commandContext.findTopics(this._selectedObjectsIds)[0];
|
||||
var updated = function() {
|
||||
var iconType = this._iconModel.getIconType();
|
||||
var iconImg = topic.addIcon(iconType, commandContext._designer);
|
||||
|
@ -22,11 +22,11 @@ mindplot.commands.RemoveLinkFromTopicCommand = mindplot.Command.extend(
|
||||
initialize: function(topicId)
|
||||
{
|
||||
core.assert(topicId, 'topicId can not be null');
|
||||
this._topicId = topicId;
|
||||
this._selectedObjectsIds = topicId;
|
||||
},
|
||||
execute: function(commandContext)
|
||||
{
|
||||
var topic = commandContext.findTopics(this._topicId)[0];
|
||||
var topic = commandContext.findTopics(this._selectedObjectsIds)[0];
|
||||
this._url = topic._link.getUrl();
|
||||
var updated = function() {
|
||||
topic.removeLink();
|
||||
@ -35,7 +35,7 @@ mindplot.commands.RemoveLinkFromTopicCommand = mindplot.Command.extend(
|
||||
},
|
||||
undoExecute: function(commandContext)
|
||||
{
|
||||
var topic = commandContext.findTopics(this._topicId)[0];
|
||||
var topic = commandContext.findTopics(this._selectedObjectsIds)[0];
|
||||
var updated = function() {
|
||||
topic.addLink(this._url,commandContext._designer);
|
||||
topic.updateNode();
|
||||
|
@ -22,11 +22,11 @@ mindplot.commands.RemoveNoteFromTopicCommand = mindplot.Command.extend(
|
||||
initialize: function(topicId)
|
||||
{
|
||||
core.assert(topicId, 'topicId can not be null');
|
||||
this._topicId = topicId;
|
||||
this._selectedObjectsIds = topicId;
|
||||
},
|
||||
execute: function(commandContext)
|
||||
{
|
||||
var topic = commandContext.findTopics(this._topicId)[0];
|
||||
var topic = commandContext.findTopics(this._selectedObjectsIds)[0];
|
||||
this._text = topic._note.getText();
|
||||
var updated = function() {
|
||||
topic.removeNote();
|
||||
@ -35,7 +35,7 @@ mindplot.commands.RemoveNoteFromTopicCommand = mindplot.Command.extend(
|
||||
},
|
||||
undoExecute: function(commandContext)
|
||||
{
|
||||
var topic = commandContext.findTopics(this._topicId)[0];
|
||||
var topic = commandContext.findTopics(this._selectedObjectsIds)[0];
|
||||
var updated = function() {
|
||||
topic.addNote(this._text,commandContext._designer);
|
||||
topic.updateNode();
|
||||
|
@ -216,6 +216,8 @@ TOPIC_ICON=Add Icon
|
||||
ICON=Icon
|
||||
TOPIC_LINK=Add Link
|
||||
LINK=Link
|
||||
TOPIC_RELATIONSHIP=Relationship
|
||||
RELATION=Relationship
|
||||
TOPIC_NOTE=Add Note
|
||||
NOTE=Note
|
||||
|
||||
|
@ -70,8 +70,8 @@ YES=Si
|
||||
NO=No
|
||||
|
||||
EDITOR.LOADING=Cargando...
|
||||
SITE.TITLE=WiseMapping
|
||||
SITE.SLOGAN=Visual Thinking Evolution
|
||||
SITE.TITLE=Thinkmapping
|
||||
SITE.SLOGAN=pensando en mapping
|
||||
SAVE=Guardar
|
||||
DISCARD_CHANGES=Descartar cambios
|
||||
ABOUT=Acerca
|
||||
|
Loading…
Reference in New Issue
Block a user