aboutsummaryrefslogtreecommitdiff
path: root/js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js
diff options
context:
space:
mode:
authorJonathan Duran2012-02-23 07:37:17 -0800
committerJonathan Duran2012-02-23 07:37:17 -0800
commitb7402018659cf8058d5646c08b2a916492269e33 (patch)
tree26ffeeaae45bbaaca9931e747e9532c1831c50fd /js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js
parentcc295dd0fb873505eed01c232bd987cf6e2dcdd9 (diff)
downloadninja-b7402018659cf8058d5646c08b2a916492269e33.tar.gz
Timeline Reset to clean Master branch. Code scrub.
Fresh copy of ninja-internal/master with Timeline folder copied in to resolved merge issues. Signed-off-by: Jonathan Duran <jduran@motorola.com>
Diffstat (limited to 'js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js')
-rw-r--r--[-rwxr-xr-x]js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js102
1 files changed, 71 insertions, 31 deletions
diff --git a/js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js b/js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js
index 07fee19d..43e758f4 100755..100644
--- a/js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js
+++ b/js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js
@@ -65,6 +65,22 @@ var TimelinePanel = exports.TimelinePanel = Montage.create(Component, {
65 value:1000 65 value:1000
66 }, 66 },
67 67
68 _masterDuration:{
69 serializable: true,
70 value:0
71 },
72
73 masterDuration:{
74 serializable:true,
75 get:function(){
76 return this._masterDuration;
77 },
78 set:function(val){
79 this._masterDuration = val;
80 this.timebar.style.width = (this._masterDuration / 12) + "px";
81 }
82 },
83
68 _arrTracks:{ 84 _arrTracks:{
69 serializable:true, 85 serializable:true,
70 value:[] 86 value:[]
@@ -109,6 +125,20 @@ var TimelinePanel = exports.TimelinePanel = Montage.create(Component, {
109 } 125 }
110 }, 126 },
111 127
128 _selectedTweens:{
129 value:[]
130 },
131
132 selectedTweens:{
133 serializable:true,
134 get:function () {
135 return this._selectedTweens;
136 },
137 set:function (newVal) {
138 this._selectedTweens = newVal;
139 }
140 },
141
112 _isLayer:{ 142 _isLayer:{
113 value:false 143 value:false
114 }, 144 },
@@ -234,13 +264,13 @@ var TimelinePanel = exports.TimelinePanel = Montage.create(Component, {
234 } 264 }
235 }, 265 },
236 266
237 deselectKeyframes:{ 267 deselectTweens:{
238 value:function () { 268 value:function () {
239 for (var i = 0; i < this.selectedKeyframes.length; i++) { 269 for (var i = 0; i < this.selectedTweens.length; i++) {
240 this.selectedKeyframes[i].deselect(); 270 this.selectedTweens[i].deselectTween();
241 } 271 }
242 this.selectedKeyframes = null; 272 this.selectedTweens = null;
243 this.selectedKeyframes = new Array(); 273 this.selectedTweens = new Array();
244 } 274 }
245 }, 275 },
246 276
@@ -253,6 +283,14 @@ var TimelinePanel = exports.TimelinePanel = Montage.create(Component, {
253 283
254 handleDeleteLayerClick:{ 284 handleDeleteLayerClick:{
255 value:function (event) { 285 value:function (event) {
286 if (this.arrLayers.length === 1) {
287 // do not delete last layer
288 return;
289 }
290 if (this.layerRepetition.selectedIndexes === null) {
291 // nothing is selected, do not delete
292 return;
293 }
256 this._deleteKeyDown = false; 294 this._deleteKeyDown = false;
257 if (this.application.ninja.currentSelectedContainer.id === "UserContent") { 295 if (this.application.ninja.currentSelectedContainer.id === "UserContent") {
258 this._hashKey = "123"; 296 this._hashKey = "123";
@@ -269,10 +307,9 @@ var TimelinePanel = exports.TimelinePanel = Montage.create(Component, {
269 if (this._firstTimeLoaded) { 307 if (this._firstTimeLoaded) {
270 this._firstTimeLoaded = false; 308 this._firstTimeLoaded = false;
271 } else { 309 } else {
272 while (this.arrLayers.pop()) { 310 this.arrLayers.length = 0;
273 } 311 this.arrTracks.length = 0;
274 while (this.arrTracks.pop()) { 312
275 }
276 if (event.detail.element.id === "UserContent") { 313 if (event.detail.element.id === "UserContent") {
277 this._hashKey = "123"; 314 this._hashKey = "123";
278 } else { 315 } else {
@@ -308,8 +345,9 @@ var TimelinePanel = exports.TimelinePanel = Montage.create(Component, {
308 while (layerResult = this.returnedObject[hashIndex]) { 345 while (layerResult = this.returnedObject[hashIndex]) {
309 trackResult = this.returnedTrack[hashIndex]; 346 trackResult = this.returnedTrack[hashIndex];
310 if (layerResult.deleted !== true) { 347 if (layerResult.deleted !== true) {
311 this.arrLayers.push(layerResult);
312 this.arrTracks.push(trackResult); 348 this.arrTracks.push(trackResult);
349 this.arrLayers.push(layerResult);
350
313 } 351 }
314 hashIndex++; 352 hashIndex++;
315 } 353 }
@@ -322,8 +360,9 @@ var TimelinePanel = exports.TimelinePanel = Montage.create(Component, {
322 while (dLayer[hashVariable]) { 360 while (dLayer[hashVariable]) {
323 if (dLayer[hashVariable]._layerID === event.detail._el._layerID) { 361 if (dLayer[hashVariable]._layerID === event.detail._el._layerID) {
324 dLayer[hashVariable].deleted = false; 362 dLayer[hashVariable].deleted = false;
325 this.arrLayers.splice(event.detail._layerPosition, 1, event.detail._el); 363 this.arrTracks.splice(event.detail._layerPosition, 0, event.detail._track);
326 this.arrTracks.splice(event.detail._layerPosition, 1, event.detail._track); 364 this.arrLayers.splice(event.detail._layerPosition, 0, event.detail._el);
365
327 break; 366 break;
328 367
329 } 368 }
@@ -349,8 +388,8 @@ var TimelinePanel = exports.TimelinePanel = Montage.create(Component, {
349 while (dLayer[hashVariable]) { 388 while (dLayer[hashVariable]) {
350 if (dLayer[hashVariable]._layerID === event.detail._el._layerID) { 389 if (dLayer[hashVariable]._layerID === event.detail._el._layerID) {
351 dLayer[hashVariable].deleted = false; 390 dLayer[hashVariable].deleted = false;
352 this.arrLayers.splice(event.detail._layerPosition, 1, event.detail._el); 391 this.arrTracks.splice(event.detail._layerPosition, 0, event.detail._track);
353 this.arrTracks.splice(event.detail._layerPosition, 1, event.detail._track); 392 this.arrLayers.splice(event.detail._layerPosition, 0, event.detail._el);
354 break; 393 break;
355 394
356 } 395 }
@@ -387,12 +426,15 @@ var TimelinePanel = exports.TimelinePanel = Montage.create(Component, {
387 thingToPush.parentElement = this.application.ninja.currentSelectedContainer; 426 thingToPush.parentElement = this.application.ninja.currentSelectedContainer;
388 } 427 }
389 428
390
391 newTrack.trackID = this.currentLayerNumber; 429 newTrack.trackID = this.currentLayerNumber;
392 newTrack.isMainCollapsed = true; 430 newTrack.isMainCollapsed = true;
393 newTrack.isPositionCollapsed = true; 431 newTrack.isPositionCollapsed = true;
394 newTrack.isTransformCollapsed = true; 432 newTrack.isTransformCollapsed = true;
395 newTrack.isStyleCollapsed = false; 433 newTrack.isStyleCollapsed = true;
434 newTrack.isTrackAnimated = false;
435 newTrack.currentKeyframeRule = null;
436 newTrack.trackPosition = 0;
437 newTrack.arrStyleTracks = [];
396 newTrack.tweens = []; 438 newTrack.tweens = [];
397 439
398 if (_firstLayerDraw) { 440 if (_firstLayerDraw) {
@@ -407,16 +449,16 @@ var TimelinePanel = exports.TimelinePanel = Montage.create(Component, {
407 thingToPush.layerPosition = myIndex; 449 thingToPush.layerPosition = myIndex;
408 thingToPush.isSelected = true; 450 thingToPush.isSelected = true;
409 newTrack.trackPosition = myIndex; 451 newTrack.trackPosition = myIndex;
410 this.arrLayers.splice(myIndex, 0, thingToPush);
411 this.arrTracks.splice(myIndex, 0, newTrack); 452 this.arrTracks.splice(myIndex, 0, newTrack);
453 this.arrLayers.splice(myIndex, 0, thingToPush);
412 this._LayerUndoPosition = myIndex; 454 this._LayerUndoPosition = myIndex;
413 this.selectLayer(myIndex); 455 this.selectLayer(myIndex);
414 this.hashLayerNumber.setItem(this._hashKey, thingToPush); 456 this.hashLayerNumber.setItem(this._hashKey, thingToPush);
415 this.hashInstance.setItem(this._hashKey, thingToPush, myIndex); 457 this.hashInstance.setItem(this._hashKey, thingToPush, myIndex);
416 this.hashTrackInstance.setItem(this._hashKey, newTrack, myIndex); 458 this.hashTrackInstance.setItem(this._hashKey, newTrack, myIndex);
417 } else { 459 } else {
418 this.arrLayers.splice(0, 0, thingToPush);
419 this.arrTracks.splice(0, 0, newTrack); 460 this.arrTracks.splice(0, 0, newTrack);
461 this.arrLayers.splice(0, 0, thingToPush);
420 thingToPush.layerPosition = this.arrLayers.length - 1; 462 thingToPush.layerPosition = this.arrLayers.length - 1;
421 newTrack.trackPosition = this.arrTracks.length - 1; 463 newTrack.trackPosition = this.arrTracks.length - 1;
422 this._LayerUndoPosition = this.arrLayers.length - 1; 464 this._LayerUndoPosition = this.arrLayers.length - 1;
@@ -429,13 +471,9 @@ var TimelinePanel = exports.TimelinePanel = Montage.create(Component, {
429 this._LayerUndoIndex = thingToPush.layerID; 471 this._LayerUndoIndex = thingToPush.layerID;
430 this._LayerUndoStatus = true; 472 this._LayerUndoStatus = true;
431 this._TrackUndoObject = newTrack;