aboutsummaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
authorAnanya Sen2012-02-28 15:07:49 -0800
committerAnanya Sen2012-02-28 15:07:49 -0800
commit1766c6b17e2311fcd21c2be6608c7dcdc0a9b23a (patch)
tree62cb29918a12ef27b760f4300c79ef46bc8fbddd /js
parent866df4801b9e77a0155ffbfb87adbc79a94ce9a5 (diff)
downloadninja-1766c6b17e2311fcd21c2be6608c7dcdc0a9b23a.tar.gz
persist selections while switching documents
Signed-off-by: Ananya Sen <Ananya.Sen@motorola.com>
Diffstat (limited to 'js')
-rwxr-xr-xjs/controllers/selection-controller.js9
-rwxr-xr-xjs/document/html-document.js6
-rwxr-xr-xjs/panels/properties/content.reel/content.js11
3 files changed, 23 insertions, 3 deletions
diff --git a/js/controllers/selection-controller.js b/js/controllers/selection-controller.js
index f50762f3..62313960 100755
--- a/js/controllers/selection-controller.js
+++ b/js/controllers/selection-controller.js
@@ -47,6 +47,7 @@ exports.SelectionController = Montage.create(Component, {
47 this.eventManager.addEventListener("elementDeleted", this, false); 47 this.eventManager.addEventListener("elementDeleted", this, false);
48 this.eventManager.addEventListener("selectAll", this, false); 48 this.eventManager.addEventListener("selectAll", this, false);
49 this.eventManager.addEventListener("deleteSelection", this, false); 49 this.eventManager.addEventListener("deleteSelection", this, false);
50 this.eventManager.addEventListener("switchDocument", this, false);
50// defaultEventManager.addEventListener( "undo", this, false); 51// defaultEventManager.addEventListener( "undo", this, false);
51// defaultEventManager.addEventListener( "redo", this, false); 52// defaultEventManager.addEventListener( "redo", this, false);
52 } 53 }
@@ -88,6 +89,14 @@ exports.SelectionController = Montage.create(Component, {
88 } 89 }
89 }, 90 },
90 91
92 handleSwitchDocument: {
93 value: function() {
94 this._selectedItems = this.application.ninja.selectedElements.slice(0);
95 this._isDocument = false;
96 NJevent("selectionChange", {"elements": this.application.ninja.selectedElements, "isDocument": this._isDocument} );
97 }
98 },
99
91 handleElementAdded: { 100 handleElementAdded: {
92 value: function(event) { 101 value: function(event) {
93 this.executeSelectElement(event.detail); 102 this.executeSelectElement(event.detail);
diff --git a/js/document/html-document.js b/js/document/html-document.js
index 111c491d..aac03606 100755
--- a/js/document/html-document.js
+++ b/js/document/html-document.js
@@ -698,7 +698,7 @@ exports.HTMLDocument = Montage.create(TextDocument, {
698 this.gridVerticalSpacing = this.application.ninja.stage.drawUtils.gridVerticalSpacing; 698 this.gridVerticalSpacing = this.application.ninja.stage.drawUtils.gridVerticalSpacing;
699 699
700 if(typeof this.application.ninja.selectedElements !== 'undefined'){ 700 if(typeof this.application.ninja.selectedElements !== 'undefined'){
701 this.selectionModel = this.application.ninja.selectedElements; 701 this.selectionModel = this.application.ninja.selectedElements.slice(0);
702 } 702 }
703 703
704 this.draw3DGrid = this.application.ninja.appModel.show3dGrid; 704 this.draw3DGrid = this.application.ninja.appModel.show3dGrid;
@@ -717,8 +717,8 @@ exports.HTMLDocument = Montage.create(TextDocument, {
717 this.application.ninja.stage.drawUtils.gridHorizontalSpacing = this.gridHorizontalSpacing; 717 this.application.ninja.stage.drawUtils.gridHorizontalSpacing = this.gridHorizontalSpacing;
718 this.application.ninja.stage.drawUtils.gridVerticalSpacing = this.gridVerticalSpacing; 718 this.application.ninja.stage.drawUtils.gridVerticalSpacing = this.gridVerticalSpacing;
719 719
720 if((typeof this.selectionModel !== 'undefined') && (this.selectionModel !== null) && (this.selectionModel.length > 0)){ 720 if((typeof this.selectionModel !== 'undefined') && (this.selectionModel !== null)){
721 this.application.ninja.selectionController.initWithDocument(this.selectionModel); 721 this.application.ninja.selectedElements = this.selectionModel.slice(0);
722 } 722 }
723 723
724 if((this.savedLeftScroll!== null) && (this.savedTopScroll !== null)){ 724 if((this.savedLeftScroll!== null) && (this.savedTopScroll !== null)){
diff --git a/js/panels/properties/content.reel/content.js b/js/panels/properties/content.reel/content.js
index 8fa33a75..e92fbcb2 100755
--- a/js/panels/properties/content.reel/content.js
+++ b/js/panels/properties/content.reel/content.js
@@ -55,6 +55,8 @@ exports.Content = Montage.create(Component, {
55 } 55 }
56 56
57 this.eventManager.addEventListener("openDocument", this, false); 57 this.eventManager.addEventListener("openDocument", this, false);
58
59 this.eventManager.addEventListener("switchDocument", this, false);
58 } 60 }
59 }, 61 },
60 62
@@ -74,6 +76,15 @@ exports.Content = Montage.create(Component, {
74 } 76 }
75 }, 77 },
76 78
79 handleSwitchDocument: {
80 value: function(){
81 // For now always assume that the stage is selected by default
82 if(this.application.ninja.selectedElements.length === 0) {
83 this.displayStageProperties();
84 }
85 }
86 },
87
77 /** 88 /**
78 * Blur and Key up to handle change in the Element ID field. 89 * Blur and Key up to handle change in the Element ID field.
79 */ 90 */