diff options
Diffstat (limited to 'js/panels/properties')
4 files changed, 67 insertions, 1 deletions
diff --git a/js/panels/properties/content.reel/content.js b/js/panels/properties/content.reel/content.js index 8fa33a75..72c02ffd 100755 --- a/js/panels/properties/content.reel/content.js +++ b/js/panels/properties/content.reel/content.js | |||
@@ -55,6 +55,7 @@ exports.Content = Montage.create(Component, { | |||
55 | } | 55 | } |
56 | 56 | ||
57 | this.eventManager.addEventListener("openDocument", this, false); | 57 | this.eventManager.addEventListener("openDocument", this, false); |
58 | this.eventManager.addEventListener("switchDocument", this, false); | ||
58 | } | 59 | } |
59 | }, | 60 | }, |
60 | 61 | ||
@@ -74,6 +75,21 @@ exports.Content = Montage.create(Component, { | |||
74 | } | 75 | } |
75 | }, | 76 | }, |
76 | 77 | ||
78 | handleSwitchDocument: { | ||
79 | value: function(){ | ||
80 | // For now always assume that the stage is selected by default | ||
81 | if(this.application.ninja.selectedElements.length === 0) { | ||
82 | this.displayStageProperties(); | ||
83 | }else { | ||
84 | if(this.application.ninja.selectedElements.length === 1) { | ||
85 | this.displayElementProperties(this.application.ninja.selectedElements[0]._element); | ||
86 | } else { | ||
87 | this.displayGroupProperties(this.application.ninja.selectedElements); | ||
88 | } | ||
89 | } | ||
90 | } | ||
91 | }, | ||
92 | |||
77 | /** | 93 | /** |
78 | * Blur and Key up to handle change in the Element ID field. | 94 | * Blur and Key up to handle change in the Element ID field. |
79 | */ | 95 | */ |
@@ -156,6 +172,17 @@ exports.Content = Montage.create(Component, { | |||
156 | this.positionSize.widthSize = parseFloat(ElementsMediator.getProperty(stage, "width")); | 172 | this.positionSize.widthSize = parseFloat(ElementsMediator.getProperty(stage, "width")); |
157 | 173 | ||
158 | if(this.customPi !== stage.elementModel.pi) { | 174 | if(this.customPi !== stage.elementModel.pi) { |
175 | // We need to unregister color chips from the previous selection from the Color Model | ||
176 | var len = this.customSections.length; | ||
177 | for(var n = 0, controls; n < len; n++) { | ||
178 | controls = this.customSections[n].content.controls; | ||
179 | if(controls["colorSelect"]) { | ||
180 | controls["colorSelect"].destroy(); | ||
181 | } else if(controls["stageBackground"]) { | ||
182 | controls["stageBackground"].destroy(); | ||
183 | } | ||
184 | } | ||
185 | |||
159 | this.customPi = stage.elementModel.pi; | 186 | this.customPi = stage.elementModel.pi; |
160 | this.displayCustomProperties(stage, stage.elementModel.pi); | 187 | this.displayCustomProperties(stage, stage.elementModel.pi); |
161 | } | 188 | } |
@@ -221,6 +248,17 @@ exports.Content = Montage.create(Component, { | |||
221 | 248 | ||
222 | // Custom Section | 249 | // Custom Section |
223 | if(this.customPi !== el.elementModel.pi) { | 250 | if(this.customPi !== el.elementModel.pi) { |
251 | // We need to unregister color chips from the previous selection from the Color Model | ||
252 | var len = this.customSections.length; | ||
253 | for(var n = 0, controls; n < len; n++) { | ||
254 | controls = this.customSections[n].content.controls; | ||
255 | if(controls["colorSelect"]) { | ||
256 | controls["colorSelect"].destroy(); | ||
257 | } else if(controls["stageBackground"]) { | ||
258 | controls["stageBackground"].destroy(); | ||
259 | } | ||
260 | } | ||
261 | |||
224 | this.customPi = el.elementModel.pi; | 262 | this.customPi = el.elementModel.pi; |
225 | this.displayCustomProperties(el, el.elementModel.pi); | 263 | this.displayCustomProperties(el, el.elementModel.pi); |
226 | } | 264 | } |
diff --git a/js/panels/properties/sections/custom-rows/color-select.reel/color-select.html b/js/panels/properties/sections/custom-rows/color-select.reel/color-select.html index 9c2588b9..96cc4de7 100755 --- a/js/panels/properties/sections/custom-rows/color-select.reel/color-select.html +++ b/js/panels/properties/sections/custom-rows/color-select.reel/color-select.html | |||
@@ -14,7 +14,9 @@ | |||
14 | "properties" : { | 14 | "properties" : { |
15 | "element" : {"#": "section"}, | 15 | "element" : {"#": "section"}, |
16 | "Stroke" : {"#": "Stroke"}, | 16 | "Stroke" : {"#": "Stroke"}, |
17 | "Fill" : {"#": "Fill"} | 17 | "Fill" : {"#": "Fill"}, |
18 | "strokeChip" : {"@": "colorChip"}, | ||
19 | "fillChip" : {"@": "colorChip2"} | ||
18 | } | 20 | } |
19 | }, | 21 | }, |
20 | 22 | ||
diff --git a/js/panels/properties/sections/custom-rows/color-select.reel/color-select.js b/js/panels/properties/sections/custom-rows/color-select.reel/color-select.js index 60f8efef..3e81ff67 100755 --- a/js/panels/properties/sections/custom-rows/color-select.reel/color-select.js +++ b/js/panels/properties/sections/custom-rows/color-select.reel/color-select.js | |||
@@ -17,6 +17,14 @@ exports.ColorSelect = Montage.create(Component, { | |||
17 | value: null | 17 | value: null |
18 | }, | 18 | }, |
19 | 19 | ||
20 | strokeChip: { | ||
21 | value: null | ||
22 | }, | ||
23 | |||
24 | fillChip: { | ||
25 | value: null | ||
26 | }, | ||
27 | |||
20 | handleChange: { | 28 | handleChange: { |
21 | value: function(e) { | 29 | value: function(e) { |
22 | 30 | ||
@@ -57,6 +65,19 @@ exports.ColorSelect = Montage.create(Component, { | |||
57 | // } | 65 | // } |
58 | 66 | ||
59 | } | 67 | } |
68 | }, | ||
69 | |||
70 | destroy: { | ||
71 | value: function() { | ||
72 | if(this.strokeChip) | ||
73 | { | ||
74 | this.strokeChip.destroy(); | ||
75 | } | ||
76 | if(this.fillChip) | ||
77 | { | ||
78 | this.fillChip.destroy(); | ||
79 | } | ||
80 | } | ||
60 | } | 81 | } |
61 | 82 | ||
62 | }); \ No newline at end of file | 83 | }); \ No newline at end of file |
diff --git a/js/panels/properties/sections/custom.reel/custom.js b/js/panels/properties/sections/custom.reel/custom.js index a2b9b9fa..a537d323 100755 --- a/js/panels/properties/sections/custom.reel/custom.js +++ b/js/panels/properties/sections/custom.reel/custom.js | |||
@@ -59,6 +59,8 @@ exports.CustomSection = Montage.create(Component, { | |||
59 | if(obj1.visible === false) tmpRow.colorVisible = obj1.visible; | 59 | if(obj1.visible === false) tmpRow.colorVisible = obj1.visible; |
60 | if(obj2.visible === false) tmpRow.color2Visible = obj2.visible; | 60 | if(obj2.visible === false) tmpRow.color2Visible = obj2.visible; |
61 | 61 | ||
62 | // TODO - Hack for now to reference the color select object to unregister color chips | ||
63 | this.controls["colorSelect"] = tmpRow; | ||
62 | } | 64 | } |
63 | else | 65 | else |
64 | { | 66 | { |
@@ -344,6 +346,9 @@ exports.CustomSection = Montage.create(Component, { | |||
344 | 346 | ||
345 | this.controls[aField.id] = obj; | 347 | this.controls[aField.id] = obj; |
346 | 348 | ||
349 | // TODO - Hack for now to reference the color select object to unregister color chips | ||
350 | this.controls["stageBackground"] = obj; | ||
351 | |||
347 | return obj; | 352 | return obj; |
348 | } | 353 | } |
349 | } | 354 | } |