<?xml version="1.0" encoding="utf-8"?>
<!--- The default skin class for a Spark List component.
@see spark.components.List
@langversion 3.0
@playerversion Flash 10
@playerversion AIR 1.5
@productversion Flex 4
-->
<s:SparkSkin
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:fb="http://ns.adobe.com/flashbuilder/2009"
xmlns:components="de.dtele.ui.components.*"
width="100%"
height="100%"
minWidth="112"
alpha.disabled="0.5"
blendMode="normal" >
<fx:Metadata>
<![CDATA[
/**
* @copy spark.skins.spark.ApplicationSkin#hostComponent
*/
[HostComponent("spark.components.List")]
]]>
</fx:Metadata>
<fx:Script>
<![CDATA[
import de.dtele.data.IResource;
import de.dtele.data.MimeType;
import de.dtele.data.MimeTypes;
import de.dtele.providers.ProviderManager;
import de.dtele.ui.components.ResourceViewItemRenderer;
import spark.components.IItemRenderer;
import spark.skins.spark.DefaultItemRenderer;
/**
* Tries to retrieve the most appropriate item renderer for a resource
*/
protected function viewerItemRendererFunction(item:Object):IFactory {
var resource:IResource = item as IResource;
trace("[ResourceViewerList] Getting item renderer for " + resource.properties.title);
var viewerItemRendererClass:Class = ProviderManager.instance.getProvider(
"resourceViewerItemRenderer", resource.properties.type) as Class;
trace("[ResourceViewerList] Got item renderer: " + viewerItemRendererClass);
if (!viewerItemRendererClass) {
var mimeType:MimeType = MimeTypes.split(resource.properties.type);
viewerItemRendererClass = ProviderManager.instance.getProvider(
"resourceViewerItemRenderer", mimeType.mediaType) as Class;
}
if (viewerItemRendererClass) {
return new ClassFactory(viewerItemRendererClass)
}
return new ClassFactory(ResourceViewItemRenderer);
}
]]>
</fx:Script>
<s:states>
<s:State name="normal" />
<s:State name="disabled" />
</s:states>
<s:BorderContainer
width="100%"
height="100%"
contentBackgroundAlpha="0"
borderVisible="false">
<s:Scroller
horizontalScrollPolicy="off"
verticalScrollPolicy="off">
<!--- @copy spark.components.SkinnableDataContainer#dataGroup -->
<s:DataGroup
id="dataGroup"
itemRendererFunction="viewerItemRendererFunction"
width="100%"
height="100%"
horizontalCenter="0"
verticalCenter="0">
<s:layout>
<s:HorizontalLayout gap="50"/>
</s:layout>
</s:DataGroup>
</s:Scroller>
</s:BorderContainer>
</s:SparkSkin>