<?xml version="1.0" encoding="utf-8"?>
<!--

  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

-->
<mx:Module xmlns:fx="http://ns.adobe.com/mxml/2009" 
		   xmlns:s="library://ns.adobe.com/flex/spark" 
		   xmlns:mx="library://ns.adobe.com/flex/mx" creationComplete="module1_creationCompleteHandler(event)" >
	
	<fx:Style>
		@namespace s "library://ns.adobe.com/flex/spark";
		@namespace mx "library://ns.adobe.com/flex/mx";
		
		@font-face{
			src: url("../../../../Assets/Fonts/Open_Sans/OpenSans-Regular.ttf");
			fontFamily: SparkVera;
			embedAsCFF: true;
		}


		@font-face{
			src: url("../../../../Assets/Fonts/Open_Sans/OpenSans-Bold.ttf");
			fontWeight: bold;
			fontFamily: SparkVera;
			embedAsCFF: true;
		}

		@font-face{
			src: url("../../../../Assets/Fonts/Open_Sans/OpenSans-Italic.ttf");
			fontStyle: italic;
			fontFamily: SparkVera;
			embedAsCFF: true;
		}
		@font-face{
			src: url("../../../../Assets/Fonts/Open_Sans/OpenSans-BoldItalic.ttf");
			fontWeight: bold;
			fontStyle: italic;
			fontFamily: SparkVera;

			embedAsCFF: true;
		}


		global {
			fontAntiAliasType: "normal";
			fontFamily: SparkVera;
			fontLookup: "embeddedCFF";
		}

		s|List
		{
			color: #FFAAAA;
			fontSize: 12;
		}
		
		s|Button#gumboButton
		{
			cornerRadius: 10;
		}
		
	</fx:Style>
	<fx:Script>
		<![CDATA[
			import mx.events.FlexEvent;
			import mx.collections.ArrayList;
			private var arr:Array =
				[
					{ label:'Apple', data:10.00},
					{ label:'Banana', data:15.00 },
					{ label:'Melon', data:3.50 },
					{ label:'Kiwi', data:7.65},
					{ label:'Strawberry',data:12.35 },
					{ label:'Other', data:00.00}
				];
			
			private var listArr :ArrayList = new ArrayList(arr);
			
			protected function module1_creationCompleteHandler(event:FlexEvent):void
			{
				moduleList.dataProvider = listArr;
			}
			
		]]>
	</fx:Script>
	
	<s:Panel title="Gumbo Panel" id="appPanel">
		<s:layout>
			<s:VerticalLayout />
		</s:layout>
		
		<s:List id="moduleList"  />
		<s:Button id="gumboButton" label="Gumbo Button"  />
		<mx:Label text="MX Label"  />
	</s:Panel>
	<mx:ModuleLoader id="subMod_loader" url="assets/ModuleAppNine.swf"/>
</mx:Module>