summaryrefslogtreecommitdiff
path: root/js/dojo/dojox/av/widget/PlayButton.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/dojo/dojox/av/widget/PlayButton.js')
-rw-r--r--js/dojo/dojox/av/widget/PlayButton.js75
1 files changed, 75 insertions, 0 deletions
diff --git a/js/dojo/dojox/av/widget/PlayButton.js b/js/dojo/dojox/av/widget/PlayButton.js
new file mode 100644
index 0000000..e7f09e0
--- /dev/null
+++ b/js/dojo/dojox/av/widget/PlayButton.js
@@ -0,0 +1,75 @@
+//>>built
+define("dojox/av/widget/PlayButton", ['dojo', 'dijit', 'dijit/_Widget', 'dijit/_TemplatedMixin'],function(dojo, dijit){
+
+dojo.declare("dojox.av.widget.PlayButton", [dijit._Widget, dijit._TemplatedMixin], {
+ // summary:
+ // A Play/Pause button widget to use with dojox.av.widget.Player
+ //
+ templateString: dojo.cache("dojox.av.widget","resources/PlayButton.html"),
+ //
+ postCreate: function(){
+ // summary:
+ // Intialize button.
+ this.showPlay();
+ },
+
+ setMedia: function(/* Object */med){
+ // summary:
+ // A common method to set the media in all Player widgets.
+ // May do connections and initializations.
+ //
+ this.media = med;
+ dojo.connect(this.media, "onEnd", this, "showPlay");
+ dojo.connect(this.media, "onStart", this, "showPause");
+ },
+
+ onClick: function(){
+ // summary:
+ // Fired on play or pause click.
+ //
+ if(this._mode=="play"){
+ this.onPlay();
+ }else{
+ this.onPause();
+ }
+ },
+
+ onPlay: function(){
+ // summary:
+ // Fired on play click.
+ //
+ if(this.media){
+ this.media.play();
+ }
+ this.showPause();
+ },
+ onPause: function(){
+ // summary:
+ // Fired on pause click.
+ //
+ if(this.media){
+ this.media.pause();
+ }
+ this.showPlay();
+ },
+ showPlay: function(){
+ // summary:
+ // Toggles the pause button invisible and the play
+ // button visible..
+ //
+ this._mode = "play";
+ dojo.removeClass(this.domNode, "Pause");
+ dojo.addClass(this.domNode, "Play");
+ },
+ showPause: function(){
+ // summary:
+ // Toggles the play button invisible and the pause
+ // button visible.
+ //
+ this._mode = "pause";
+ dojo.addClass(this.domNode, "Pause");
+ dojo.removeClass(this.domNode, "Play");
+ }
+});
+return dojox.av.widget.PlayButton;
+});