aboutsummaryrefslogtreecommitdiff
path: root/js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js')
-rw-r--r--js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js359
1 files changed, 180 insertions, 179 deletions
diff --git a/js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js b/js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js
index 3dc2e514..3616c7a5 100644
--- a/js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js
+++ b/js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js
@@ -1,24 +1,25 @@
1/* <copyright> 1/* <copyright>
2Copyright (c) 2012, Motorola Mobility, Inc 2Copyright (c) 2012, Motorola Mobility LLC.
3All Rights Reserved. 3All Rights Reserved.
4BSD License.
5 4
6Redistribution and use in source and binary forms, with or without 5Redistribution and use in source and binary forms, with or without
7modification, are permitted provided that the following conditions are met: 6modification, are permitted provided that the following conditions are met:
8 7
9 - Redistributions of source code must retain the above copyright notice, 8* Redistributions of source code must retain the above copyright notice,
10 this list of conditions and the following disclaimer. 9 this list of conditions and the following disclaimer.
11 - Redistributions in binary form must reproduce the above copyright 10
12 notice, this list of conditions and the following disclaimer in the 11* Redistributions in binary form must reproduce the above copyright notice,
13 documentation and/or other materials provided with the distribution. 12 this list of conditions and the following disclaimer in the documentation
14 - Neither the name of Motorola Mobility nor the names of its contributors 13 and/or other materials provided with the distribution.
15 may be used to endorse or promote products derived from this software 14
16 without specific prior written permission. 15* Neither the name of Motorola Mobility LLC nor the names of its
16 contributors may be used to endorse or promote products derived from this
17 software without specific prior written permission.
17 18
18THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 19THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 20AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 21IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 22ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
22LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 23LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 24CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 25SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
@@ -142,11 +143,11 @@ var TimelinePanel = exports.TimelinePanel = Montage.create(Component, {
142 return; 143 return;
143 } 144 }
144 this._currentDocument = value; 145 this._currentDocument = value;
145 146
146 var boolDoc = false, 147 var boolDoc = false,
147 boolView = false; 148 boolView = false;
148 149
149 // Should we enable the panel? 150 // Should we enable the panel?
150 // Only if we have both a document and we're in design view. 151 // Only if we have both a document and we're in design view.
151 if (typeof(value) !== "undefined") { 152 if (typeof(value) !== "undefined") {
152 if (value.currentView === "design") { 153 if (value.currentView === "design") {
@@ -155,7 +156,7 @@ var TimelinePanel = exports.TimelinePanel = Montage.create(Component, {
155 } 156 }
156 } 157 }
157 if (typeof(this._currentDocument) !== "undefined") { 158 if (typeof(this._currentDocument) !== "undefined") {
158 // We have a document, or at least we have initialized the panel. 159 // We have a document, or at least we have initialized the panel.
159 boolDoc = true; 160 boolDoc = true;
160 } 161 }
161 162
@@ -169,10 +170,10 @@ var TimelinePanel = exports.TimelinePanel = Montage.create(Component, {
169 this._boolCacheArrays = false; 170 this._boolCacheArrays = false;
170 this.clearTimelinePanel(); 171 this.clearTimelinePanel();
171 this._boolCacheArrays = true; 172 this._boolCacheArrays = true;
172 173
173 // Rebind the document events for the new document context 174 // Rebind the document events for the new document context
174 this._bindDocumentEvents(); 175 this._bindDocumentEvents();
175 176
176 // Initialize the timeline for the document. 177 // Initialize the timeline for the document.
177 this.initTimelineForDocument(); 178 this.initTimelineForDocument();
178 this.enablePanel(true); 179 this.enablePanel(true);
@@ -188,7 +189,7 @@ var TimelinePanel = exports.TimelinePanel = Montage.create(Component, {
188 } 189 }
189 } 190 }
190 }, 191 },
191 192
192 _currentSelectedContainer: { 193 _currentSelectedContainer: {
193 value: null 194 value: null
194 }, 195 },
@@ -204,15 +205,15 @@ var TimelinePanel = exports.TimelinePanel = Montage.create(Component, {
204 return; 205 return;
205 } 206 }
206 this.application.ninja.currentDocument.setLevel = true; 207 this.application.ninja.currentDocument.setLevel = true;
207 208
208 if(this._currentDocument.currentView === "design") { 209 if(this._currentDocument.currentView === "design") {
209 this._boolCacheArrays = false; 210 this._boolCacheArrays = false;
210 this.clearTimelinePanel(); 211 this.clearTimelinePanel();
211 this._boolCacheArrays = true; 212 this._boolCacheArrays = true;
212 213
213 // Rebind the document events for the new document context 214 // Rebind the document events for the new document context
214 this._bindDocumentEvents(); 215 this._bindDocumentEvents();
215 216
216 // Initialize the timeline for the document. 217 // Initialize the timeline for the document.
217 this.initTimelineForDocument(); 218 this.initTimelineForDocument();
218 } 219 }
@@ -262,15 +263,15 @@ var TimelinePanel = exports.TimelinePanel = Montage.create(Component, {
262 this._layerRepetition = newVal; 263 this._layerRepetition = newVal;
263 } 264 }
264 }, 265 },
265 266
266 _areTracksScrolling: { 267 _areTracksScrolling: {
267 value: false 268 value: false
268 }, 269 },
269 270
270 _areTracksCollapsing: { 271 _areTracksCollapsing: {
271 value: false 272 value: false
272 }, 273 },
273 274
274 _currentOpenSpanMenu: { 275 _currentOpenSpanMenu: {
275 value: false 276 value: false
276 }, 277 },
@@ -342,7 +343,7 @@ var TimelinePanel = exports.TimelinePanel = Montage.create(Component, {
342 this.cacheTimeline(); 343 this.cacheTimeline();
343 } 344 }
344 }, 345 },
345 346
346 _easingMenu: { 347 _easingMenu: {
347 value: null 348 value: null
348 }, 349 },
@@ -355,12 +356,12 @@ var TimelinePanel = exports.TimelinePanel = Montage.create(Component, {
355 this._easingMenu = newVal; 356 this._easingMenu = newVal;
356 } 357 }
357 }, 358 },
358 359
359 // The index of the last layer that was clicked on 360 // The index of the last layer that was clicked on
360 // (used for shift-click multiselect) 361 // (used for shift-click multiselect)
361 _lastLayerClicked : { 362 _lastLayerClicked : {
362 value: 0 363 value: 0
363 }, 364 },
364 lastLayerClicked: { 365 lastLayerClicked: {
365 serializable: true, 366 serializable: true,
366 get: function() { 367 get: function() {
@@ -476,7 +477,7 @@ var TimelinePanel = exports.TimelinePanel = Montage.create(Component, {
476 timeMarkerHolder:{ 477 timeMarkerHolder:{
477 value:null 478 value:null
478 }, 479 },
479 480
480 // Drag and Drop properties 481 // Drag and Drop properties
481 _dragAndDropHelper : { 482 _dragAndDropHelper : {
482 value: false 483 value: false
@@ -501,7 +502,7 @@ var TimelinePanel = exports.TimelinePanel = Montage.create(Component, {
501 this._draggingType = newVal; 502 this._draggingType = newVal;
502 } 503 }
503 }, 504 },
504 505
505 _elementsDragged: { 506 _elementsDragged: {
506 value: [] 507 value: []
507 }, 508 },
@@ -535,33 +536,33 @@ var TimelinePanel = exports.TimelinePanel = Montage.create(Component, {
535 set: function(newVal) { 536 set: function(newVal) {
536 if (newVal !== this._dropLayerID) { 537 if (newVal !== this._dropLayerID) {
537 this._dropLayerID = newVal; 538 this._dropLayerID = newVal;
538 539
539 var dropLayerIndex = this.getLayerIndexByID(newVal), 540 var dropLayerIndex = this.getLayerIndexByID(newVal),
540 i = 0, 541 i = 0,
541 dragLayerIndexesLength = this.currentLayersSelected.length, 542 dragLayerIndexesLength = this.currentLayersSelected.length,
542 dragAndDropDirection = 0, 543