diff -r 53a712511a08 -r d1f0e604bd06 src/js/widgets/sliderWidget.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/js/widgets/sliderWidget.js Thu Nov 10 15:06:22 2011 +0100 @@ -0,0 +1,33 @@ +IriSP.SliderWidget = function(Popcorn, config, Serializer) { + IriSP.Widget.call(this, Popcorn, config, Serializer); +}; + +IriSP.SliderWidget.prototype = new IriSP.Widget(); + +IriSP.SliderWidget.prototype.draw = function() { + var self = this; + + this.selector.slider( { //range: "min", + value: 0, + min: 1, + max: this._serializer.currentMedia().meta["dc:duration"]/1000,//1:54:52.66 = 3600+3240+ + step: 0.1, + slide: function(event, ui) { + self._Popcorn.currentTime(ui.value); + }, + /* change event is similar to slide, but it happens when the slider position is + modified programatically. We use it for unit tests */ + change: function(event, ui) { + self._Popcorn.trigger("test.fixture", ui.value); + } + + }); + + this._Popcorn.listen("timeupdate", IriSP.wrap(this, this.sliderUpdater)); +}; + +/* updates the slider as time passes */ +IriSP.SliderWidget.prototype.sliderUpdater = function() { + var currentPosition = this._Popcorn.currentTime(); + this.selector.slider( "value", currentPosition); +}; \ No newline at end of file