<?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.

-->
<s:Application 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="loadFontModule()"		
			   width="800" height="600">
	<fx:Style source="../../../../Assets/Fonts/myStyles.css" />
	<fx:Script>	
		<![CDATA[		
			import spark.layouts.*;		
			import mx.core.UIComponent;		
			import mx.core.UIFTETextField;		
			import mx.modules.IModuleInfo;		
			import mx.modules.ModuleManager;		
			import mx.events.ModuleEvent;		
			import flash.events.MouseEvent;		
			private var dp:Array = [{ first: 'Main', last: 'App'}, {first: 'Loads', last: 'Modules' }];				
			private var fontModuleInfo:IModuleInfo;		
			private function loadFontModule():void
			{			
				fontModuleInfo = ModuleManager.getModule("assets/TLFEmbedTestFontModule.swf");			
				fontModuleInfo.addEventListener(ModuleEvent.READY, readyHandler);			
				fontModuleInfo.load();		
			}		
			private function readyHandler(event:Event):void		
			{
				trace("create module now**********************");			
				fontModuleInfo.factory.create();		
			}	
		]]>	
	</fx:Script>	    			
	<s:layout> <s:VerticalLayout/> </s:layout>	
	<s:Button id="changeFonts" label="Change Font" click="pnl.setStyle('fontFamily', 'myCourier')"/>	
	<s:Panel id="pnl" title="Gumbo Main Panel" height="300"  rotation="-10">	
		<s:layout> <s:VerticalLayout/> </s:layout>	
		<s:TextArea id="gumbo_textArea" />	
		<s:Button id="gumbo_button" label="gumbo button" />	
		<mx:Button id="halo_button" label="halo button" textFieldClass="mx.core.UIFTETextField" />	
		<mx:DataGrid id="dg" initialize="dg.dataProvider=dp"  
					 textFieldClass="mx.core.UIFTETextField" 
					 itemRenderer="mx.controls.dataGridClasses.FTEDataGridItemRenderer"/>	
	</s:Panel>
</s:Application>