<?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:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
					   xmlns:s="library://ns.adobe.com/flex/spark" 
					   xmlns:mx="library://ns.adobe.com/flex/mx">
	<s:layout>
		<s:VerticalLayout/>
	</s:layout>
	
	<fx:Script>
		<![CDATA[
			
			import com.adobe.linguistics.spelling.SpellUI;   		           
			
			private function EnableAll(evt:MouseEvent):void {
				SpellUI.enableSpelling(halo1, "usa.zwl");
				SpellUI.enableSpelling(halo2, "usa.zwl");
				SpellUI.enableSpelling(halo3, "usa.zwl");
				SpellUI.enableSpelling(spark1, "usa.zwl");
				SpellUI.enableSpelling(spark2, "usa.zwl");
				
			}
			
			private function DisableAll(evt:MouseEvent):void {
				SpellUI.disableSpelling(halo1);
				SpellUI.disableSpelling(halo2);
				SpellUI.disableSpelling(halo3);
				SpellUI.disableSpelling(spark1);
				SpellUI.disableSpelling(spark2);
			}
			
		]]>
	</fx:Script>
	
	<mx:Label text="Squiggly Spell Checker Flex Demo v0.2" fontSize="30"/>
	<s:HGroup>
		<s:Button label="EnableSpelling" click="EnableAll(event)"/>	
		<s:Button label="DisableSpelling" click="DisableAll(event)"/>		
	</s:HGroup>
	
	<s:HGroup width="100%" height="100%">
		<s:VGroup width="50%" height="100%">
			<mx:Label fontSize="30" text="Halo Components"/>
			<mx:TextInput id="halo1" width="80%" fontSize="30" text="Spell cheecking in halo TextInput"/>
			<mx:TextArea id="halo2" width="80%" height="50%" fontSize="30" text="Spell cheecking in halo TextArea"/>
			<mx:RichTextEditor id="halo3" width="80%" height="50%" fontSize="30" text="Spell cheecking in halo RichTextEditor"/>
		</s:VGroup>
		<s:VGroup width="50%" height="100%">
			<mx:Label fontSize="30" text="Spark Components"/>
			<s:TextInput id="spark1" width="80%" fontSize="30" text="Spell cheecking in spark TextInput"/>
			<s:TextArea id="spark2" width="80%" height="50%" fontSize="30" text="Spell cheecking in spark TextArea"/>
		</s:VGroup>
	</s:HGroup>
</s:WindowedApplication>
