Add migrator for Pela to Tango

This commit is contained in:
Paulo Veiga
2012-01-21 18:02:38 -03:00
parent 7ec7c18524
commit 0e07e28b4c
9 changed files with 66 additions and 55 deletions

View File

@@ -95,6 +95,8 @@
files="XMLMindmapSerializer_Pela.js"/>
<filelist dir="${basedir}/src/main/javascript/"
files="XMLMindmapSerializer_Tango.js"/>
<filelist dir="${basedir}/src/main/javascript/"
files="Pela2TangoMigrator.js"/>
<filelist dir="${basedir}/src/main/javascript/"
files="XMLMindmapSerializer_Beta.js"/>
<filelist dir="${basedir}/src/main/javascript/" files="Beta2PelaMigrator.js"/>
@@ -145,7 +147,7 @@
files="commands/AddRelationshipCommand.js"/>
<filelist dir="${basedir}/src/main/javascript/"
files="commands/MoveControlPointCommand.js"/>
<filelist dir="${basedir}/src/main/javascript/"
<filelist dir="${basedir}/src/main/javascript/"
files="collaboration/CollaborationManager.js"/>
<filelist dir="${basedir}/src/main/javascript/"
files="collaboration/framework/AbstractCollaborativeFramework.js"/>

View File

@@ -137,7 +137,7 @@ mindplot.Designer = new Class({
if (!dragTopic.isVisible() && dragTopic.isConnected()) {
dragTopic.setVisibility(true);
}
}
}
});
dragger.addEvent('enddragging', function(event, dragTopic) {
@@ -330,7 +330,6 @@ mindplot.Designer = new Class({
var layoutManager = this._eventBussDispatcher.getLayoutManager();
var result = layoutManager.predict(topic.getId(), mousePos);
childModel.setOrder(result.order);
console.log(result.order);
var position = result.position;
childModel.setPosition(position.x, position.y);
@@ -420,6 +419,18 @@ mindplot.Designer = new Class({
$assert(mindmapModel, "mindmapModel can not be null");
this._mindmap = mindmapModel;
// Init layout manager ...
var size = {width:25,height:25};
var layoutManager = new mindplot.layout.LayoutManager(mindmapModel.getCentralTopic().getId(), size);
layoutManager.addEvent('change', function(event) {
var id = event.getId();
var topic = this.getModel().findTopicById(id);
topic.setPosition(event.getPosition());
topic.setOrder(event.getOrder());
}.bind(this));
this._eventBussDispatcher.setLayoutManager(layoutManager);
// Building node graph ...
var branches = mindmapModel.getBranches();
for (var i = 0; i < branches.length; i++) {

View File

@@ -29,9 +29,38 @@ mindplot.Pela2TangoMigrator = new Class({
$assert($defined(mapId), "mapId can not be null");
var mindmap = this._pelaSerializer.loadFromDom(dom, mapId);
mindmap.setVersion(mindplot.ModelCodeName.TANGO);
// @todo: Cocinar los ordenes ....
this._fixOrder(mindmap);
return mindmap;
},
_fixOrder : function(mindmap) {
// First level node policies has been changed.
var centralNode = mindmap.getBranches()[0];
var children = centralNode.getChildren();
var leftNodes = [];
var rightNodes = [];
for (var i = 0; i < children.length; i++) {
var child = children[i];
var position = child.getPosition();
if (position.x < 0) {
leftNodes.push(child);
} else {
rightNodes.push(child);
}
}
rightNodes.sort(function(a, b) {
return a.getOrder() > b.getOrder()
});
leftNodes.sort(function(a, b) {
return a.getOrder() > b.getOrder();
});
for (i = 0; i < rightNodes.length; i++) {
rightNodes[i].setOrder(i*2);
}
for (i = 0; i < leftNodes.length; i++) {
leftNodes[i].setOrder(i*2+1);
}
}
});

View File

@@ -194,11 +194,11 @@ mindplot.Topic = new Class({
};
var setStrokeFunction = result.setStroke;
result.setFill = function(color) {
result.setFill = function() {
};
result.setStroke = function(color) {
result.setStroke = function() {
};
}
@@ -1091,7 +1091,7 @@ mindplot.Topic = new Class({
var size = this.getFontSize();
this.setFontSize(size, false);
}
var textShape = this.getTextShape();
this.getTextShape();
// Display connection node...
var connector = targetTopic.getShrinkConnector();
@@ -1141,7 +1141,9 @@ mindplot.Topic = new Class({
var elem = this.get2DElement();
workspace.appendChild(elem);
if (!this.isInWorkspace()) {
mindplot.EventBus.instance.fireEvent(mindplot.EventBus.events.NodeAdded, this.getModel());
if (this.getType() != mindplot.model.INodeModel.CENTRAL_TOPIC_TYPE) {
mindplot.EventBus.instance.fireEvent(mindplot.EventBus.events.NodeAdded, this.getModel());
}
if (this.getModel().isConnected())
mindplot.EventBus.instance.fireEvent(mindplot.EventBus.events.NodeConnectEvent, {parentNode:this.getOutgoingConnectedTopic().getModel(), childNode: this.getModel()});

View File

@@ -18,4 +18,4 @@
mindplot.XMLMindmapSerializer_Tango = new Class({
Extends: mindplot.XMLMindmapSerializer_Pela
});
});

View File

@@ -17,19 +17,12 @@
*/
mindplot.layout.EventBusDispatcher = new Class({
initialize:function(designerModel) {
$assert(designerModel, "designerModel cannot be null");
initialize:function() {
this.registerBusEvents();
},
var size = {width:25,height:25};
this._layoutManager = new mindplot.layout.LayoutManager(0, size);
this._layoutManager.addEvent('change', function(event) {
var id = event.getId();
var topic = designerModel.findTopicById(id);
topic.setPosition(event.getPosition());
topic.setOrder(event.getOrder());
});
setLayoutManager : function(layoutManager) {
this._layoutManager = layoutManager;
},
registerBusEvents:function () {