diff options
Diffstat (limited to 'js/panels')
4 files changed, 72 insertions, 20 deletions
diff --git a/js/panels/Timeline/Layer.reel/Layer.js b/js/panels/Timeline/Layer.reel/Layer.js index b23da749..ef51886e 100644 --- a/js/panels/Timeline/Layer.reel/Layer.js +++ b/js/panels/Timeline/Layer.reel/Layer.js | |||
@@ -606,6 +606,7 @@ var Layer = exports.Layer = Montage.create(Component, { | |||
606 | newEvent.layerEventLocale = "styles"; | 606 | newEvent.layerEventLocale = "styles"; |
607 | newEvent.layerEventType = "newStyle"; | 607 | newEvent.layerEventType = "newStyle"; |
608 | newEvent.layerID = this.layerID; | 608 | newEvent.layerID = this.layerID; |
609 | newEvent.styleIndex = this._styleCounter; | ||
609 | newEvent.styleID = this.layerID + "@" + this._styleCounter; | 610 | newEvent.styleID = this.layerID + "@" + this._styleCounter; |
610 | 611 | ||
611 | newStyle.styleID = newEvent.styleID; | 612 | newStyle.styleID = newEvent.styleID; |
@@ -629,7 +630,7 @@ var Layer = exports.Layer = Montage.create(Component, { | |||
629 | } | 630 | } |
630 | 631 | ||
631 | // Set up the event info and dispatch the event | 632 | // Set up the event info and dispatch the event |
632 | 633 | this._styleCounter += 1; | |
633 | newEvent.styleSelection = mySelection; | 634 | newEvent.styleSelection = mySelection; |
634 | defaultEventManager.dispatchEvent(newEvent); | 635 | defaultEventManager.dispatchEvent(newEvent); |
635 | 636 | ||
diff --git a/js/panels/Timeline/PropertyTrack.reel/PropertyTrack.js b/js/panels/Timeline/PropertyTrack.reel/PropertyTrack.js index 60da4e71..f2dbd683 100644 --- a/js/panels/Timeline/PropertyTrack.reel/PropertyTrack.js +++ b/js/panels/Timeline/PropertyTrack.reel/PropertyTrack.js | |||
@@ -27,6 +27,10 @@ var PropertyTrack = exports.PropertyTrack = Montage.create(Component, { | |||
27 | } | 27 | } |
28 | }, | 28 | }, |
29 | 29 | ||
30 | trackEditorProperty:{ | ||
31 | value:"" | ||
32 | }, | ||
33 | |||
30 | _propTweenRepetition:{ | 34 | _propTweenRepetition:{ |
31 | value:null | 35 | value:null |
32 | }, | 36 | }, |
@@ -68,6 +72,7 @@ var PropertyTrack = exports.PropertyTrack = Montage.create(Component, { | |||
68 | }, | 72 | }, |
69 | 73 | ||
70 | propTrackData:{ | 74 | propTrackData:{ |
75 | serializable:true, | ||
71 | get:function () { | 76 | get:function () { |
72 | return this._propTrackData; | 77 | return this._propTrackData; |
73 | }, | 78 | }, |
@@ -79,19 +84,6 @@ var PropertyTrack = exports.PropertyTrack = Montage.create(Component, { | |||
79 | } | 84 | } |
80 | }, | 85 | }, |
81 | 86 | ||
82 | setData:{ | ||
83 | value:function(){ | ||
84 | if (typeof(this.propTrackData) === "undefined") { | ||
85 | return; | ||
86 | } | ||
87 | |||
88 | |||
89 | this.propTweens = this.propTrackData.propTweens; | ||
90 | |||
91 | this.needsDraw = true; | ||
92 | } | ||
93 | }, | ||
94 | |||
95 | nextKeyframe:{ | 87 | nextKeyframe:{ |
96 | value:1 | 88 | value:1 |
97 | }, | 89 | }, |
@@ -108,16 +100,66 @@ var PropertyTrack = exports.PropertyTrack = Montage.create(Component, { | |||
108 | set:function (value) { | 100 | set:function (value) { |
109 | if (value !== this._trackID) { | 101 | if (value !== this._trackID) { |
110 | this._trackID = value; | 102 | this._trackID = value; |
111 | this.propTrackData.layerID = value; | ||
112 | } | 103 | } |
113 | } | 104 | } |
114 | }, | 105 | }, |
115 | 106 | ||
107 | _styleSelection:{ | ||
108 | value:null | ||
109 | }, | ||
110 | |||
111 | styleSelection:{ | ||
112 | serializable:true, | ||
113 | get:function () { | ||
114 | return this._styleSelection; | ||
115 | }, | ||
116 | set:function (value) { | ||
117 | if (value !== this._styleSelection) { | ||
118 | this._styleSelection = value; | ||
119 | } | ||
120 | } | ||
121 | }, | ||
122 | |||
123 | _styleIndex:{ | ||
124 | value:null | ||
125 | }, | ||
126 | |||
127 | styleIndex:{ | ||
128 | serializable:true, | ||
129 | get:function () { | ||
130 | return this._styleIndex; | ||
131 | }, | ||
132 | set:function (value) { | ||
133 | if (value !== this._styleIndex) { | ||
134 | this._styleIndex = value; | ||
135 | } | ||
136 | } | ||
137 | }, | ||
138 | |||
139 | setData:{ | ||
140 | value:function () { | ||
141 | if (typeof(this.propTrackData) === "undefined") { | ||
142 | return; | ||
143 | } | ||
144 | |||
145 | this.styleIndex = this.propTrackData.styleIndex; | ||
146 | this.propTweens = this.propTrackData.propTweens; | ||
147 | this.styleSelection = this.propTrackData.styleSelection; | ||
148 | this.needsDraw = true; | ||
149 | } | ||
150 | }, | ||
151 | |||
116 | handleClick:{ | 152 | handleClick:{ |
117 | value:function(ev){ | 153 | value:function(ev){ |
118 | //console.log(this.application.ninja.timeline.arrLayers[selectedIndex].layerData); | ||
119 | if (ev.shiftKey) { | 154 | if (ev.shiftKey) { |
120 | if (this.propTweens.length < 1) { | 155 | if (this.propTweens.length < 1) { |
156 | |||
157 | // check if there is an editor property assigned yet | ||
158 | // get this property track's editor prop name from layer data arrays | ||
159 | var selectIndex = this.application.ninja.timeline.getLayerIndexByID(this.trackID); | ||
160 | console.log(this.application.ninja.timeline.arrLayers[selectIndex].layerData.arrLayerStyles); | ||
161 | console.log(this.styleIndex); | ||
162 | |||
121 | this.insertPropTween(0); | 163 | this.insertPropTween(0); |
122 | this.addPropAnimationRuleToElement(ev); | 164 | this.addPropAnimationRuleToElement(ev); |
123 | this.updatePropKeyframeRule(); | 165 | this.updatePropKeyframeRule(); |
@@ -137,8 +179,7 @@ var PropertyTrack = exports.PropertyTrack = Montage.create(Component, { | |||
137 | 179 | ||
138 | insertPropTween:{ | 180 | insertPropTween:{ |
139 | value:function(clickPos){ | 181 | value:function(clickPos){ |
140 | var parentTrackID = this.parentComponent.parentComponent.parentComponent.trackID; | 182 | var selectedIndex = this.application.ninja.timeline.getLayerIndexByID(this.trackID); |
141 | var selectedIndex = this.application.ninja.timeline.getLayerIndexByID(parentTrackID); | ||
142 | this.application.ninja.timeline.selectLayer(selectedIndex, true); | 183 | this.application.ninja.timeline.selectLayer(selectedIndex, true); |
143 | 184 | ||
144 | var currentMillisecPerPixel = Math.floor(this.application.ninja.timeline.millisecondsOffset / 80); | 185 | var currentMillisecPerPixel = Math.floor(this.application.ninja.timeline.millisecondsOffset / 80); |
diff --git a/js/panels/Timeline/TimelineTrack.reel/TimelineTrack.html b/js/panels/Timeline/TimelineTrack.reel/TimelineTrack.html index de2969bb..ed013505 100644 --- a/js/panels/Timeline/TimelineTrack.reel/TimelineTrack.html +++ b/js/panels/Timeline/TimelineTrack.reel/TimelineTrack.html | |||
@@ -72,7 +72,7 @@ | |||
72 | "element":{"#": "style-track-base"} | 72 | "element":{"#": "style-track-base"} |
73 | }, | 73 | }, |
74 | "bindings" : { | 74 | "bindings" : { |
75 | "trackData" : { | 75 | "propTrackData" : { |
76 | "boundObject" : {"@" : "styleTrackRepetition"}, | 76 | "boundObject" : {"@" : "styleTrackRepetition"}, |
77 | "boundObjectPropertyPath" : "objectAtCurrentIteration.propTrackData", | 77 | "boundObjectPropertyPath" : "objectAtCurrentIteration.propTrackData", |
78 | "oneway" : false | 78 | "oneway" : false |
diff --git a/js/panels/Timeline/TimelineTrack.reel/TimelineTrack.js b/js/panels/Timeline/TimelineTrack.reel/TimelineTrack.js index 000c81e2..8bb00990 100644 --- a/js/panels/Timeline/TimelineTrack.reel/TimelineTrack.js +++ b/js/panels/Timeline/TimelineTrack.reel/TimelineTrack.js | |||
@@ -710,7 +710,17 @@ var TimelineTrack = exports.TimelineTrack = Montage.create(Component, { | |||
710 | } | 710 | } |
711 | if (layerEvent.layerEventType === "newStyle") { | 711 | if (layerEvent.layerEventType === "newStyle") { |
712 | // TODO: Add a real track of tweens. Probably need a method for that. | 712 | // TODO: Add a real track of tweens. Probably need a method for that. |
713 | this.arrStyleTracks.push("1"); | 713 | |
714 | var newStyleTrack = {}; | ||
715 | newStyleTrack.propTrackData = {}; | ||
716 | newStyleTrack.propTrackData.styleSelection = layerEvent.styleSelection; | ||
717 | newStyleTrack.propTrackData.propTweens = []; | ||
718 | newStyleTrack.propTrackData.styleIndex = layerEvent.styleIndex; | ||
719 | console.log(layerEvent.styleSelection); | ||
720 | console.log(layerEvent.styleIndex); | ||
721 | |||
722 | this.arrStyleTracks.push(newStyleTrack); | ||
723 | |||
714 | } else if (layerEvent.layerEventType === "deleteStyle") { | 724 | } else if (layerEvent.layerEventType === "deleteStyle") { |
715 | // TODO: Delete the right track. Index can be passed in event object, use that for splice(). | 725 | // TODO: Delete the right track. Index can be passed in event object, use that for splice(). |
716 | this.arrStyleTracks.pop(); | 726 | this.arrStyleTracks.pop(); |