/** * Playlist view management of the players MCV pattern. * * @author Jeroen Wijering * @version 1.3 **/ import com.jeroenwijering.players.*; import com.jeroenwijering.utils.Scroller; import com.jeroenwijering.utils.ImageLoader; class com.jeroenwijering.players.PlaylistView extends AbstractView { /** ImageLoader **/ private var thumbLoader:ImageLoader; /** Scroller instance **/ private var listScroller:Scroller; /** Currently highlighted playlist item **/ private var currentItem:Number; /** Constructor **/ function PlaylistView(ctr:AbstractController,car:Object,far:Array) { super(ctr,car,far); Stage.addListener(this); setButtons(); }; /** OnLoad event handler; sets up the playlist sizes and colors. **/ private function setButtons() { var ref = this; var tgt = configArray["playerclip"].playlist; tgt.btn._visible = false; for (var i=99; i >=0; i--) { tgt["btn"+i].removeMovieClip(); } // iterate playlist and setup each button for(var i=0; i:
" + fileArray[i]["title"]; } else { tgt["btn"+i].txt.htmlText = ""+fileArray[i]["author"] + ":
" + fileArray[i]["title"]; } tgt["btn"+i].img.setMask(tgt["btn"+i].msk); } else { tgt["btn"+i].msk._height = 10; tgt["btn"+i].img._visible = tgt["btn"+i].msk._visible = false; tgt["btn"+i]._y = i*23; if(fileArray[i]["author"] == undefined) { tgt["btn"+i].txt.htmlText = fileArray[i]["title"]; } else { tgt["btn"+i].txt.htmlText = fileArray[i]["author"] + " - " + fileArray[i]["title"]; } } tgt["btn"+i].txt.textColor = configArray["frontcolor"]; // set link icon if(fileArray[i]["link"] != undefined) { tgt["btn"+i].txt._width -= 20; tgt["btn"+i].icn._x = Number(configArray["width"]) - 24; tgt["btn"+i].icn.onRollOver = function() { this._parent.col2.setRGB(ref.configArray["lightcolor"]); }; tgt["btn"+i].icn.onRollOut = function() { if(ref.currentItem == this._parent.getDepth()) { this._parent.col2.setRGB(ref.configArray["backcolor"]); } else { this._parent.col2.setRGB(ref.configArray["frontcolor"]); } }; tgt["btn"+i].icn.onPress = function() { ref.sendEvent("getlink",this._parent.getDepth()); }; } else { tgt["btn"+i].icn._visible = false; } } // setup mask and scrollbar if needed var msk = configArray["playerclip"].playlistmask; msk._y = tgt._y = Number(configArray["displayheight"]) + 19; msk._width = Number(configArray["width"]-2); msk._height = Number(configArray["height"])-Number(configArray["displayheight"]) - 20; tgt.setMask(msk); if(tgt._height > msk._height && fileArray.length > 1) { if(configArray["autoscroll"] == "false") { msk._width -= 11; for(var i=0; i