package { import dw.cm.content.IXmlConfigurable; import dw.tween.dTween; import dw.tween.tint; import dw.ui.basic.ListboxItemBase; import dw.ui.basic.UIItemEvent; import dw.utils.MultipurposeEvent; import fl.motion.easing.Quadratic; import flash.display.MovieClip; import flash.events.Event; import flash.events.MouseEvent; import flash.text.TextField; //REPRESENTS ONE ITEM IN THE ALBUMS LSITBOX public class AlbumlistListboxItem extends ListboxItemBase implements IXmlConfigurable { protected var _xmlData:XML; public var title:TextField; public var background:MovieClip; protected var _over:Boolean = false; public function AlbumlistListboxItem() { super(); title.mouseEnabled = false; addEventListener(Event.ADDED_TO_STAGE, evthndlAddedToStage); dTween(background).apply([new tint(_selected?0x272727:0x131313,1)]); dTween(title).apply([new tint(0x7e7e7e,1)]); addEventListener(UIItemEvent.ITEM_SELECT_REQUEST, evthndlSelectRequest); addEventListener(UIItemEvent.ITEM_UNSELECTED, evthndlUnselected); } public function get xmlData():XML { return _xmlData; } public function set xmlData(v:XML):void { _xmlData = v; title.text = _xmlData.@artist + " - " + _xmlData.@album; } protected function evthndlAddedToStage(e:Event):void { stage.addEventListener(Event.MOUSE_LEAVE, evthndlRollOut); addEventListener(MouseEvent.ROLL_OUT, evthndlRollOut); addEventListener(MouseEvent.ROLL_OVER, evthndlRollOver); } //CHANGE COLOR TINT HERE AND IN THE CONSTRUCTOR protected function evthndlRollOut(e:Event):void { dTween(background).ease(Quadratic.easeIn).to(0.2,[new tint(_selected?0x272727:0x131313,1)]); _over = false; } //CHANGE COLOR TINT HERE protected function evthndlRollOver(e:Event):void { dTween(background).ease(Quadratic.easeOut).to(0.2,[new tint(_selected?0x272727:0x232323,1)]); _over = true; } protected function evthndlSelectRequest(e:UIItemEvent):void { dTween(background).ease(Quadratic.easeOut).to(0.2,[new tint(0x272727,1)]); dTween(title).ease(Quadratic.easeOut).to(0.2,[new tint(0x7e7e7e,0)]); buttonMode = false; dispatchEvent(new MultipurposeEvent("Accordion_Select_PlaylistAccordionItem",true,false)); } protected function evthndlUnselected(e:UIItemEvent):void { dTween(background).ease(Quadratic.easeIn).to(0.2,[new tint(0x131313,0)]); dTween(title).ease(Quadratic.easeOut).to(0.2,[new tint(0x7e7e7e,1)]); buttonMode = true; } public override function dispose():void { super.dispose(); removeEventListener(Event.ADDED_TO_STAGE, evthndlAddedToStage); removeEventListener(MouseEvent.ROLL_OUT, evthndlRollOut); removeEventListener(MouseEvent.ROLL_OVER, evthndlRollOver); removeEventListener(UIItemEvent.ITEM_SELECT_REQUEST, evthndlSelectRequest); removeEventListener(UIItemEvent.ITEM_UNSELECTED, evthndlUnselected); if(stage != null) stage.removeEventListener(Event.MOUSE_LEAVE, evthndlRollOut); } } }