diff options
Diffstat (limited to 'js/panels/properties.reel')
-rwxr-xr-x | js/panels/properties.reel/properties.js | 49 | ||||
-rwxr-xr-x | js/panels/properties.reel/sections/three-d-view.reel/three-d-view.js | 91 |
2 files changed, 69 insertions, 71 deletions
diff --git a/js/panels/properties.reel/properties.js b/js/panels/properties.reel/properties.js index 84b0d589..4b663220 100755 --- a/js/panels/properties.reel/properties.js +++ b/js/panels/properties.reel/properties.js | |||
@@ -13,6 +13,34 @@ 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 | enumerable : false | ||
19 | }, | ||
20 | |||
21 | currentDocument : { | ||
22 | get : function() { | ||
23 | return this._currentDocument; | ||
24 | }, | ||
25 | set : function(value) { | ||
26 | if (value === this._currentDocument) { | ||
27 | return; | ||
28 | } | ||
29 | |||
30 | this._currentDocument = value; | ||
31 | |||
32 | if(!value) { | ||
33 | this.clear(); | ||
34 | } else if(this._currentDocument.currentView === "design") { | ||
35 | // Save a reference of the pi inside the document view to be able to clear | ||
36 | this._currentDocument.model.views.design.propertiesPanel = this; | ||
37 | |||
38 | // Display the default document root PI | ||
39 | this.displayElementProperties(this._currentDocument.model.documentRoot); | ||
40 | } | ||
41 | } | ||
42 | }, | ||
43 | |||
16 | elementName: { | 44 | elementName: { |
17 | value: null | 45 | value: null |
18 | }, | 46 | }, |
@@ -46,9 +74,8 @@ exports.Properties = Montage.create(Component, { | |||
46 | 74 | ||
47 | prepareForDraw: { | 75 | prepareForDraw: { |
48 | value : function() { | 76 | value : function() { |
49 | this.eventManager.addEventListener("openDocument", this, false); | 77 | this.eventManager.addEventListener("elementChange", this, false); |
50 | this.eventManager.addEventListener("selectionChange", this, false); | 78 | this.eventManager.addEventListener("selectionChange", this, false); |
51 | this.eventManager.addEventListener("closeDocument", this, false); | ||
52 | 79 | ||
53 | // This will be a toggle option | 80 | // This will be a toggle option |
54 | if(this.application.ninja.appData.PILiveUpdate) { | 81 | if(this.application.ninja.appData.PILiveUpdate) { |
@@ -65,24 +92,6 @@ exports.Properties = Montage.create(Component, { | |||
65 | } | 92 | } |
66 | }, | 93 | }, |
67 | 94 | ||
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 | /** | 95 | /** |
87 | * Blur and Key up to handle change in the Element ID field. | 96 | * Blur and Key up to handle change in the Element ID field. |
88 | */ | 97 | */ |
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..0320c327 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 | var curMat = this._curMat; |
162 | var delta = value.value; | 149 | var delta = value.value; |
163 | if(inGlobalMode) | 150 | if(inGlobalMode) { |
164 | { | 151 | |
165 | if(!this._curProp) | 152 | if(!this._curProp) { |
166 | { | ||
167 | this._curProp = this.application.ninja.elementMediator.get3DProperty(item, prop); | 153 | this._curProp = this.application.ninja.elementMediator.get3DProperty(item, prop); |
168 | } | 154 | } |
155 | |||
169 | delta -= this._curProp; | 156 | delta -= this._curProp; |
170 | } | 157 | } |
171 | 158 | ||
@@ -193,31 +180,47 @@ exports.ThreeD = Montage.create(Component, { | |||
193 | } | 180 | } |
194 | 181 | ||
195 | var mat = []; | 182 | var mat = []; |
196 | if(inGlobalMode) | 183 | if(inGlobalMode) { |
197 | { | ||
198 | glmat4.multiply(xFormMat, curMat, mat); | 184 | glmat4.multiply(xFormMat, curMat, mat); |
199 | } | 185 | } else { |
200 | else | ||
201 | { | ||
202 | glmat4.multiply(curMat, xFormMat, mat); | 186 | glmat4.multiply(curMat, xFormMat, mat); |
203 | } | 187 | } |
204 | 188 | ||
205 | if(isChanging) | 189 | if(isChanging) { |
206 | { | ||
207 | this.application.ninja.elementMediator.setMatrix(item, mat, true); | 190 | this.application.ninja.elementMediator.setMatrix(item, mat, true); |
208 | } | 191 | } else { |
209 | else | ||
210 | { | ||
211 | this.application.ninja.elementMediator.setMatrix(item, mat, false); |