diff options
author | Valerio Virgillito | 2012-03-14 10:29:18 -0700 |
---|---|---|
committer | Valerio Virgillito | 2012-03-14 10:29:18 -0700 |
commit | 6df430d86c289413fea48f8e2ac37def72fbde46 (patch) | |
tree | cc16f59407a85b6c91d372d25fdae2ee1dac88d1 | |
parent | f4373594569f77d710eea9a266fe41419c029f85 (diff) | |
parent | b4d3bf155e38e6554f05bb3cbaddd2f3bf799e90 (diff) | |
download | ninja-6df430d86c289413fea48f8e2ac37def72fbde46.tar.gz |
Merge pull request #117 from mencio/layout-fix
Layout Fixes and Canvas sized when panels are collapsed
-rwxr-xr-x | js/components/layout/bread-crumb.reel/bread-crumb.js | 3 | ||||
-rwxr-xr-x | js/controllers/selection-controller.js | 8 | ||||
-rwxr-xr-x | js/lib/drawing/world.js | 8 | ||||
-rwxr-xr-x | js/panels/Splitter.js | 11 | ||||
-rwxr-xr-x | js/stage/layout.js | 41 |
5 files changed, 33 insertions, 38 deletions
diff --git a/js/components/layout/bread-crumb.reel/bread-crumb.js b/js/components/layout/bread-crumb.reel/bread-crumb.js index ab390fc6..f35972b6 100755 --- a/js/components/layout/bread-crumb.reel/bread-crumb.js +++ b/js/components/layout/bread-crumb.reel/bread-crumb.js | |||
@@ -71,8 +71,7 @@ exports.Breadcrumb = Montage.create(Component, { | |||
71 | // This is always the top container which is now hardcoded to body | 71 | // This is always the top container which is now hardcoded to body |
72 | this.containerElements.unshift({"node": parentNode, "nodeUuid":parentNode.uuid, "label": "Body"}); | 72 | this.containerElements.unshift({"node": parentNode, "nodeUuid":parentNode.uuid, "label": "Body"}); |
73 | 73 | ||
74 | // This is for the timeline -- Disable it since the timeline should not know about this object | 74 | |
75 | // NJevent('layerBinding',{selected:false ,element:this.container}) | ||
76 | 75 | ||
77 | } | 76 | } |
78 | }, | 77 | }, |
diff --git a/js/controllers/selection-controller.js b/js/controllers/selection-controller.js index c713b6e5..154fb7f8 100755 --- a/js/controllers/selection-controller.js +++ b/js/controllers/selection-controller.js | |||
@@ -90,15 +90,11 @@ exports.SelectionController = Montage.create(Component, { | |||
90 | } | 90 | } |
91 | }, | 91 | }, |
92 | 92 | ||
93 | handleSwitchDocument: { | 93 | handleSwitchDocument: { |
94 | value: function() { | 94 | value: function() { |
95 | if(this.application.ninja.documentController.activeDocument.currentView === "design"){ | 95 | if(this.application.ninja.documentController.activeDocument.currentView === "design"){ |
96 | this._selectedItems = this.application.ninja.selectedElements.slice(0); | 96 | this._selectedItems = this.application.ninja.selectedElements.slice(0); |
97 | if(this._selectedItems.length === 0 ){ | 97 | this._isDocument = this._selectedItems.length === 0; |
98 | this._isDocument = true; | ||
99 | }else{ | ||
100 | this._isDocument = false; | ||
101 | } | ||
102 | NJevent("selectionChange", {"elements": this.application.ninja.selectedElements, "isDocument": this._isDocument} ); | 98 | NJevent("selectionChange", {"elements": this.application.ninja.selectedElements, "isDocument": this._isDocument} ); |
103 | } | 99 | } |
104 | } | 100 | } |
diff --git a/js/lib/drawing/world.js b/js/lib/drawing/world.js index df24f556..049145ce 100755 --- a/js/lib/drawing/world.js +++ b/js/lib/drawing/world.js | |||
@@ -351,20 +351,18 @@ var World = function GLWorld( canvas, use3D, preserveDrawingBuffer ) { | |||
351 | return false; | 351 | return false; |
352 | }; | 352 | }; |
353 | 353 | ||
354 | this.generateUniqueNodeID = function() | 354 | this.generateUniqueNodeID = function() { |
355 | { | ||
356 | var str = "" + this._nodeCounter; | 355 | var str = "" + this._nodeCounter; |
357 | this._nodeCounter++; | 356 | this._nodeCounter++; |
358 | return str; | 357 | return str; |
359 | } | 358 | }; |
360 | 359 | ||
361 | 360 | ||
362 | // start RDGE passing your runtime object, and false to indicate we don't need a an initialization state | 361 | // start RDGE passing your runtime object, and false to indicate we don't need a an initialization state |
363 | // in the case of a procedurally built scene an init state is not needed for loading data | 362 | // in the case of a procedurally built scene an init state is not needed for loading data |
364 | if (this._useWebGL) { | 363 | if (this._useWebGL) { |
365 | rdgeStarted = true; | 364 | rdgeStarted = true; |
366 | var id = this._canvas.getAttribute( "data-RDGE-id" ); | 365 | this._canvas.rdgeid = this._canvas.getAttribute( "data-RDGE-id" ); |
367 | this._canvas.rdgeid = id; | ||
368 | g_Engine.registerCanvas(this._canvas, this); | 366 | g_Engine.registerCanvas(this._canvas, this); |
369 | RDGEStart( this._canvas ); | 367 | RDGEStart( this._canvas ); |
370 | this._canvas.task.stop() | 368 | this._canvas.task.stop() |
diff --git a/js/panels/Splitter.js b/js/panels/Splitter.js index 3215e928..a396ea28 100755 --- a/js/panels/Splitter.js +++ b/js/panels/Splitter.js | |||
@@ -66,6 +66,7 @@ exports.Splitter = Montage.create(Component, { | |||
66 | var storedData = this.application.localStorage.getItem(this.element.getAttribute("data-montage-id")); | 66 | var storedData = this.application.localStorage.getItem(this.element.getAttribute("data-montage-id")); |
67 | if(storedData && this.element.getAttribute("data-montage-id") !== null) { | 67 | if(storedData && this.element.getAttribute("data-montage-id") !== null) { |
68 | this._collapsed = storedData.value; | 68 | this._collapsed = storedData.value; |
69 | |||
69 | } else { | 70 | } else { |
70 | this._collapsed = false; | 71 | this._collapsed = false; |
71 | } | 72 | } |
@@ -77,13 +78,11 @@ exports.Splitter = Montage.create(Component, { | |||
77 | draw: { | 78 | draw: { |
78 | value: function() { | 79 | value: function() { |
79 | if(this.collapsed) { | 80 | if(this.collapsed) { |
80 | |||
81 | if(this.panel.element) this.panel.element.classList.add("collapsed"); | 81 | if(this.panel.element) this.panel.element.classList.add("collapsed"); |
82 | else this.panel.classList.add("collapsed"); | 82 | else this.panel.classList.add("collapsed"); |
83 | this.element.classList.add("collapsed"); | 83 | this.element.classList.add("collapsed"); |
84 | if(this._resizeBar != null) this.resizeBar.classList.add("collapsed"); | 84 | if(this._resizeBar != null) this.resizeBar.classList.add("collapsed"); |
85 | } | 85 | } else { |
86 | else { | ||
87 | if(this.panel.element) this.panel.element.classList.remove("collapsed"); | 86 | if(this.panel.element) this.panel.element.classList.remove("collapsed"); |
88 | else this.panel.classList.remove("collapsed"); | 87 | else this.panel.classList.remove("collapsed"); |
89 | this.element.classList.remove("collapsed"); | 88 | this.element.classList.remove("collapsed"); |
@@ -92,6 +91,12 @@ exports.Splitter = Montage.create(Component, { | |||
92 | } | 91 | } |
93 | }, | 92 | }, |
94 | 93 | ||
94 | didDraw: { | ||
95 | value: function() { | ||
96 | this.application.ninja.stage.resizeCanvases = true; | ||
97 | } | ||
98 | }, | ||
99 | |||
95 | handleClick : { | 100 | handleClick : { |
96 | value: function() { | 101 | value: function() { |
97 | if (!this.disabled) { | 102 | if (!this.disabled) { |
diff --git a/js/stage/layout.js b/js/stage/layout.js index 8a53a08b..6be2df1d 100755 --- a/js/stage/layout.js +++ b/js/stage/layout.js | |||
@@ -64,31 +64,17 @@ exports.Layout = Montage.create(Component, { | |||
64 | 64 | ||
65 | handleOpenDocument: { | 65 | handleOpenDocument: { |
66 | value: function() { | 66 | value: function() { |
67 | // Initial elements to draw is the entire node list | 67 | // Initial elements to draw are the childrens of the root element |
68 | if(this.application.ninja.documentController.activeDocument.currentView === "design"){//only for designer view | 68 | if(this.application.ninja.documentController.activeDocument.currentView === "design") { |
69 | this.elementsToDraw = this.application.ninja.documentController.activeDocument._liveNodeList; | 69 | this.elementsToDraw = this.application.ninja.documentController.activeDocument.documentRoot.childNodes; |
70 | } | 70 | } |
71 | |||
71 | // Draw the elements and the 3d info | 72 | // Draw the elements and the 3d info |
72 | this.draw(); | 73 | this.draw(); |
73 | this.draw3DInfo(false); | 74 | this.draw3DInfo(false); |
74 | } | 75 | } |
75 | }, | 76 | }, |
76 | 77 | ||
77 | // No need to keep track of the added elements. We now have a live node list of the dom | ||
78 | handleElementAdded: { | ||
79 | value: function(event) { | ||
80 | // this.domTree.push(event.detail); | ||
81 | // this.draw(); | ||
82 | // this.draw3DInfo(false); | ||
83 | } | ||
84 | }, | ||
85 | |||
86 | handleElementDeleted: { | ||
87 | value: function(event) { | ||
88 | //this.domTree.splice(this.domTree.indexOf(event.detail), 1); | ||
89 | } | ||
90 | }, | ||
91 | |||
92 | // Redraw stage only once after all deletion is completed | 78 | // Redraw stage only once after all deletion is completed |
93 | handleDeleteSelection: { | 79 | handleDeleteSelection: { |
94 | value: function(event) { | 80 | value: function(event) { |
@@ -99,14 +85,25 @@ exports.Layout = Montage.create(Component, { | |||
99 | 85 | ||
100 | handleSelectionChange: { | 86 | handleSelectionChange: { |
101 | value: function(event) { | 87 | value: function(event) { |
88 | var containerIndex; | ||
102 | 89 | ||
103 | if(this.application.ninja.documentController.activeDocument === null){ | 90 | if(this.application.ninja.documentController.activeDocument === null){ |
104 | return; | 91 | return; |
105 | } | 92 | } |
106 | 93 | ||
107 | // Make an array copy of the line node list which is not an array like object | 94 | if(this.application.ninja.documentController.activeDocument.currentView === "design"){ |
108 | if(this.application.ninja.documentController.activeDocument.currentView === "design"){//only for designer view | 95 | // Make an array copy of the line node list which is not an array like object |
109 | this.domTree = Array.prototype.slice.call(this.application.ninja.documentController.activeDocument._liveNodeList, 0); | 96 | this.domTree = Array.prototype.slice.call(this.application.ninja.documentController.activeDocument._liveNodeList, 0); |
97 | // Index of the current container | ||
98 | containerIndex = this.domTree.indexOf(this.application.ninja.currentSelectedContainer); | ||
99 | |||
100 | if(containerIndex < 0) { | ||
101 | // Stage is the container. | ||
102 | this.domTree = Array.prototype.slice.call(this.application.ninja.currentSelectedContainer.childNodes, 0); | ||
103 | } else { | ||
104 | // Child nodes of the container | ||
105 | this.domTree = Array.prototype.slice.call(this.domTree[containerIndex].childNodes, 0); | ||
106 | } | ||
110 | } | 107 | } |
111 | // Clear the elements to draw | 108 | // Clear the elements to draw |
112 | this.elementsToDraw.length = 0; | 109 | this.elementsToDraw.length = 0; |
@@ -119,10 +116,10 @@ exports.Layout = Montage.create(Component, { | |||
119 | return (tmp.indexOf(value) === -1); | 116 | return (tmp.indexOf(value) === -1); |
120 | }); | 117 | }); |
121 | } else { | 118 | } else { |
122 | this.elementsToDraw = this.domTree; | 119 | this.elementsToDraw = Array.prototype.slice.call(this.domTree, 0); |
123 | } | 120 | } |
124 | 121 | ||
125 | this.draw(); // Not a reel yet :) | 122 | this.draw(); // Not a reel yet |
126 | this.draw3DInfo(false); | 123 | this.draw3DInfo(false); |
127 | 124 | ||
128 | // Clear the domTree copy | 125 | // Clear the domTree copy |