diff options
Diffstat (limited to 'js/panels/Timeline/PropertyTrack.reel')
-rw-r--r-- | js/panels/Timeline/PropertyTrack.reel/PropertyTrack.js | 42 |
1 files changed, 41 insertions, 1 deletions
diff --git a/js/panels/Timeline/PropertyTrack.reel/PropertyTrack.js b/js/panels/Timeline/PropertyTrack.reel/PropertyTrack.js index b2683d30..8c8112ad 100644 --- a/js/panels/Timeline/PropertyTrack.reel/PropertyTrack.js +++ b/js/panels/Timeline/PropertyTrack.reel/PropertyTrack.js | |||
@@ -192,6 +192,7 @@ var PropertyTrack = exports.PropertyTrack = Montage.create(Component, { | |||
192 | this.trackID = this.timelineTrack.trackID; | 192 | this.trackID = this.timelineTrack.trackID; |
193 | this.animatedElement = this.timelineTrack.animatedElement; | 193 | this.animatedElement = this.timelineTrack.animatedElement; |
194 | this.ninjaStylesContoller = this.application.ninja.stylesController; | 194 | this.ninjaStylesContoller = this.application.ninja.stylesController; |
195 | this.eventManager.addEventListener("tlZoomSlider", this, false); | ||
195 | } | 196 | } |
196 | }, | 197 | }, |
197 | 198 | ||
@@ -274,6 +275,45 @@ var PropertyTrack = exports.PropertyTrack = Montage.create(Component, { | |||
274 | } | 275 | } |
275 | }, | 276 | }, |
276 | 277 | ||
278 | handleTlZoomSlider: { | ||
279 | value: function(event) { | ||
280 | |||
281 | var currentMilliSecPerPixel , currentMilliSec , clickPos,thingToPush; | ||
282 | var i = 0, | ||
283 | tweensLength = this.propTweens.length; | ||
284 | |||
285 | for (i = 0; i < tweensLength; i++) { | ||
286 | |||
287 | if (i === 0) { | ||
288 | // Exception: 0th item does not depend on anything | ||
289 | // If 0th tween is draggable, this will need to be fixed. | ||
290 | this.propTweens[i].tweenData.spanWidth=0; | ||
291 | this.propTweens[i].tweenData.spanPosition=0; | ||
292 | this.propTweens[i].tweenData.keyFramePosition=0; | ||
293 | this.propTweens[i].tweenData.keyFrameMillisec=0; | ||
294 | |||
295 | } else { | ||
296 | var prevKeyFramePosition = this.propTweens[i - 1].tweenData.keyFramePosition, | ||
297 | myObj = {}, | ||
298 | thing = {}; | ||
299 | |||
300 | currentMilliSecPerPixel = Math.floor(this.application.ninja.timeline.millisecondsOffset / 80); | ||
301 | currentMilliSec = this.propTweens[i].tweenData.keyFrameMillisec; | ||
302 | clickPos = currentMilliSec / currentMilliSecPerPixel; | ||
303 | |||
304 | for (thing in this.propTweens[i].tweenData) { | ||
305 | myObj[thing] = this.propTweens[i].tweenData[thing]; | ||
306 | } | ||
307 | myObj.spanWidth = clickPos - prevKeyFramePosition; | ||
308 | myObj.keyFramePosition = clickPos; | ||
309 | myObj.spanPosition = clickPos - (clickPos - prevKeyFramePosition); | ||
310 | |||
311 | this.propTweens[i].tweenData = myObj; | ||
312 | } | ||
313 | } | ||
314 | } | ||
315 | }, | ||
316 | |||
277 | /* End: Event Handlers */ | 317 | /* End: Event Handlers */ |
278 | 318 | ||
279 | /* Begin: Controllers */ | 319 | /* Begin: Controllers */ |
@@ -303,7 +343,7 @@ var PropertyTrack = exports.PropertyTrack = Montage.create(Component, { | |||
303 | newTween; | 343 | newTween; |
304 | 344 | ||
305 | selectedIndex = this.application.ninja.timeline.getLayerIndexByID(this.trackID); | 345 | selectedIndex = this.application.ninja.timeline.getLayerIndexByID(this.trackID); |
306 | this.application.ninja.timeline.selectLayer(selectedIndex, true); | 346 | this.application.ninja.timeline.selectLayers([selectedIndex]); |
307 | 347 | ||
308 | currentMillisecPerPixel = Math.floor(this.application.ninja.timeline.millisecondsOffset / 80); | 348 | currentMillisecPerPixel = Math.floor(this.application.ninja.timeline.millisecondsOffset / 80); |
309 | currentMillisec = currentMillisecPerPixel * clickPos; | 349 | currentMillisec = currentMillisecPerPixel * clickPos; |