diff options
author | Valerio Virgillito | 2012-06-04 10:20:57 -0700 |
---|---|---|
committer | Valerio Virgillito | 2012-06-04 10:20:57 -0700 |
commit | c1ec69879028220b0c3f11ad6e24035bf527802c (patch) | |
tree | 043bfe4ec9e08f4f598a4845ae5fbcddacc7c8fb /js/panels/properties.reel | |
parent | 3abba04025dbc0daadb08184833a2558c442b8e1 (diff) | |
parent | 266460e52831c5b3a3473be420756fd88bb8aced (diff) | |
download | ninja-c1ec69879028220b0c3f11ad6e24035bf527802c.tar.gz |
Merge pull request #264 from mencio/document-bindings-fix
Document bindings fix - Changing the documents architecture to use bindings instead of events
Diffstat (limited to 'js/panels/properties.reel')
-rwxr-xr-x | js/panels/properties.reel/properties.html | 5 | ||||
-rwxr-xr-x | js/panels/properties.reel/properties.js | 64 | ||||
-rwxr-xr-x | js/panels/properties.reel/sections/three-d-view.reel/three-d-view.js | 95 |
3 files changed, 92 insertions, 72 deletions
diff --git a/js/panels/properties.reel/properties.html b/js/panels/properties.reel/properties.html index ac0dab5a..b9aa206b 100755 --- a/js/panels/properties.reel/properties.html +++ b/js/panels/properties.reel/properties.html | |||
@@ -56,7 +56,10 @@ | |||
56 | } | 56 | } |
57 | }, | 57 | }, |
58 | "threeDProperties": { | 58 | "threeDProperties": { |
59 | "prototype": "js/panels/properties.reel/sections/three-d-view.reel[ThreeD]" | 59 | "prototype": "js/panels/properties.reel/sections/three-d-view.reel[ThreeD]", |
60 | "bindings": { | ||
61 | "currentDocument": {"<-": "@owner.currentDocument"} | ||
62 | } | ||
60 | }, | 63 | }, |
61 | 64 | ||
62 | "CustomSections": { | 65 | "CustomSections": { |
diff --git a/js/panels/properties.reel/properties.js b/js/panels/properties.reel/properties.js index 84b0d589..934a3851 100755 --- a/js/panels/properties.reel/properties.js +++ b/js/panels/properties.reel/properties.js | |||
@@ -13,6 +13,35 @@ var ElementsMediator = require("js/mediators/element-mediator").ElementMediator; | |||
13 | 13 | ||
14 | exports.Properties = Montage.create(Component, { | 14 | exports.Properties = Montage.create(Component, { |
15 | 15 | ||
16 | _currentDocument: { | ||
17 | value : null | ||
18 | }, | ||
19 | |||
20 | currentDocument : { | ||
21 | get : function() { | ||
22 | return this._currentDocument; | ||
23 | }, | ||
24 | set : function(value) { | ||
25 | if (value === this._currentDocument) { | ||
26 | return; | ||
27 | } | ||
28 | |||
29 | this._currentDocument = value; | ||
30 | |||
31 | // if(!value) { | ||
32 | this.clear(); | ||
33 | // } | ||
34 | |||
35 | /* | ||
36 | else if(this._currentDocument.currentView === "design") { | ||
37 | // Display the default document root PI | ||
38 | //this.displayElementProperties(this._currentDocument.model.documentRoot); | ||
39 | // this.displaySelection(this._currentDocument.model.selection); | ||
40 | } | ||
41 | */ | ||
42 | } | ||
43 | }, | ||
44 | |||
16 | elementName: { | 45 | elementName: { |
17 | value: null | 46 | value: null |
18 | }, | 47 | }, |
@@ -46,9 +75,8 @@ exports.Properties = Montage.create(Component, { | |||
46 | 75 | ||
47 | prepareForDraw: { | 76 | prepareForDraw: { |
48 | value : function() { | 77 | value : function() { |
49 | this.eventManager.addEventListener("openDocument", this, false); | 78 | this.eventManager.addEventListener("elementChange", this, false); |
50 | this.eventManager.addEventListener("selectionChange", this, false); | 79 | this.eventManager.addEventListener("selectionChange", this, false); |
51 | this.eventManager.addEventListener("closeDocument", this, false); | ||
52 | 80 | ||
53 | // This will be a toggle option | 81 | // This will be a toggle option |
54 | if(this.application.ninja.appData.PILiveUpdate) { | 82 | if(this.application.ninja.appData.PILiveUpdate) { |
@@ -65,24 +93,6 @@ exports.Properties = Montage.create(Component, { | |||
65 | } | 93 | } |
66 | }, | 94 | }, |
67 | 95 | ||
68 | handleOpenDocument: { | ||
69 | value: function() { | ||
70 | this.eventManager.addEventListener( "elementChange", this, false); | ||
71 | |||
72 | // Save a reference of the pi inside the document view to be able to clear | ||
73 | this.application.ninja.currentDocument.model.views.design.propertiesPanel = this; | ||
74 | |||
75 | // Display the default document root PI | ||
76 | this.displayElementProperties(this.application.ninja.currentDocument.model.documentRoot); | ||
77 | } | ||
78 | }, | ||
79 | |||
80 | handleCloseDocument: { | ||
81 | value: function(){ | ||
82 | this.clear(); | ||
83 | } | ||
84 | }, | ||
85 | |||
86 | /** | 96 | /** |
87 | * Blur and Key up to handle change in the Element ID field. | 97 | * Blur and Key up to handle change in the Element ID field. |
88 | */ | 98 | */ |
@@ -173,6 +183,20 @@ exports.Properties = Montage.create(Component, { | |||
173 | } | 183 | } |
174 | }, | 184 | }, |
175 | 185 | ||
186 | displaySelection: { | ||
187 | value: function(selection) { | ||
188 | if(selection.length === 0) { | ||
189 | this.displayElementProperties(this._currentDocument.model.documentRoot); | ||
190 | } else { | ||
191 | if(selection.length === 1) { | ||
192 | this.displayElementProperties(this.application.ninja.selectedElements[0]); | ||
193 | } else { | ||
194 | this.displayGroupProperties(this.application.ninja.selectedElements); | ||
195 | } | ||
196 | } | ||
197 | } | ||
198 | }, | ||
199 | |||
176 | clear: { | 200 | clear: { |
177 | value: function() { | 201 | value: function() { |
178 | this.elementName.value = ""; | 202 | this.elementName.value = ""; |
diff --git a/js/panels/properties.reel/sections/three-d-view.reel/three-d-view.js b/js/panels/properties.reel/sections/three-d-view.reel/three-d-view.js index e16e3509..104d474d 100755 --- a/js/panels/properties.reel/sections/three-d-view.reel/three-d-view.js +++ b/js/panels/properties.reel/sections/three-d-view.reel/three-d-view.js | |||
@@ -26,8 +26,7 @@ exports.ThreeD = Montage.create(Component, { | |||
26 | set: function(value) { | 26 | set: function(value) { |
27 | this._axisMode = value; | 27 | this._axisMode = value; |
28 | 28 | ||
29 | if(value === 0) | 29 | if(value === 0) { |
30 | { | ||
31 | this.inGlobalMode = false; | 30 | this.inGlobalMode = false; |
32 | this.x3D = 0; | 31 | this.x3D = 0; |
33 | this.y3D = 0; | 32 | this.y3D = 0; |
@@ -36,13 +35,10 @@ exports.ThreeD = Montage.create(Component, { | |||
36 | this.xAngle = 0; | 35 | this.xAngle = 0; |
37 | this.yAngle = 0; | 36 | this.yAngle = 0; |
38 | this.zAngle = 0; | 37 | this.zAngle = 0; |
39 | } | 38 | } else { |
40 | else | ||
41 | { | ||
42 | this.inGlobalMode = true; | 39 | this.inGlobalMode = true; |
43 | var item = this.item; | 40 | var item = this.item; |
44 | if(item) | 41 | if(item) { |
45 | { | ||
46 | this.x3D = item.elementModel.props3D.x3D; | 42 | this.x3D = item.elementModel.props3D.x3D; |
47 | this.y3D = item.elementModel.props3D.y3D; | 43 | this.y3D = item.elementModel.props3D.y3D; |
48 | this.z3D = item.elementModel.props3D.z3D; | 44 | this.z3D = item.elementModel.props3D.z3D; |
@@ -114,8 +110,7 @@ exports.ThreeD = Montage.create(Component, { | |||
114 | handleAction: { | 110 | handleAction: { |
115 | value: function(event) { | 111 | value: function(event) { |
116 | if(event.currentTarget.identifier === "flatten") { | 112 | if(event.currentTarget.identifier === "flatten") { |
117 | this.application.ninja.elementMediator.setProperty([this.item], | 113 | this.application.ninja.elementMediator.setProperty([this.item], "-webkit-transform-style", |
118 | "-webkit-transform-style", | ||
119 | event.currentTarget.checked ? ["flat"] : ["preserve-3d"]); | 114 | event.currentTarget.checked ? ["flat"] : ["preserve-3d"]); |
120 | } | 115 | } |
121 | } | 116 | } |
@@ -127,11 +122,7 @@ exports.ThreeD = Montage.create(Component, { | |||
127 | return; | 122 | return; |
128 | } | 123 | } |
129 | 124 | ||
130 | this.apply3DProperties(event.currentTarget.identifier, | 125 | this.apply3DProperties(event.currentTarget.identifier, event.currentTarget, this.item, this.inGlobalMode, false); |
131 | event.currentTarget, | ||
132 | this.item, | ||
133 | this.inGlobalMode, | ||
134 | false); | ||
135 | 126 | ||
136 | this._curMat = null; | 127 | this._curMat = null; |
137 | this._curProp = null; | 128 | this._curProp = null; |
@@ -144,28 +135,24 @@ exports.ThreeD = Montage.create(Component, { | |||
144 | return; | 135 | return; |
145 | } | 136 | } |
146 | 137 | ||
147 | this.apply3DProperties(event.currentTarget.identifier, | 138 | this.apply3DProperties(event.currentTarget.identifier, event.currentTarget, this.item, this.inGlobalMode, true); |
148 | event.currentTarget, | ||
149 | this.item, | ||
150 | this.inGlobalMode, | ||
151 | true); | ||
152 | } | 139 | } |
153 | }, | 140 | }, |
154 | 141 | ||
155 | apply3DProperties : { | 142 | apply3DProperties : { |
156 | value : function(prop, value, item, inGlobalMode, isChanging){ | 143 | value : function(prop, value, item, inGlobalMode, isChanging){ |
157 | if(!this._curMat) | 144 | if(!this._curMat) { |
158 | { | ||
159 | this._curMat = this.application.ninja.elementMediator.getMatrix(item); | 145 | this._curMat = this.application.ninja.elementMediator.getMatrix(item); |
160 | } | 146 | } |
147 | |||
161 | var curMat = this._curMat; | 148 |