diff options
Diffstat (limited to 'js/panels/properties.reel')
3 files changed, 63 insertions, 3 deletions
diff --git a/js/panels/properties.reel/properties.js b/js/panels/properties.reel/properties.js index 40e9b86a..ca720ae7 100755 --- a/js/panels/properties.reel/properties.js +++ b/js/panels/properties.reel/properties.js | |||
@@ -147,8 +147,12 @@ exports.Properties = Montage.create(Component, { | |||
147 | value: function(event) { | 147 | value: function(event) { |
148 | // console.log("Element Change PI ", event.detail.source); // If the event comes from the pi don't need to update | 148 | // console.log("Element Change PI ", event.detail.source); // If the event comes from the pi don't need to update |
149 | if(event.detail.source && event.detail.source !== "pi") { | 149 | if(event.detail.source && event.detail.source !== "pi") { |
150 | var el = this.application.ninja.currentDocument.documentRoot; | ||
151 | if(this.application.ninja.selectedElements.length) { | ||
152 | el = this.application.ninja.selectedElements[0]._element || this.application.ninja.selectedElements[0]; | ||
153 | } | ||
154 | |||
150 | // TODO - This should only update the properties that were changed. | 155 | // TODO - This should only update the properties that were changed. |
151 | var el = this.application.ninja.selectedElements[0]._element || this.application.ninja.selectedElements[0]; | ||
152 | this.positionSize.leftPosition = parseFloat(ElementsMediator.getProperty(el, "left")); | 156 | this.positionSize.leftPosition = parseFloat(ElementsMediator.getProperty(el, "left")); |
153 | this.positionSize.topPosition = parseFloat(ElementsMediator.getProperty(el, "top")); | 157 | this.positionSize.topPosition = parseFloat(ElementsMediator.getProperty(el, "top")); |
154 | this.positionSize.heightSize = parseFloat(ElementsMediator.getProperty(el, "height")); | 158 | this.positionSize.heightSize = parseFloat(ElementsMediator.getProperty(el, "height")); |
@@ -196,6 +200,19 @@ exports.Properties = Montage.create(Component, { | |||
196 | this.positionSize.heightSize = parseFloat(ElementsMediator.getProperty(stage, "height")); | 200 | this.positionSize.heightSize = parseFloat(ElementsMediator.getProperty(stage, "height")); |
197 | this.positionSize.widthSize = parseFloat(ElementsMediator.getProperty(stage, "width")); | 201 | this.positionSize.widthSize = parseFloat(ElementsMediator.getProperty(stage, "width")); |
198 | 202 | ||
203 | if(this.threeD.inGlobalMode) | ||
204 | { | ||
205 | this.threeD.xAngle = ElementsMediator.get3DProperty(stage, "xAngle"); | ||
206 | this.threeD.yAngle = ElementsMediator.get3DProperty(stage, "yAngle"); | ||
207 | this.threeD.zAngle = ElementsMediator.get3DProperty(stage, "zAngle"); | ||
208 | } | ||
209 | |||
210 | if(ElementsMediator.getProperty(stage, "-webkit-transform-style") === "preserve-3d") { | ||
211 | this.threeD.flatten = false; | ||
212 | } else { | ||
213 | this.threeD.flatten = true; | ||
214 | } | ||
215 | |||
199 | if(this.customPi !== stage.elementModel.pi) { | 216 | if(this.customPi !== stage.elementModel.pi) { |
200 | // We need to unregister color chips from the previous selection from the Color Model | 217 | // We need to unregister color chips from the previous selection from the Color Model |
201 | var len = this.customSections.length; | 218 | var len = this.customSections.length; |
@@ -260,6 +277,11 @@ exports.Properties = Montage.create(Component, { | |||
260 | this.positionSize.heightSize = parseFloat(ElementsMediator.getProperty(el, "height")); | 277 | this.positionSize.heightSize = parseFloat(ElementsMediator.getProperty(el, "height")); |
261 | this.positionSize.widthSize = parseFloat(ElementsMediator.getProperty(el, "width")); | 278 | this.positionSize.widthSize = parseFloat(ElementsMediator.getProperty(el, "width")); |
262 | 279 | ||
280 | if(ElementsMediator.getProperty(el, "-webkit-transform-style") === "preserve-3d") { | ||
281 | this.threeD.flatten = false; | ||
282 | } else { | ||
283 | this.threeD.flatten = true; | ||
284 | } | ||
263 | 285 | ||
264 | if(this.threeD.inGlobalMode) | 286 | if(this.threeD.inGlobalMode) |
265 | { | 287 | { |
diff --git a/js/panels/properties.reel/sections/three-d-view.reel/three-d-view.html b/js/panels/properties.reel/sections/three-d-view.reel/three-d-view.html index 18a7369e..b6c25baf 100755 --- a/js/panels/properties.reel/sections/three-d-view.reel/three-d-view.html +++ b/js/panels/properties.reel/sections/three-d-view.reel/three-d-view.html | |||
@@ -22,7 +22,8 @@ No rights, expressed or implied, whatsoever to this software are provided by Mot | |||
22 | "xAngleControl": {"@": "threeDRotX"}, | 22 | "xAngleControl": {"@": "threeDRotX"}, |
23 | "yAngleControl": {"@": "threeDRotY"}, | 23 | "yAngleControl": {"@": "threeDRotY"}, |
24 | "zAngleControl": {"@": "threeDRotZ"}, | 24 | "zAngleControl": {"@": "threeDRotZ"}, |
25 | "axisModeGroupControl": {"@": "axisModeGroup"} | 25 | "axisModeGroupControl": {"@": "axisModeGroup"}, |
26 | "flattenControl": {"@": "flattenCheckbox"} | ||
26 | } | 27 | } |
27 | }, | 28 | }, |
28 | 29 | ||
@@ -242,6 +243,29 @@ No rights, expressed or implied, whatsoever to this software are provided by Mot | |||
242 | "value": "Global", | 243 | "value": "Global", |
243 | "group": {"@": "axisModeGroup"} | 244 | "group": {"@": "axisModeGroup"} |
244 | } | 245 | } |
246 | }, | ||
247 | "flattenCheckbox": { | ||
248 | "module": "montage/ui/checkbox.reel", | ||
249 | "name": "Checkbox", | ||
250 | "properties": { | ||
251 | "element": {"#": "flattenCh"}, | ||
252 | "identifier": "flatten", | ||
253 | "checked": false | ||
254 | }, | ||
255 | "bindings": { | ||
256 | "checked": { | ||
257 | "boundObject": {"@": "owner"}, | ||
258 | "boundObjectPropertyPath": "flatten", | ||
259 | "oneway": false | ||
260 | } | ||
261 | }, | ||
262 | "listeners": [ | ||
263 | { | ||
264 | "type": "action", | ||
265 | "listener": {"@": "owner"}, | ||
266 | "capture": false | ||
267 | } | ||
268 | ] | ||
245 | } | 269 | } |
246 | } | 270 | } |
247 | </script> | 271 | </script> |
@@ -335,7 +359,7 @@ No rights, expressed or implied, whatsoever to this software are provided by Mot | |||
335 | <article class="fieldRow oneCol checkbox"> | 359 | <article class="fieldRow oneCol checkbox"> |
336 | <div> | 360 | <div> |
337 | <div class="inputField"> | 361 | <div class="inputField"> |
338 | <input class="nj-skinned" type="checkbox" /> | 362 | <input id="flattenCh" class="nj-skinned" type="checkbox" /> |
339 | </div> | 363 | </div> |
340 | <div> | 364 | <div> |
341 | <label> Flatten</label> | 365 | <label> Flatten</label> |
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 35591afa..0d3d111d 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 | |||
@@ -79,6 +79,10 @@ exports.ThreeD = Montage.create(Component, { | |||
79 | value: 0 | 79 | value: 0 |
80 | }, | 80 | }, |
81 | 81 | ||
82 | flatten: { | ||
83 | value: false | ||
84 | }, | ||
85 | |||
82 | _disableTranslation: { | 86 | _disableTranslation: { |
83 | value: true | 87 | value: true |
84 | }, | 88 | }, |
@@ -107,6 +111,16 @@ exports.ThreeD = Montage.create(Component, { | |||
107 | value: null | 111 | value: null |
108 | }, | 112 | }, |
109 | 113 | ||
114 | handleAction: { | ||
115 | value: function(event) { | ||
116 | if(event.currentTarget.identifier === "flatten") { | ||
117 | this.application.ninja.elementMediator.setProperty([this.item], | ||
118 | "-webkit-transform-style", | ||
119 | event.currentTarget.checked ? ["flat"] : ["preserve-3d"]); | ||
120 | } | ||
121 | } | ||
122 | }, | ||
123 | |||
110 | handleChange: { | 124 | handleChange: { |
111 | value: function(event) { | 125 | value: function(event) { |
112 | if(event.wasSetByCode) { | 126 | if(event.wasSetByCode) { |