diff options
author | Ananya Sen | 2012-02-28 15:07:49 -0800 |
---|---|---|
committer | Ananya Sen | 2012-02-28 15:07:49 -0800 |
commit | 1766c6b17e2311fcd21c2be6608c7dcdc0a9b23a (patch) | |
tree | 62cb29918a12ef27b760f4300c79ef46bc8fbddd | |
parent | 866df4801b9e77a0155ffbfb87adbc79a94ce9a5 (diff) | |
download | ninja-1766c6b17e2311fcd21c2be6608c7dcdc0a9b23a.tar.gz |
persist selections while switching documents
Signed-off-by: Ananya Sen <Ananya.Sen@motorola.com>
-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 | 11 |
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 | */ |