aboutsummaryrefslogtreecommitdiff
path: root/js/stage/stage.reel
diff options
context:
space:
mode:
authorArmen Kesablyan2012-06-19 00:45:26 -0700
committerArmen Kesablyan2012-06-19 00:45:26 -0700
commitc59eb371559a3061ce53223e249ca97daace5968 (patch)
treef9540e26c0f273d35f92010605da65dd85bbe70c /js/stage/stage.reel
parent0f040acabfb7a4bf3138debec5aff869487ceb11 (diff)
parent918a4f5870e972b6e4e301c3237e065a1ffd26f5 (diff)
downloadninja-c59eb371559a3061ce53223e249ca97daace5968.tar.gz
Merge branch 'master' of github.com:Motorola-Mobility/ninja-internal
Diffstat (limited to 'js/stage/stage.reel')
-rwxr-xr-xjs/stage/stage.reel/stage.js265
1 files changed, 221 insertions, 44 deletions
diff --git a/js/stage/stage.reel/stage.js b/js/stage/stage.reel/stage.js
index 30ee1e40..fce73882 100755
--- a/js/stage/stage.reel/stage.js
+++ b/js/stage/stage.reel/stage.js
@@ -11,6 +11,11 @@ var Montage = require("montage/core/core").Montage,
11 11
12exports.Stage = Montage.create(Component, { 12exports.Stage = Montage.create(Component, {
13 13
14 appModel: {
15 value: null,
16 serializable: true
17 },
18
14 // TODO - Need to figure out how to remove this dependency 19 // TODO - Need to figure out how to remove this dependency
15 // Needed by some tools that depend on selectionDrawn event to set up some logic 20 // Needed by some tools that depend on selectionDrawn event to set up some logic
16 drawNow: { value : false }, 21 drawNow: { value : false },
@@ -22,7 +27,10 @@ exports.Stage = Montage.create(Component, {
22 _canvasDrawingPrefs: { value: { "thickness" : 1.0, "color" : "#000" } }, 27 _canvasDrawingPrefs: { value: { "thickness" : 1.0, "color" : "#000" } },
23 drawingContextPreferences: { get: function() { return this._canvasDrawingPrefs; } }, 28 drawingContextPreferences: { get: function() { return this._canvasDrawingPrefs; } },
24 29
25 _iframeContainer: { value: null }, 30 _iframeContainer: {
31 value: null,
32 serializable: true
33 },
26 34
27 _scrollFlag: {value: true, writable: true}, 35 _scrollFlag: {value: true, writable: true},
28 outFlag: { value: false, writable: true }, 36 outFlag: { value: false, writable: true },
@@ -88,29 +96,82 @@ exports.Stage = Montage.create(Component, {
88 }, 96 },
89 97
90 /** MAIN CANVASES **/ 98 /** MAIN CANVASES **/
91 _canvas: { value: null }, // selection bounds, 3d normals and the overall 3d selection box use this canvas 99 // selection bounds, 3d normals and the overall 3d selection box use this canvas
92 canvas: { get: function() { return this._canvas; } }, 100 _canvas: {
101 value: null,
102 serializable: true
103 },
104
105 canvas: {
106 get: function() {
107 return this._canvas;
108 }
109 },
93 110
94 _context: { value: null }, 111 _context: { value: null },
95 context: { get: function() { return this._context; } }, 112 context: { get: function() { return this._context; } },
96 113
97 _layoutCanvas: { value: null }, 114 _layoutCanvas: {
98 layoutCanvas: { get: function() { return this._layoutCanvas; } }, 115 value: null,
116 serializable: true
117 },
99 118
100 _gridCanvas: { value: null }, 119 layoutCanvas: {
101 gridCanvas: { get: function() { return this._gridCanvas; } }, 120 get: function() {
121 return this._layoutCanvas;
122 }
123 },
124
125 _gridCanvas: {
126 value: null,
127 serializable: true
128 },
129
130 gridCanvas: {
131 get: function() {
132 return this._gridCanvas;
133 }
134 },
102 135
103 _gridContext: { value: null }, 136 _gridContext: { value: null },
104 gridContext: { get: function() { return this._gridContext; } }, 137 gridContext: { get: function() { return this._gridContext; } },
105 138
106 _drawingCanvas: { value: null }, 139 _drawingCanvas: {
107 drawingCanvas: { get: function() { return this._drawingCanvas; } }, 140 value: null,
141 serializable: true
142 },
143
144 drawingCanvas: {
145 get: function() {
146 return this._drawingCanvas;
147 }
148 },
108 149
109 _drawingContext: { value: null }, 150 _drawingContext: { value: null },
110 drawingContext: { get: function() { return this._drawingContext; } }, 151 drawingContext: { get: function() { return this._drawingContext; } },
111 152
112 _clickPoint: { value: { x: { value: null }, y: { value: null } } }, 153 _clickPoint: { value: { x: { value: null }, y: { value: null } } },
113 154
155 stageDeps: {
156 value: null,
157 serializable: true
158 },
159
160 layout: {
161 value: null,
162 serializable: true
163 },
164
165 textTool: {
166 value: null,
167 serializable: true
168 },
169
170 focusManager: {
171 value: null,
172 serializable: true
173 },
174
114 // We will set this to false while moving objects to improve performance 175 // We will set this to false while moving objects to improve performance
115 showSelectionBounds: { value: true }, 176 showSelectionBounds: { value: true },
116 177
@@ -182,6 +243,13 @@ exports.Stage = Montage.create(Component, {
182 if(this.currentDocument && (this.currentDocument.currentView === "design")) { 243 if(this.currentDocument && (this.currentDocument.currentView === "design")) {
183 this.currentDocument.model.scrollLeft = this._scrollLeft; 244 this.currentDocument.model.scrollLeft = this._scrollLeft;
184 this.currentDocument.model.scrollTop = this._scrollTop; 245 this.currentDocument.model.scrollTop = this._scrollTop;
246 this.currentDocument.model.userPaddingLeft = this._userPaddingLeft;
247 this.currentDocument.model.userPaddingTop = this._userPaddingTop;
248 this.currentDocument.model.documentOffsetLeft = this._documentOffsetLeft;
249 this.currentDocument.model.documentOffsetTop = this._documentOffsetTop;
250 this.currentDocument.model.userContentLeft = this._userContentLeft;
251 this.currentDocument.model.userContentTop = this._userContentTop;
252
185 //call configure false with the old document on the selected tool to tear down down any temp. stuff 253 //call configure false with the old document on the selected tool to tear down down any temp. stuff
186 this.application.ninja.toolsData.selectedToolInstance._configure(false); 254 this.application.ninja.toolsData.selectedToolInstance._configure(false);
187 } 255 }
@@ -277,9 +345,6 @@ exports.Stage = Montage.create(Component, {
277 345
278 this.eventManager.addEventListener( "appMouseUp", this, false); 346 this.eventManager.addEventListener( "appMouseUp", this, false);
279 347
280
281 this.eventManager.addEventListener( "openDocument", this, false);
282 this.eventManager.addEventListener( "switchDocument", this, false);
283 this.eventManager.addEventListener( "enableStageMove", this, false); 348 this.eventManager.addEventListener( "enableStageMove", this, false);
284 this.eventManager.addEventListener( "disableStageMove", this, false); 349 this.eventManager.addEventListener( "disableStageMove", this, false);
285 350
@@ -287,19 +352,9 @@ exports.Stage = Montage.create(Component, {
287 this.eventManager.addEventListener( "elementChanging", this, false); 352 this.eventManager.addEventListener( "elementChanging", this, false);
288 this.eventManager.addEventListener( "elementChange", this, false); 353 this.eventManager.addEventListener( "elementChange", this, false);
289 354
290 } 355 this.addPropertyChangeListener("currentDocument.model.domContainer", this, true);
291 }, 356// this.addPropertyChangeListener("currentDocument.model.domContainer", this);
292
293 // Event details will contain the active document prior to opening a new one
294 handleOpenDocument: {
295 value: function(evt) {
296 this.initWithDocument();
297 }
298 },
299 357
300 handleSwitchDocument: {
301 value: function(evt) {
302 this.initWithDocument(true);
303 } 358 }
304 }, 359 },
305 360
@@ -311,6 +366,23 @@ exports.Stage = Montage.create(Component, {
311 366
312 if(model.scrollLeft != null) { 367 if(model.scrollLeft != null) {
313 didSwitch = true; 368 didSwitch = true;
369 this._userPaddingLeft = this.currentDocument.model.userPaddingLeft;
370 this._userPaddingTop = this.currentDocument.model.userPaddingTop;
371 this._documentOffsetLeft = this.currentDocument.model.documentOffsetLeft;
372 this._documentOffsetTop = this.currentDocument.model.documentOffsetTop;
373 this._userContentLeft = this.currentDocument.model.userContentLeft;
374 this._userContentTop = this.currentDocument.model.userContentTop;
375 this._scrollLeft = this.currentDocument.model.scrollLeft;
376 this._scrollTop = this.currentDocument.model.scrollTop;
377 } else {
378 this._userPaddingLeft = 0;
379 this._userPaddingTop = 0;
380 this._documentOffsetLeft = 0;
381 this._documentOffsetTop = 0;
382 this._userContentLeft = 0;
383 this._userContentTop = 0;
384 this._scrollLeft = 0;
385 this._scrollTop = 0;
314 } 386 }
315 387
316 // Recalculate the canvas sizes because of splitter resizing 388 // Recalculate the canvas sizes because of splitter resizing
@@ -321,19 +393,7 @@ exports.Stage = Montage.create(Component, {
321 393
322 this.addPropertyChangeListener("appModel.show3dGrid", this, false); 394 this.addPropertyChangeListener("appModel.show3dGrid", this, false);
323 395
324 this._userPaddingLeft = 0; 396 this.initialize3DOnOpenDocument(!didSwitch);
325 this._userPaddingTop = 0;
326
327 this._documentOffsetLeft = 0;
328 this._documentOffsetTop = 0;
329
330 this._userContentLeft = 0;
331 this._userContentTop = 0;
332
333 this._scrollLeft = 0;
334 this._scrollTop = 0;
335
336 this.initialize3DOnOpenDocument();
337 397
338 if(designView._template) { 398 if(designView._template) {
339 var initialLeft = parseInt((this.canvas.width - designView._template.size.width)/2); 399 var initialLeft = parseInt((this.canvas.width - designView._template.size.width)/2);
@@ -378,6 +438,17 @@ exports.Stage = Montage.create(Component, {
378 this.updatedStage = true; 438 this.updatedStage