<?xml version="1.0" encoding="utf-8"?>
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:visuals="com.seaofarrows.musicplayer.modules.visuals.view.components.*"
backgroundColor="#000000" backgroundGradientAlphas="[1,0]"
horizontalScrollPolicy="off" verticalScrollPolicy="off"
backgroundGradientColors="[#000000,#6666FF]"
creationComplete="facade.startup(this)"
minWidth="970" minHeight="635"
layout="absolute" viewSourceURL="srcview/index.html">
<mx:Style source="assets/config/SOAMusicPlayer.css"/>
<mx:Script>
<![CDATA[
import com.seaofarrows.musicplayer.shell.ShellFacade;
import com.seaofarrows.musicplayer.common.model.vo.TrackVO;
import com.seaofarrows.musicplayer.common.model.vo.PlaylistVO;
import com.seaofarrows.musicplayer.modules.playlist.view.components.TrackSelector;
import com.seaofarrows.musicplayer.modules.playlist.view.components.PlaylistSelector;
public static const NAME:String = "SOAMusicPlayer";
public var miniSelectorShowing:Boolean = false;
public var trackSelectorShowing:Boolean = false;
private var trackSelector:TrackSelector; private var playlistSelector:PlaylistSelector; private var miniPlaylistSelector:PlaylistSelector; private var facade:ShellFacade = ShellFacade.getInstance(NAME);
/**
* Adds the module-manufactured Playlist Selector
* component to the view for display.
*/
public function addPlaylistSelector( selector:PlaylistSelector=null ):void
{
if (selector != null) playlistSelector = selector;
displayCanvas.removeAllChildren();
displayCanvas.addChild( playlistSelector );
vsSloganOrMini.selectedIndex=0;
miniSelectorShowing = false;
trackSelectorShowing = false;
}
/**
* Adds the module-manufactured Mini Playlist Selector
* component to the view for display.
*/
public function addMiniPlaylistSelector( selector:PlaylistSelector ):void
{
miniPlaylistSelector = selector;
miniPlaylistSelector.width = vsSloganOrMini.width;
miniPlaylistSelector.height = vsSloganOrMini.height;
vsSloganOrMini.addChild(selector);
}
/**
* Adds the module-manufactured Track Selector
* component to the view for display.
*/
public function addTrackSelector( selector:TrackSelector ):void
{
trackSelector = selector;
}
/**
* Adds the module-manufactured Playlist Selector
* tcomponent to the view for display.
*/
public function showChosenPlaylist( playlist:PlaylistVO ):void
{
if (! miniSelectorShowing ) {
vsSloganOrMini.selectedIndex = 1;
miniSelectorShowing = true;
displayCanvas.removeAllChildren();
displayCanvas.addChild( trackSelector );
trackSelectorShowing = true;
}
trackSelector.playlist = playlist;
}
/**
* Show the chosen track.
*/
public function showChosenTrack( trackVO:TrackVO ):void
{
if (! trackSelectorShowing ) {
displayCanvas.addChild( trackSelector );
}
trackSelector.track = trackVO;
}
]]>
</mx:Script>
<mx:ApplicationControlBar
id="appControlBar" horizontalGap="25" height="125"
dock="true" horizontalAlign="left" verticalAlign="middle">
<mx:HBox height="100%" verticalAlign="middle" paddingBottom="15">
<mx:Image source="@Embed(source='assets/ui/SOA-Logo.png')"
buttonMode="true"
click="addPlaylistSelector(playlistSelector)"/>
</mx:HBox>
<mx:Spacer width="100%"/>
<mx:ViewStack id="vsSloganOrMini" width="100%" height="100%" right="0">
<mx:HBox width="100%" height="100%" verticalAlign="middle" paddingBottom="15"
paddingRight="15" horizontalAlign="center">
<mx:Image id="slogan" source="@Embed(source='assets/ui/Wings.png')"/>
</mx:HBox>
</mx:ViewStack>
</mx:ApplicationControlBar>
<mx:VBox id="displayCanvas" width="100%" height="100%"
horizontalAlign="center" verticalAlign="middle" paddingBottom="15"/>
</mx:Application>