diff options
author | Ananya Sen | 2012-02-28 15:15:27 -0800 |
---|---|---|
committer | Ananya Sen | 2012-02-28 15:15:27 -0800 |
commit | 5ab7efb9949e486395659c383064a08821febdae (patch) | |
tree | 69c91481dee42ab59dca874815d0d283bf52e8c4 /js | |
parent | 676b4e2d7091ac63ce06f51be686b902b940bfff (diff) | |
download | ninja-5ab7efb9949e486395659c383064a08821febdae.tar.gz |
persist selections while switching documents
Signed-off-by: Ananya Sen <Ananya.Sen@motorola.com>
Diffstat (limited to 'js')
-rwxr-xr-x | js/controllers/selection-controller.js | 9 | ||||
-rwxr-xr-x | js/document/html-document.js | 6 | ||||
-rwxr-xr-x | js/panels/properties/content.reel/content.js | 10 |
3 files changed, 22 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 75628731..0e74914a 100755 --- a/js/document/html-document.js +++ b/js/document/html-document.js | |||
@@ -677,7 +677,7 @@ exports.HTMLDocument = Montage.create(TextDocument, { | |||
677 | this.gridVerticalSpacing = this.application.ninja.stage.drawUtils.gridVerticalSpacing; | 677 | this.gridVerticalSpacing = this.application.ninja.stage.drawUtils.gridVerticalSpacing; |
678 | 678 | ||
679 | if(typeof this.application.ninja.selectedElements !== 'undefined'){ | 679 | if(typeof this.application.ninja.selectedElements !== 'undefined'){ |
680 | this.selectionModel = this.application.ninja.selectedElements; | 680 | this.selectionModel = this.application.ninja.selectedElements.slice(0); |
681 | } | 681 | } |
682 | 682 | ||
683 | this.draw3DGrid = this.application.ninja.appModel.show3dGrid; | 683 | this.draw3DGrid = this.application.ninja.appModel.show3dGrid; |
@@ -691,8 +691,8 @@ exports.HTMLDocument = Montage.create(TextDocument, { | |||
691 | this.application.ninja.stage.drawUtils.gridHorizontalSpacing = this.gridHorizontalSpacing; | 691 | this.application.ninja.stage.drawUtils.gridHorizontalSpacing = this.gridHorizontalSpacing; |
692 | this.application.ninja.stage.drawUtils.gridVerticalSpacing = this.gridVerticalSpacing; | 692 | this.application.ninja.stage.drawUtils.gridVerticalSpacing = this.gridVerticalSpacing; |
693 | 693 | ||
694 | if((typeof this.selectionModel !== 'undefined') && (this.selectionModel !== null) && (this.selectionModel.length > 0)){ | 694 | if((typeof this.selectionModel !== 'undefined') && (this.selectionModel !== null)){ |
695 | this.application.ninja.selectionController.initWithDocument(this.selectionModel); | 695 | this.application.ninja.selectedElements = this.selectionModel.slice(0); |
696 | } | 696 | } |
697 | 697 | ||
698 | if((this.savedLeftScroll!== null) && (this.savedTopScroll !== null)){ | 698 | 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..9b9b7108 100755 --- a/js/panels/properties/content.reel/content.js +++ b/js/panels/properties/content.reel/content.js | |||
@@ -55,6 +55,7 @@ exports.Content = Montage.create(Component, { | |||
55 | } | 55 | } |
56 | 56 | ||
57 | this.eventManager.addEventListener("openDocument", this, false); | 57 | this.eventManager.addEventListener("openDocument", this, false); |
58 | this.eventManager.addEventListener("switchDocument", this, false); | ||
58 | } | 59 | } |
59 | }, | 60 | }, |
60 | 61 | ||
@@ -74,6 +75,15 @@ exports.Content = Montage.create(Component, { | |||
74 | } | 75 | } |
75 | }, | 76 | }, |
76 | 77 | ||
78 | handleSwitchDocument: { | ||
79 | value: function(){ | ||
80 | // For now always assume that the stage is selected by default | ||
81 | if(this.application.ninja.selectedElements.length === 0) { | ||
82 | this.displayStageProperties(); | ||
83 | } | ||
84 | } | ||
85 | }, | ||
86 | |||
77 | /** | 87 | /** |
78 | * Blur and Key up to handle change in the Element ID field. | 88 | * Blur and Key up to handle change in the Element ID field. |
79 | */ | 89 | */ |