From 89060af08bf7a1c1c505e72cb96fd2ebc282f68f Mon Sep 17 00:00:00 2001 From: Paulo Veiga Date: Sat, 14 Jan 2012 09:58:06 -0300 Subject: [PATCH] Integrate predict ... --- mindplot/src/main/javascript/Designer.js | 39 ++++++++++++++++++- mindplot/src/main/javascript/MainTopic.js | 18 --------- mindplot/src/main/javascript/Topic.js | 24 +----------- .../javascript/nlayout/EventBusDispatcher.js | 12 ++++-- .../main/javascript/nlayout/LayoutManager.js | 3 +- .../webapp/maps/{mapId.xml => welcome.xml} | 0 6 files changed, 48 insertions(+), 48 deletions(-) rename wise-doc/src/main/webapp/maps/{mapId.xml => welcome.xml} (100%) diff --git a/mindplot/src/main/javascript/Designer.js b/mindplot/src/main/javascript/Designer.js index 433e76e2..6d9455f1 100644 --- a/mindplot/src/main/javascript/Designer.js +++ b/mindplot/src/main/javascript/Designer.js @@ -330,13 +330,30 @@ mindplot.Designer = new Class({ // Add new node ... var parentTopic = nodes[0]; var parentTopicId = parentTopic.getId(); - var childModel = parentTopic.createChildModel(); + var childModel = this._createChildModel(parentTopic); // Execute event ... this._actionDispatcher.addTopic(childModel, parentTopicId, true); }, + _createChildModel : function(topic) { + // Create a new node ... + var model = topic.getModel(); + var mindmap = model.getMindmap(); + var childModel = mindmap.createNode(mindplot.model.INodeModel.MAIN_TOPIC_TYPE); + + // Create a new node ... + var layoutManager = this._eventBussDispatcher.getLayoutManager(); + var result = layoutManager.predict(topic.getId()); + childModel.setOrder(result.order); + + var position = result.position; + childModel.setPosition(position.x, position.y); + + return childModel; + }, + createSiblingForSelectedNode : function() { var nodes = this.getModel().filterSelectedTopics(); if (nodes.length <= 0) { @@ -358,13 +375,31 @@ mindplot.Designer = new Class({ } else { var parentTopic = topic.getOutgoingConnectedTopic(); - var siblingModel = topic.createSiblingModel(); + var siblingModel = this._createSiblingModel(topic); var parentTopicId = parentTopic.getId(); this._actionDispatcher.addTopic(siblingModel, parentTopicId, true); } }, + _createSiblingModel : function(topic) { + var result = null; + var parentTopic = topic.getOutgoingConnectedTopic(); + if (parentTopic != null) { + + // Create a new node ... + var model = topic.getModel(); + var mindmap = model.getMindmap(); + result = mindmap.createNode(mindplot.model.INodeModel.MAIN_TOPIC_TYPE); + + // Create a new node ... + var order = topic.getOrder() + 1; + result.setOrder(order); + result.setPosition(10, 10); // Set a dummy pisition ... + } + return result; + }, + showRelPivot : function(event) { // Current mouse position .... var screen = this._workspace.getScreenManager(); diff --git a/mindplot/src/main/javascript/MainTopic.js b/mindplot/src/main/javascript/MainTopic.js index a4c8c463..fc33bd73 100644 --- a/mindplot/src/main/javascript/MainTopic.js +++ b/mindplot/src/main/javascript/MainTopic.js @@ -227,24 +227,6 @@ mindplot.MainTopic = new Class({ _defaultBorderColor : function() { return '#023BB9'; - }, - - // @todo: Removed !!! - createSiblingModel : function() { - var result = null; - var parentTopic = this.getOutgoingConnectedTopic(); - if (parentTopic != null) { - // Create a new node ... - var model = this.getModel(); - var mindmap = model.getMindmap(); - result = mindmap.createNode(mindplot.model.INodeModel.MAIN_TOPIC_TYPE); - - // Create a new node ... - var order = this.getOrder() + 1; - result.setOrder(order); - result.setPosition(10,10); - } - return result; } }); diff --git a/mindplot/src/main/javascript/Topic.js b/mindplot/src/main/javascript/Topic.js index 07b8d73e..93718ac1 100644 --- a/mindplot/src/main/javascript/Topic.js +++ b/mindplot/src/main/javascript/Topic.js @@ -1242,30 +1242,8 @@ mindplot.Topic = new Class({ // Position node ... textShape.setPosition(topicPadding + iconsWidth, topicPadding); } - }, - - // @Todo: this don't seems to be a nice way... Order should be infered automatically ... - createChildModel : function() { - // Create a new node ... - var model = this.getModel(); - var mindmap = model.getMindmap(); - var childModel = mindmap.createNode(mindplot.model.INodeModel.MAIN_TOPIC_TYPE); - - // Get the hights model order position ... - var children = this._getChildren(); - var order = -1; - for (var i = 0; i < children.length; i++) { - var child = children[i]; - if (child.getOrder() > order) { - order = child.getOrder(); - } - } - // Create a new node ... - childModel.setOrder(order + 1); - childModel.setPosition(10, 10); - - return childModel; } + }); diff --git a/mindplot/src/main/javascript/nlayout/EventBusDispatcher.js b/mindplot/src/main/javascript/nlayout/EventBusDispatcher.js index fc46da03..bdecb43e 100644 --- a/mindplot/src/main/javascript/nlayout/EventBusDispatcher.js +++ b/mindplot/src/main/javascript/nlayout/EventBusDispatcher.js @@ -87,11 +87,15 @@ mindplot.nlayout.EventBusDispatcher = new Class({ _doLayout: function() { // (function() { - this._layoutManager.layout(true); - console.log("---------"); - this._layoutManager.dump(); - console.log("---------"); + this._layoutManager.layout(true); + console.log("---------"); + this._layoutManager.dump(); + console.log("---------"); // }).delay(0, this); + }, + + getLayoutManager: function() { + return this._layoutManager; } }); \ No newline at end of file diff --git a/mindplot/src/main/javascript/nlayout/LayoutManager.js b/mindplot/src/main/javascript/nlayout/LayoutManager.js index 4cee92dd..befe6fde 100644 --- a/mindplot/src/main/javascript/nlayout/LayoutManager.js +++ b/mindplot/src/main/javascript/nlayout/LayoutManager.js @@ -94,7 +94,8 @@ mindplot.nlayout.LayoutManager = new Class({ var parent = this._treeSet.find(parentId); var sorter = parent.getSorter(); - return sorter.predict(parent, this._treeSet, position); + var result = sorter.predict(parent, this._treeSet, position); + return {order:result[0],position:result[1]}; }, dump: function() { diff --git a/wise-doc/src/main/webapp/maps/mapId.xml b/wise-doc/src/main/webapp/maps/welcome.xml similarity index 100% rename from wise-doc/src/main/webapp/maps/mapId.xml rename to wise-doc/src/main/webapp/maps/welcome.xml