diff options
Diffstat (limited to 'js/panels/properties.reel/sections')
3 files changed, 47 insertions, 15 deletions
diff --git a/js/panels/properties.reel/sections/custom.reel/custom.js b/js/panels/properties.reel/sections/custom.reel/custom.js index 9df16112..c599dcb0 100755 --- a/js/panels/properties.reel/sections/custom.reel/custom.js +++ b/js/panels/properties.reel/sections/custom.reel/custom.js | |||
@@ -233,6 +233,12 @@ exports.CustomSection = Montage.create(Component, { | |||
233 | boundObjectPropertyPath: "value" | 233 | boundObjectPropertyPath: "value" |
234 | }); | 234 | }); |
235 | 235 | ||
236 | //Bind object value to controls list so it can be manipulated | ||
237 | Object.defineBinding(this.controls, aField.id + "Units", { | ||
238 | boundObject: obj, | ||
239 | boundObjectPropertyPath: "units" | ||
240 | }); | ||
241 | |||
236 | return obj; | 242 | return obj; |
237 | } | 243 | } |
238 | }, | 244 | }, |
diff --git a/js/panels/properties.reel/sections/position-size.reel/position-size.html b/js/panels/properties.reel/sections/position-size.reel/position-size.html index ccc7a159..d322f826 100755 --- a/js/panels/properties.reel/sections/position-size.reel/position-size.html +++ b/js/panels/properties.reel/sections/position-size.reel/position-size.html | |||
@@ -29,9 +29,12 @@ No rights, expressed or implied, whatsoever to this software are provided by Mot | |||
29 | "properties": { | 29 | "properties": { |
30 | "element": {"#": "PosX"}, | 30 | "element": {"#": "PosX"}, |
31 | "maxValue": 10000, | 31 | "maxValue": 10000, |
32 | "minValue": -10000 | 32 | "minValue": -10000, |
33 | "acceptableUnits" : ["px", "%"], | ||
34 | "units": "px" | ||
33 | }, | 35 | }, |
34 | "bindings": { | 36 | "bindings": { |
37 | "units": {"<->": "@owner.leftUnits"}, | ||
35 | "value": {"<->": "@owner.leftPosition"} | 38 | "value": {"<->": "@owner.leftPosition"} |
36 | } | 39 | } |
37 | }, | 40 | }, |
@@ -40,9 +43,12 @@ No rights, expressed or implied, whatsoever to this software are provided by Mot | |||
40 | "properties": { | 43 | "properties": { |
41 | "element": {"#": "PosY"}, | 44 | "element": {"#": "PosY"}, |
42 | "maxValue": 10000, | 45 | "maxValue": 10000, |
43 | "minValue": -10000 | 46 | "minValue": -10000, |
47 | "acceptableUnits" : ["px", "%"], | ||
48 | "units": "px" | ||
44 | }, | 49 | }, |
45 | "bindings": { | 50 | "bindings": { |
51 | "units": {"<->": "@owner.topUnits"}, | ||
46 | "value": {"<->": "@owner.topPosition"} | 52 | "value": {"<->": "@owner.topPosition"} |
47 | } | 53 | } |
48 | }, | 54 | }, |
@@ -50,9 +56,12 @@ No rights, expressed or implied, whatsoever to this software are provided by Mot | |||
50 | "PosH": { | 56 | "PosH": { |
51 | "prototype": "js/components/hottextunit.reel[HotTextUnit]", | 57 | "prototype": "js/components/hottextunit.reel[HotTextUnit]", |
52 | "properties": { | 58 | "properties": { |
53 | "element": {"#": "PosH"} | 59 | "element": {"#": "PosH"}, |
60 | "acceptableUnits" : ["px", "%"], | ||
61 | "units": "px" | ||
54 | }, | 62 | }, |
55 | "bindings": { | 63 | "bindings": { |
64 | "units": {"<->": "@owner.heightUnits"}, | ||
56 | "value": {"<->": "@owner.heightSize"} | 65 | "value": {"<->": "@owner.heightSize"} |
57 | } | 66 | } |
58 | }, | 67 | }, |
@@ -65,6 +74,7 @@ No rights, expressed or implied, whatsoever to this software are provided by Mot | |||
65 | "units": "px" | 74 | "units": "px" |
66 | }, | 75 | }, |
67 | "bindings": { | 76 | "bindings": { |
77 | "units": {"<->": "@owner.widthUnits"}, | ||
68 | "value": {"<->": "@owner.widthSize"} | 78 | "value": {"<->": "@owner.widthSize"} |
69 | } | 79 | } |
70 | 80 | ||
diff --git a/js/panels/properties.reel/sections/position-size.reel/position-size.js b/js/panels/properties.reel/sections/position-size.reel/position-size.js index fef2b195..94c0bbf2 100755 --- a/js/panels/properties.reel/sections/position-size.reel/position-size.js +++ b/js/panels/properties.reel/sections/position-size.reel/position-size.js | |||
@@ -53,17 +53,33 @@ exports.PositionSize = Montage.create(Component, { | |||
53 | value: 0 | 53 | value: 0 |
54 | }, | 54 | }, |
55 | 55 | ||
56 | leftUnits: { | ||
57 | value: "px" | ||
58 | }, | ||
59 | |||
56 | topPosition: { | 60 | topPosition: { |
57 | value: 0 | 61 | value: 0 |
58 | }, | 62 | }, |
59 | 63 | ||
64 | topUnits: { | ||
65 | value: "px" | ||
66 | }, | ||
67 | |||
60 | heightSize: { | 68 | heightSize: { |
61 | value: 0 | 69 | value: 0 |
62 | }, | 70 | }, |
63 | 71 | ||
72 | heightUnits: { | ||
73 | value: "px" | ||
74 | }, | ||
75 | |||
64 | widthSize: { | 76 | widthSize: { |
65 | value: 0 | 77 | value: 0 |
66 | }, | 78 | }, |
79 | |||
80 | widthUnits: { | ||
81 | value: "px" | ||
82 | }, | ||
67 | /* | 83 | /* |
68 | widthSize: { | 84 | widthSize: { |
69 | get: function() { return this._widthSize;}, | 85 | get: function() { return this._widthSize;}, |
@@ -173,7 +189,7 @@ exports.PositionSize = Montage.create(Component, { | |||
173 | if(!event.wasSetByCode) { | 189 | if(!event.wasSetByCode) { |
174 | if(this.savedPosition) prevPosition = [this.savedPosition + "px"]; | 190 | if(this.savedPosition) prevPosition = [this.savedPosition + "px"]; |
175 | 191 | ||
176 | this.application.ninja.elementMediator.setProperty(this.application.ninja.selectedElements, "left", [this.leftControl.value + "px"] , "Change", "pi", prevPosition); | 192 | this.application.ninja.elementMediator.setProperty(this.application.ninja.selectedElements, "left", [this.leftControl.value + this.leftControl.units] , "Change", "pi", prevPosition); |
177 | this.savedPosition = null; | 193 | this.savedPosition = null; |
178 | } | 194 | } |
179 | } | 195 | } |
@@ -186,7 +202,7 @@ exports.PositionSize = Montage.create(Component, { | |||
186 | if(!event.wasSetByCode) { | 202 | if(!event.wasSetByCode) { |
187 | if(this.savedPosition) prevPosition = [this.savedPosition + "px"]; | 203 | if(this.savedPosition) prevPosition = [this.savedPosition + "px"]; |
188 | 204 | ||
189 | this.application.ninja.elementMediator.setProperty(this.application.ninja.selectedElements, "top", [this.topControl.value + "px"] , "Change", "pi", prevPosition); | 205 | this.application.ninja.elementMediator.setProperty(this.application.ninja.selectedElements, "top", [this.topControl.value + this.topControl.units] , "Change", "pi", prevPosition); |
190 | this.savedPosition = null; | 206 | this.savedPosition = null; |
191 | } | 207 | } |
192 | } | 208 | } |
@@ -197,7 +213,7 @@ exports.PositionSize = Montage.create(Component, { | |||
197 | var prevPosition, items; | 213 | var prevPosition, items; |
198 | 214 | ||
199 | if(!event.wasSetByCode) { | 215 | if(!event.wasSetByCode) { |
200 | if(this.savedPosition) prevPosition = [this.savedPosition + "px"]; | 216 | if(this.savedPosition) prevPosition = [this.savedPosition]; |
201 | 217 | ||
202 | this.application.ninja.selectedElements.length ? items = this.application.ninja.selectedElements : items = [this.application.ninja.currentDocument.model.documentRoot]; | 218 | this.application.ninja.selectedElements.length ? items = this.application.ninja.selectedElements : items = [this.application.ninja.currentDocument.model.documentRoot]; |
203 | 219 | ||
@@ -211,7 +227,7 @@ exports.PositionSize = Montage.create(Component, { | |||
211 | this.application.ninja.elementMediator.setProperty(items, "width", [newWidth + "px"] , "Change", "pi"); | 227 | this.application.ninja.elementMediator.setProperty(items, "width", [newWidth + "px"] , "Change", "pi"); |
212 | } | 228 | } |
213 | 229 | ||
214 | this.application.ninja.elementMediator.setProperty(items, "height", [this.heightControl.value + "px"] , "Change", "pi", prevPosition); | 230 | this.application.ninja.elementMediator.setProperty(items, "height", [this.heightControl.value + this.heightControl.units] , "Change", "pi", prevPosition); |
215 | this.savedPosition = null; | 231 | this.savedPosition = null; |
216 | } | 232 | } |
217 | } | 233 | } |
@@ -222,7 +238,7 @@ exports.PositionSize = Montage.create(Component, { | |||
222 | var prevPosition, items; | 238 | var prevPosition, items; |
223 | 239 | ||
224 | if(!event.wasSetByCode) { | 240 | if(!event.wasSetByCode) { |
225 | if(this.savedPosition) prevPosition = [this.savedPosition + "px"]; | 241 | if(this.savedPosition) prevPosition = [this.savedPosition]; |
226 | 242 | ||
227 | this.application.ninja.selectedElements.length ? items = this.application.ninja.selectedElements : items = [this.application.ninja.currentDocument.model.documentRoot]; | 243 | this.application.ninja.selectedElements.length ? items = this.application.ninja.selectedElements : items = [this.application.ninja.currentDocument.model.documentRoot]; |
228 | 244 | ||
@@ -237,7 +253,7 @@ exports.PositionSize = Montage.create(Component, { | |||
237 | 253 | ||
238 | } | 254 | } |
239 | 255 | ||
240 | this.application.ninja.elementMediator.setProperty(items, "width", [this.widthControl.value + "px"] , "Change", "pi", prevPosition); | 256 | this.application.ninja.elementMediator.setProperty(items, "width", [this.widthControl.value + this.widthControl.units] , "Change", "pi", prevPosition); |
241 | this.savedPosition = null; | 257 | this.savedPosition = null; |
242 | 258 | ||
243 | } | 259 | } |
@@ -249,7 +265,7 @@ exports.PositionSize = Montage.create(Component, { | |||
249 | value: function(event) { |