diff options
Diffstat (limited to 'js/stage/stage.reel/stage.js')
-rwxr-xr-x | js/stage/stage.reel/stage.js | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/js/stage/stage.reel/stage.js b/js/stage/stage.reel/stage.js index 817220d4..883f1526 100755 --- a/js/stage/stage.reel/stage.js +++ b/js/stage/stage.reel/stage.js | |||
@@ -349,6 +349,9 @@ exports.Stage = Montage.create(Component, { | |||
349 | 349 | ||
350 | //call configure false with the old document on the selected tool to tear down down any temp. stuff | 350 | //call configure false with the old document on the selected tool to tear down down any temp. stuff |
351 | this.application.ninja.toolsData.selectedToolInstance._configure(false); | 351 | this.application.ninja.toolsData.selectedToolInstance._configure(false); |
352 | |||
353 | // Remove the change listener | ||
354 | this._currentDocument.removePropertyChangeListener("model.currentViewIdentifier", this, false); | ||
352 | } else if(this.currentDocument && (this.currentDocument.currentView === "code")) { | 355 | } else if(this.currentDocument && (this.currentDocument.currentView === "code")) { |
353 | this.switchedFromCodeDoc = true; // Switching from code document affects stage's size and scrollbar | 356 | this.switchedFromCodeDoc = true; // Switching from code document affects stage's size and scrollbar |
354 | } | 357 | } |
@@ -368,6 +371,8 @@ exports.Stage = Montage.create(Component, { | |||
368 | 371 | ||
369 | this.clearAllCanvas(); | 372 | this.clearAllCanvas(); |
370 | this.initWithDocument(); | 373 | this.initWithDocument(); |
374 | |||
375 | this._currentDocument.addPropertyChangeListener("model.currentViewIdentifier", this, false); | ||
371 | } else { | 376 | } else { |
372 | this.collapseAllPanels(); | 377 | this.collapseAllPanels(); |
373 | this.hideCanvas(true); | 378 | this.hideCanvas(true); |
@@ -376,6 +381,26 @@ exports.Stage = Montage.create(Component, { | |||
376 | } | 381 | } |
377 | }, | 382 | }, |
378 | 383 | ||
384 | handleDocumentViewChange: { | ||
385 | value: function() { | ||
386 | if(this.currentDocument.model.currentView.identifier === "design-code") { | ||
387 | drawUtils._eltArray.length = 0; | ||
388 | drawUtils._planesArray.length = 0; | ||
389 | |||
390 | this.collapseAllPanels(); | ||
391 | this.hideRulers(); | ||
392 | this.hideCanvas(true); | ||
393 | } else { | ||
394 | this.restoreAllPanels(true); | ||
395 | this.hideCanvas(false); | ||
396 | this.showRulers(); | ||
397 | |||
398 | this.clearAllCanvas(); | ||
399 | this.initWithDocument(); | ||
400 | } | ||
401 | } | ||
402 | }, | ||
403 | |||
379 | _userPaddingLeft: { value: 0 }, | 404 | _userPaddingLeft: { value: 0 }, |
380 | _userPaddingTop: { value: 0 }, | 405 | _userPaddingTop: { value: 0 }, |
381 | 406 | ||
@@ -492,8 +517,6 @@ exports.Stage = Montage.create(Component, { | |||
492 | this.eventManager.addEventListener( "elementChange", this, false); | 517 | this.eventManager.addEventListener( "elementChange", this, false); |
493 | 518 | ||
494 | this.addPropertyChangeListener("currentDocument.model.domContainer", this, true); | 519 | this.addPropertyChangeListener("currentDocument.model.domContainer", this, true); |
495 | // this.addPropertyChangeListener("currentDocument.model.domContainer", this); | ||
496 | |||
497 | } | 520 | } |
498 | }, | 521 | }, |
499 | 522 | ||
@@ -586,6 +609,8 @@ exports.Stage = Montage.create(Component, { | |||
586 | drawUtils.drawXZ = false; | 609 | drawUtils.drawXZ = false; |
587 | this.updatedStage = true; | 610 | this.updatedStage = true; |
588 | } | 611 | } |
612 | } else if(notification.currentPropertyPath === "model.currentViewIdentifier") { | ||
613 | this.handleDocumentViewChange(); | ||
589 | } | 614 | } |
590 | /* | 615 | /* |
591 | else if(notification.currentPropertyPath === "currentDocument.model.domContainer") { | 616 | else if(notification.currentPropertyPath === "currentDocument.model.domContainer") { |