aboutsummaryrefslogtreecommitdiff
path: root/js/stage
diff options
context:
space:
mode:
authorValerio Virgillito2012-04-04 11:11:58 -0700
committerValerio Virgillito2012-04-04 11:11:58 -0700
commita11ef2eed7049835c8bdfa50a2b893632c46eaa0 (patch)
treefcbb067044d339daa49622537e934bf3a309db96 /js/stage
parentc6de22bf42be90b403491b5f87b1818d9020310c (diff)
downloadninja-a11ef2eed7049835c8bdfa50a2b893632c46eaa0.tar.gz
Squashed commit of Preparing for the montage undo-manager: Architecture changes
Reworked the add and remove elements into 1 function which can take 1 or more elements. Removed the _element from the selection array Many other changes related to those 2 changes Undo/Redo shortcuts are now using montage undo/redo manager. Signed-off-by: Valerio Virgillito <valerio@motorola.com>
Diffstat (limited to 'js/stage')
-rwxr-xr-xjs/stage/layout.js18
-rwxr-xr-xjs/stage/stage.reel/stage.js5
2 files changed, 10 insertions, 13 deletions
diff --git a/js/stage/layout.js b/js/stage/layout.js
index 6be2df1d..ae9260fc 100755
--- a/js/stage/layout.js
+++ b/js/stage/layout.js
@@ -53,12 +53,8 @@ exports.Layout = Montage.create(Component, {
53 this.ctx.lineWidth = this.ctxLineWidth; 53 this.ctx.lineWidth = this.ctxLineWidth;
54 this.ctx.fillStyle = this.drawFillColor; 54 this.ctx.fillStyle = this.drawFillColor;
55 55
56// this.eventManager.addEventListener("elementAdded", this, false);
57 this.eventManager.addEventListener("elementDeleted", this, false);
58
59 this.eventManager.addEventListener("selectionChange", this, false); 56 this.eventManager.addEventListener("selectionChange", this, false);
60 57 this.eventManager.addEventListener("elementsRemoved", this, false);
61 this.eventManager.addEventListener("deleteSelection", this, false);
62 } 58 }
63 }, 59 },
64 60
@@ -76,7 +72,7 @@ exports.Layout = Montage.create(Component, {
76 }, 72 },
77 73
78 // Redraw stage only once after all deletion is completed 74 // Redraw stage only once after all deletion is completed
79 handleDeleteSelection: { 75 handleElementsRemoved: {
80 value: function(event) { 76 value: function(event) {
81 this.draw(); 77 this.draw();
82 this.draw3DInfo(false); 78 this.draw3DInfo(false);
@@ -110,10 +106,8 @@ exports.Layout = Montage.create(Component, {
110 106
111 // Draw the non selected elements 107 // Draw the non selected elements
112 if(!event.detail.isDocument) { 108 if(!event.detail.isDocument) {
113 var tmp = event.detail.elements.map(function(element){ return element._element});
114
115 this.elementsToDraw = this.domTree.filter(function(value) { 109 this.elementsToDraw = this.domTree.filter(function(value) {
116 return (tmp.indexOf(value) === -1); 110 return (event.detail.elements.indexOf(value) === -1);
117 }); 111 });
118 } else { 112 } else {
119 this.elementsToDraw = Array.prototype.slice.call(this.domTree, 0); 113 this.elementsToDraw = Array.prototype.slice.call(this.domTree, 0);
@@ -345,7 +339,11 @@ exports.Layout = Montage.create(Component, {
345 339
346 _elementName: { 340 _elementName: {
347 value: function(item) { 341 value: function(item) {
348 return this.application.ninja.elementMediator.getNJProperty(item, "selection"); 342 if(item.elementModel && item.elementModel.hasOwnProperty("selection")) {
343 return item.elementModel['selection'];
344 } else {
345 return "";
346 }
349 } 347 }
350 } 348 }
351 349
diff --git a/js/stage/stage.reel/stage.js b/js/stage/stage.reel/stage.js
index 00b72490..3500b6a3 100755
--- a/js/stage/stage.reel/stage.js
+++ b/js/stage/stage.reel/stage.js
@@ -560,8 +560,7 @@ exports.Stage = Montage.create(Component, {
560 elt = this.application.ninja.currentDocument.GetElementFromPoint(point.x + this.scrollLeft,point.y + this.scrollTop); 560 elt = this.application.ninja.currentDocument.GetElementFromPoint(point.x + this.scrollLeft,point.y + this.scrollTop);
561 561
562 // workaround Chrome 3d bug 562 // workaround Chrome 3d bug
563 if(this.application.ninja.toolsData.selectedToolInstance._canSnap && this.application.ninja.currentDocument.inExclusion(elt) !== -1) 563 if(this.application.ninja.toolsData.selectedToolInstance._canSnap && this.application.ninja.currentDocument.inExclusion(elt) !== -1) {
564 {
565 return this._getElementUsingSnapping(point); 564 return this._getElementUsingSnapping(point);
566 } else { 565 } else {
567 return elt; 566 return elt;
@@ -605,7 +604,7 @@ exports.Stage = Montage.create(Component, {
605 var selArray = new Array(); 604 var selArray = new Array();
606 605
607 for(var i = 0; this.application.ninja.selectedElements[i];i++) { 606 for(var i = 0; this.application.ninja.selectedElements[i];i++) {
608 var curElement = this.application.ninja.selectedElements[i]._element; 607 var curElement = this.application.ninja.selectedElements[i];
609 608
610 // Add element to array that is used to calculate 3d-bounding box of all elements 609 // Add element to array that is used to calculate 3d-bounding box of all elements
611 selArray.push( curElement ); 610 selArray.push( curElement );