aboutsummaryrefslogtreecommitdiff
path: root/js/panels/properties.reel
diff options
context:
space:
mode:
Diffstat (limited to 'js/panels/properties.reel')
-rwxr-xr-xjs/panels/properties.reel/properties.js24
-rwxr-xr-xjs/panels/properties.reel/sections/three-d-view.reel/three-d-view.html28
-rwxr-xr-xjs/panels/properties.reel/sections/three-d-view.reel/three-d-view.js14
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) {