You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ah...@apache.org on 2014/04/25 07:27:18 UTC
[13/18] Squiggly spell checker donation from Adobe Systems Inc.
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/a52655ac/Squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Air/UserDictionaryExample/src/UserDictionaryExample.mxml
----------------------------------------------------------------------
diff --git a/Squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Air/UserDictionaryExample/src/UserDictionaryExample.mxml b/Squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Air/UserDictionaryExample/src/UserDictionaryExample.mxml
new file mode 100644
index 0000000..d628280
--- /dev/null
+++ b/Squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Air/UserDictionaryExample/src/UserDictionaryExample.mxml
@@ -0,0 +1,132 @@
+<?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.
+
+-->
+<!---
+* @exampleText The following UserDictionaryExample MXML demonstrates how to use the Squiggly user dictionary API to add/remove words and to save to/load from a file.
+*
+* Note: to make this example work properly, please make sure you have the proper dictionary file in the specified folder
+* and put the Squiggly library(AdobeSpellingEngine.swc) in your libs folder. It must be an AIR project for the File class to work.
+-->
+<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" horizontalAlign="left" initialize="init()">
+<mx:Script>
+ <![CDATA[
+
+
+ import com.adobe.linguistics.spelling.HunspellDictionary;
+ import com.adobe.linguistics.spelling.SpellChecker;
+ import com.adobe.linguistics.spelling.UserDictionary;
+
+
+ private var ud:UserDictionary;
+ private var _newdict:HunspellDictionary = new HunspellDictionary();
+ private var sp:SpellChecker;
+ private function init():void {
+ _newdict.addEventListener(Event.COMPLETE, handleLoadComplete);
+ _newdict.load("dictionaries/en_US/en_US.aff", "dictionaries/en_US/en_US.dic");
+ }
+
+ private function handleLoadComplete(evt:Event):void
+ {
+ sp = new SpellChecker(_newdict);
+ }
+
+ private function checkWord():void {
+ if( sp.checkWord( inputWord.text ) )
+ result.text = "Result:correct";
+ else
+ result.text = "Result:wrong";
+ }
+
+ public function updateWordList():void
+ {
+ wordList.text = "";
+
+ var wl:Vector.<String> = ud.wordList;
+ for each(var w:String in wl)
+ {
+ wordList.text += w + "\n";
+ }
+
+ }
+
+
+ public function loadDict():void
+ {
+ var inFile:File = File.desktopDirectory;
+ inFile = inFile.resolvePath(filename.text);
+ if (inFile.exists)
+ {
+ var inStream:FileStream = new FileStream();
+ inStream.open(inFile, FileMode.READ);
+ ud = new UserDictionary(inStream.readObject() as Vector.<String>);
+ inStream.close();
+ result1.text = "File loaded";
+ }
+ else
+ {
+ ud = new UserDictionary();
+ result1.text = "File created";
+ }
+ updateWordList();
+ sp.addUserDictionary(ud);
+ }
+
+ public function saveDict():void
+ {
+ var outFile:File = File.desktopDirectory;
+ outFile = outFile.resolvePath(filename.text);
+ var outStream:FileStream = new FileStream();
+ outStream.open(outFile, FileMode.WRITE);
+ outStream.writeObject(ud.wordList);
+ outStream.close();
+ result1.text = "File saved"
+ }
+
+ public function addWord():void
+ {
+ ud.addWord(word.text);
+ updateWordList();
+ }
+
+ public function removeWord():void
+ {
+ ud.removeWord(word.text);
+ updateWordList();
+ }
+
+ ]]>
+</mx:Script>
+ <mx:HBox>
+ <mx:TextInput id="filename" text="mywords.ud"/>
+ <mx:Button id="load" label="Load/New dictionary" click="loadDict()" />
+ <mx:Button id="save" label="Save dictionary" click="saveDict()" />
+ <mx:Label id="result1" text="Result:"/>
+ </mx:HBox>
+ <mx:HBox>
+ <mx:TextInput id="word" text="myword"/>
+ <mx:Button id="add" label="Add Word" click="addWord()" />
+ <mx:Button id="remove" label="Remove word" click="removeWord()" />
+ <mx:Label id="result2" text="Result:"/>
+ </mx:HBox>
+ <mx:TextArea id="wordList" height="100" width="100"/>
+
+ <mx:TextInput id="inputWord" text ="test" keyUp="checkWord()"/>
+ <mx:Button id="check" label="Check Word" click="checkWord()" />
+ <mx:Label id ="result" text="Result:"/>
+</mx:WindowedApplication>
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/a52655ac/Squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Flex/CheckWord/src/CheckWord.mxml
----------------------------------------------------------------------
diff --git a/Squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Flex/CheckWord/src/CheckWord.mxml b/Squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Flex/CheckWord/src/CheckWord.mxml
new file mode 100644
index 0000000..3db2705
--- /dev/null
+++ b/Squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Flex/CheckWord/src/CheckWord.mxml
@@ -0,0 +1,68 @@
+<?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.
+
+-->
+<!---
+* @exampleText The following CheckWord MXML demonstrates how a word is checked by using Squiggly API.
+* Note that the results from this example may differ based on dictionary file.
+*
+* The following steps are taken:
+* <ol>
+* <li>A <code>SpellingDictionary</code> object is created </li>
+* <li>A <code>SpellChecker</code> object is created </li>
+* <li>In the mx:application tag, add a function call to <code>init</code> for <code>applicationComplete</code> </li>
+* <li>Create <code>init</code> function body: in the body, add an event listener for <code>SpellingDictionary</code> object.
+* Then create a <code>URLRequest</code> object to specify the url of dictionary file. Then call the <code>SpellingDictionary</code>
+* object <code>load</code> method to load the dictionary from disk or remote URL.
+* </li>
+* <li> Finish the <code>handleLoadComplete</code> function to attach the <code>SpellingDictionary</code> object to a <code>SpellChecker</code> object</li>
+* <li> Add a function to call the <code>CheckWord</code> method of <code>SpellChecker</code> object to verify the correctness of a word. </li>
+* <li>Add related MXML component tag and related property. </li>
+* </ol>
+*
+* Note: to make this example work properly, please make sure you have the proper dictionary file in the specified folder
+* and put the Squiggly library(AdobeSpellingEngine.swc) in your libs folder. Please see the reference "How to generate Squiggly dictionary".
+-->
+<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal" applicationComplete="init()">
+<mx:Script>
+ <![CDATA[
+ import com.adobe.linguistics.spelling.*;
+
+ private var _newdict:HunspellDictionary = new HunspellDictionary();
+ private var sp:SpellChecker;
+ private function init():void {
+ _newdict.addEventListener(Event.COMPLETE, handleLoadComplete);
+ _newdict.load("dictionaries/en_US/en_US.aff", "dictionaries/en_US/en_US.dic");
+ }
+ private function handleLoadComplete(evt:Event):void
+ {
+ sp = new SpellChecker(_newdict);
+ }
+
+ private function checkWord():void {
+ if( sp.checkWord( inputWord.text ) )
+ result.text = "Result:correct";
+ else
+ result.text = "Result:wrong";
+ }
+
+ ]]>
+</mx:Script>
+ <mx:TextInput id="inputWord" text ="test" keyUp="checkWord()"/>
+ <mx:Label id ="result" text="Result:"/>
+</mx:Application>
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/a52655ac/Squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Flex/ConfigExample/src/ConfigExample.mxml
----------------------------------------------------------------------
diff --git a/Squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Flex/ConfigExample/src/ConfigExample.mxml b/Squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Flex/ConfigExample/src/ConfigExample.mxml
new file mode 100644
index 0000000..f5c1b50
--- /dev/null
+++ b/Squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Flex/ConfigExample/src/ConfigExample.mxml
@@ -0,0 +1,77 @@
+<?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.
+
+-->
+<!---
+* @exampleText The following ConfigExample MXML demonstrates the use of ResourceTable.setResource method and SpellingConfiguration class.
+* Note that the results from this example may differ based on dictionary file.
+*
+* The following steps are taken:
+* <ol>
+* <li>Create a <code>ResourceTable</code> object.</li>
+* <li>Map different locales with their resources using <code>ResourceTable.setResource</code> method </li>
+* <li>Set <code>SpellingConfiguration.resourceTable</code> equal to the resource table object created above.</li>
+* <li>Create some text areas and call<code> SpellUI.enableSpelling</code> method for spell check.</li>
+* <li>Spell check is now done using resource set by resource table and AdobeSpellingConfig.xml is ignored.</li>
+* </ol>
+*
+* Note: to make this example work properly, please make sure you have the proper dictionary file in the specified folder
+* and put the Squiggly library(AdobeSpellingFramework.swc and AdobeSpellingUI.swc) in your libs folder. Please see the reference "How to generate Squiggly dictionary".
+-->
+<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" viewSourceURL="srcview/index.html" applicationComplete="init()">
+ <mx:Script>
+ <![CDATA[
+ import com.adobe.linguistics.spelling.SpellUI;
+ import com.adobe.linguistics.spelling.framework.SpellingConfiguration;
+ import com.adobe.linguistics.spelling.framework.ResourceTable;
+
+
+ public function init():void
+ {
+ var resourceTable:ResourceTable = new ResourceTable();
+ resourceTable.setResource("en_US", {rule:"data/en_US.aff", dict:"data/en_US.dic"});
+ resourceTable.setResource("es_ES", {rule:"data/es_ES.aff", dict:"data/es_ES.dic"});
+ SpellingConfiguration.resourceTable = resourceTable;
+ }
+ public function spellEnglish():void
+ {
+ SpellUI.enableSpelling(ta_en,"en_US");
+ }
+ public function spellSpanish():void
+ {
+ SpellUI.enableSpelling(ta_es,"es_ES");
+ }
+
+ ]]>
+ </mx:Script>
+
+ <mx:Label text="ConfigExample.mxml Spell checks using SpellingConfiguration class. Does not need AdobeSpellingConfig.xml" fontSize="20"/>
+
+
+
+ <mx:TextArea id="ta_en" width="50%" height="20%"
+ text="I know Enlish. Use the context menu to see the suggestions of the missbelled word. " />
+ <mx:Button label="Spell English" id="b1" click="spellEnglish()"/>
+
+ <mx:TextArea id="ta_es" width="50%" height="20%"
+ text="Sé esbañol. Utilice el menú contextual para ver las sugerencias de la palabra mal eskrita. " />
+ <mx:Button label="Spell Spanish" id="b2" click="spellSpanish()"/>
+
+</mx:Application>
+
+
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/a52655ac/Squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Flex/ContextMenuWithResource/locale/en_US/SquigglyContextMenu.properties
----------------------------------------------------------------------
diff --git a/Squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Flex/ContextMenuWithResource/locale/en_US/SquigglyContextMenu.properties b/Squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Flex/ContextMenuWithResource/locale/en_US/SquigglyContextMenu.properties
new file mode 100644
index 0000000..9881a48
--- /dev/null
+++ b/Squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Flex/ContextMenuWithResource/locale/en_US/SquigglyContextMenu.properties
@@ -0,0 +1,19 @@
+# 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.
+
+# locale/en_US/SquigglyContextMenu.properties
+add=Add to dictionary
+enable=Enable spelling
+disable=Disable spelling
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/a52655ac/Squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Flex/ContextMenuWithResource/locale/es_ES/SquigglyContextMenu.properties
----------------------------------------------------------------------
diff --git a/Squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Flex/ContextMenuWithResource/locale/es_ES/SquigglyContextMenu.properties b/Squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Flex/ContextMenuWithResource/locale/es_ES/SquigglyContextMenu.properties
new file mode 100644
index 0000000..cbe3de2
--- /dev/null
+++ b/Squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Flex/ContextMenuWithResource/locale/es_ES/SquigglyContextMenu.properties
@@ -0,0 +1,19 @@
+# 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.
+
+# locale/es_ES/SquigglyContextMenu.properties
+add=Añadir al diccionario
+enable=Revisar ortografía
+disable=Ignorar ortografía
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/a52655ac/Squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Flex/ContextMenuWithResource/src/ContextMenuWithResource.mxml
----------------------------------------------------------------------
diff --git a/Squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Flex/ContextMenuWithResource/src/ContextMenuWithResource.mxml b/Squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Flex/ContextMenuWithResource/src/ContextMenuWithResource.mxml
new file mode 100644
index 0000000..44d6080
--- /dev/null
+++ b/Squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Flex/ContextMenuWithResource/src/ContextMenuWithResource.mxml
@@ -0,0 +1,74 @@
+<?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.
+
+-->
+<!---
+* @exampleText The following ContextMenuWithResource MXML demonstrates how to localize your spelling context menu with Flex resource when using Squiggly UI components.
+*
+* <ol>
+* <li> Call Squiggly <code>SpellUI.enableSpelling</code> method to enable spell checking when application is initialized.</li>
+* <li> Once the locale ComboBox is changed, change localeChain and call updateContextMenuForLocaleChange() function. For more info on localization with resource, see http://livedocs.adobe.com/flex/3/html/help.html?content=l10n_1.html </li>
+* <li> In updateContextMenuForLocaleChange(), create an associative array object with proper keys and values by getting resource from SquigglyContextMenu resource. </li>
+* <li> Call Squiggly <code>SpellUI.setSpellingMenuEntries</code> method to customize the menu. </li>
+* </ol>
+*
+* Note: to make this example work properly, please make sure you have the proper dictionary files and AdobeSpellingConfig.xml file in the specified folder
+* and put the Squiggly libraries (both AdobeSpellingEngine.swc and AdobeSpellingUI.swc) in you libs folder.
+*
+-->
+<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" initialize="init();">
+ <mx:Script>
+ <![CDATA[
+
+ import com.adobe.linguistics.spelling.SpellUI;
+
+ [Bindable]
+ private var uiLocales:Array = ["en_US", "es_ES" ];
+
+ private function uiLocaleChange():void
+ {
+ resourceManager.localeChain = [ localeComboBox.selectedItem ];
+ updateContextMenuForLocaleChange();
+ }
+
+ private function updateContextMenuForLocaleChange():void
+ {
+ var contextMenu:Object =
+ {add:resourceManager.getString('SquigglyContextMenu', 'add'),
+ enable:resourceManager.getString('SquigglyContextMenu', 'enable'),
+ disable:resourceManager.getString('SquigglyContextMenu', 'disable')};
+ SpellUI.setSpellingMenuEntries(contextMenu);
+ }
+
+ private function init():void
+ {
+ SpellUI.enableSpelling(ta, "en_US");
+ }
+ ]]>
+ </mx:Script>
+
+ <mx:Metadata>
+ [ResourceBundle("SquigglyContextMenu")]
+ </mx:Metadata>
+ <mx:Label text="Example for contextMenu customization with resource" fontSize="30"/>
+ <mx:HBox>
+ <mx:Text text="Locale for Squiggly contextMenu" color="blue"/>
+ <mx:ComboBox id="localeComboBox" dataProvider="{uiLocales}" change="uiLocaleChange()"/>
+ </mx:HBox>
+ <mx:TextArea id="ta" width="50%" height="50%" fontSize="30" y="50" text="Sé esbañol. Utilice el menú contextual para ver las sugerencias de la palabra mal eskrita."/>
+</mx:Application>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/a52655ac/Squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Flex/CustomContextMenu/src/CustomContextMenu.mxml
----------------------------------------------------------------------
diff --git a/Squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Flex/CustomContextMenu/src/CustomContextMenu.mxml b/Squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Flex/CustomContextMenu/src/CustomContextMenu.mxml
new file mode 100644
index 0000000..41db081
--- /dev/null
+++ b/Squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Flex/CustomContextMenu/src/CustomContextMenu.mxml
@@ -0,0 +1,59 @@
+<?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.
+
+-->
+<!---
+* @exampleText The following CustomContextMenu MXML demonstrates how to customize your spelling context menu when using Squiggly UI components.
+*
+*
+* <ol>
+* <li>
+* Create an associative array object with proper keys and values.
+* </li>
+* <li>
+* Call Squiggly <code>SpellUI.setSpellingMenuEntries</code> method to customize the menu. We recommend using this API with resource bundle rather than using hard coded string.
+* </li>
+* <li>
+* Call Squiggly <code>SpellUI.enableSpelling</code> method to enable spell checking.
+* </li>
+* </ol>
+*
+* Note: to make this example work properly, please make sure you have the proper dictionary files and AdobeSpellingConfig.xml file in the specified folder
+* and put the Squiggly libraries (both AdobeSpellingEngine.swc and AdobeSpellingUI.swc) in you libs folder.
+-->
+<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" initialize="init();">
+ <mx:Script>
+ <![CDATA[
+
+ import com.adobe.linguistics.spelling.SpellUI;
+
+ public function init():void
+ {
+ // This is just for example code purpose, we recommend using this with resource bundle rather than using hard coded string.
+ var spanishEntries:Object = {enable:"Revisar ortografía", disable:"Ignorar ortografía", add:"Añadir al diccionario"};
+ var result:Boolean = SpellUI.setSpellingMenuEntries(spanishEntries);
+ if (result == false) trace("Error customizing contextMenu, default menu will be used");
+
+ SpellUI.enableSpelling(ta, "en_US");
+ }
+ ]]>
+ </mx:Script>
+
+ <mx:Label text="Example for Spanish contextMenu" fontSize="30"/>
+ <mx:TextArea id="ta" width="50%" height="50%" fontSize="30" y="50"/>
+</mx:Application>
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/a52655ac/Squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Flex/GetSuggestion/src/GetSuggestion.mxml
----------------------------------------------------------------------
diff --git a/Squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Flex/GetSuggestion/src/GetSuggestion.mxml b/Squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Flex/GetSuggestion/src/GetSuggestion.mxml
new file mode 100644
index 0000000..912e502
--- /dev/null
+++ b/Squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Flex/GetSuggestion/src/GetSuggestion.mxml
@@ -0,0 +1,84 @@
+<?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.
+
+-->
+<!---
+* @exampleText The following GetSuggestion MXML demonstrates how to get the suggestion list for a mispelled word by using Squiggly API.
+* Note that the results from this example may differ based on dictionary file.
+*
+* The following steps are taken:
+* <ol>
+* <li>A <code>SpellingDictionary</code> object is created </li>
+* <li>A <code>SpellChecker</code> object is created </li>
+* <li>In the mx:application tag, add a functon call to <code>init</code> for <code>applicationComplete</code> </li>
+* <li>Create <code>init</code> function body: in the body, add a event listener for <code>SpellingDictionary</code> object.
+* Then create a <code>URLRequest</code> object to specify the url of dictionary file. Then call the <code>SpellingDictionary</code>
+* object <code>load</load> method to load the dictionary from disk or remote URL.</li>
+* <li> Finish the <code>handleLoadComplete</code> function to attach the <code>SpellingDictionary</code> object to a <code>SpellChecker</code> object</li>
+* <li> Add a function to call the <code>CheckWord</code> method of <code>SpellChecker</code> object to verify the correctness of a word. </li>
+* </li>
+* <li> For the mispelled word from last step, call the <code>getSuggestions</code> method of <code>SpellChecker</code> object to query the suggestion list
+* </li>
+* <li>Add related MXML component tag and related property.
+* </li>
+* </ol>
+*
+* Note: to make this example work properly, please make sure you have the proper dictionary file in the specified folder
+* and put the Squiggly library(AdobeSpellingEngine.swc) in you libs folder. Please see the reference "How to generate Squiggly dictionary".
+-->
+<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" applicationComplete="init()" horizontalAlign="left">
+<mx:Script>
+ <![CDATA[
+ import com.adobe.linguistics.spelling.*;
+
+ private var _newdict:HunspellDictionary = new HunspellDictionary();
+ private var sp:SpellChecker;
+ private function init():void {
+ _newdict.addEventListener(Event.COMPLETE, handleLoadComplete);
+ _newdict.load("dictionaries/en_US/en_US.aff", "dictionaries/en_US/en_US.dic");
+ }
+ private function handleLoadComplete(evt:Event):void
+ {
+ sp = new SpellChecker(_newdict);
+ }
+
+ private function checkWord():void {
+ suggestions.text= "";
+ if( sp.checkWord( inputWord.text ) ) {
+ result.text = "Result:correct";
+ }
+ else {
+ result.text = "Result:wrong";
+ var sugeestionArr:Array= sp.getSuggestions(inputWord.text);
+ if (sugeestionArr != null) {
+ for ( var i:int=0;i< sugeestionArr.length; i++ ) {
+ suggestions.text= suggestions.text + sugeestionArr[i] + "\n";
+ }
+ }
+ }
+ }
+
+ ]]>
+</mx:Script>
+ <mx:HBox>
+ <mx:TextInput id="inputWord" text ="test" keyUp="checkWord()"/>
+ <mx:Button id="check" label="Check Word" click="checkWord()" />
+ <mx:Label id ="result" text="Result:"/>
+ </mx:HBox>
+ <mx:TextArea id="suggestions" height="300" width="100"/>
+</mx:Application>
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/a52655ac/Squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Flex/SpellingServiceEsg/src/SpellingServiceEsg.mxml
----------------------------------------------------------------------
diff --git a/Squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Flex/SpellingServiceEsg/src/SpellingServiceEsg.mxml b/Squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Flex/SpellingServiceEsg/src/SpellingServiceEsg.mxml
new file mode 100644
index 0000000..c51e4ac
--- /dev/null
+++ b/Squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Flex/SpellingServiceEsg/src/SpellingServiceEsg.mxml
@@ -0,0 +1,98 @@
+<?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.
+
+-->
+<!---
+* @exampleText The following SpellingServiceEsg MXML demonstrates the use of SpellingService class.
+* Note that the results from this example may differ based on dictionary file.
+*
+* The following steps are taken:
+* <ol>
+* <li>A <code>ResourceTable</code> object is created and locales are mapped to file URLs.</li>
+* <li><code>SpellingService</code> object is created and initialized</li>
+* <li><code>SpellingServicecheckWord</code> method is used to check word and output is displayed</li>
+* <li>A <code>UserDictionary</code> object is created and a word is added to it.</li>
+* <li>A word is added to the user dictionary which in turn is added to SpellingService Object using <code>SpellingService.addUserDictionary</code> method.</li>
+* <li> <code>SpellingService.checkWord</code> API is again called.</li>
+* <li>The userDictionary is removed using <code>SpellingService.removeUserDictionary</code> method.</li>
+* </ol>
+*
+* Note: to make this example work properly, please make sure you have the proper dictionary file in the specified folder
+* and put the Squiggly library(AdobeSpellingEngine.swc) in your libs folder. Please see the reference "How to generate Squiggly dictionary".
+-->
+<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" minWidth="955" minHeight="600" initialize="init();">
+ <fx:Declarations>
+ <!-- Place non-visual elements (e.g., services, value objects) here -->
+ </fx:Declarations>
+ <fx:Script>
+ <![CDATA[
+ import com.adobe.linguistics.spelling.framework.*;
+ import com.adobe.linguistics.spelling.*;
+
+ private var spellingService:SpellingService = null;
+
+ private function init():void {
+ result.text += "AdobeSpellingServiceFramework tests\n===================\n";
+ result.text += "Setting SpellingConfiguration and initializing SpellingService ...\n";
+
+ var resourceTable:ResourceTable = new ResourceTable();
+ resourceTable.setResource("en_US", {rule:"data/en_US.aff", dict:"data/en_US.dic"});
+ SpellingConfiguration.resourceTable = resourceTable;
+
+ spellingService = new SpellingService("en_US");
+ spellingService.addEventListener(Event.COMPLETE, spellingServiceReady);
+ spellingService.init();
+ }
+
+ private function spellingServiceReady(e:Event):void {
+ result.text += "SpellingService ready for use\n";
+
+ result.text += "Checking \"hello\" ... " + spellingService.checkWord("hello") + "\n";
+ result.text += "Checking \"heello\" ... " + spellingService.checkWord("heello") + "\n";
+ result.text += "Getting suggestions for \"heello\" ... " + spellingService.getSuggestions("heello") + "\n";
+
+
+ var ud:UserDictionary = new UserDictionary();
+ result.text += "Adding \"heello\" to UserDictionary ..." + ud.addWord("heello") + "\n";
+ result.text += "Adding UserDicitonary to SpellingService ..." + spellingService.addUserDictionary(ud) +"\n";
+ result.text += "Checking \"heello\" again, expect true ..." + spellingService.checkWord("heello") + "\n";
+
+ result.text += "Removing \"heello\" from UserDictionary ..." + ud.removeWord("heello") + "\n"
+ result.text += "Checking \"heello\" again, expect false ..." + spellingService.checkWord("heello") + "\n";
+
+ result.text += "Number of UserDictionary, expect 1 ..." + spellingService.userDictionaries.length + "\n";
+
+ var ud2:UserDictionary = new UserDictionary();
+ result.text += "Adding UserDicitonary 2 to SpellingService ..." + spellingService.addUserDictionary(ud2) +"\n";
+ result.text += "Adding \"heello\" to UserDictionary 2 ..." + ud2.addWord("heello") + "\n";
+ result.text += "Checking \"heello\" again, expect true ..." + spellingService.checkWord("heello") + "\n";
+ result.text += "Number of UserDictionary, expect 2 ..." + spellingService.userDictionaries.length + "\n";
+
+ spellingService.removeUserDictionary(ud);
+ spellingService.removeUserDictionary(ud2);
+ result.text += "Checking \"heello\" again after removing all UserDictionaries, expect false ..." + spellingService.checkWord("heello") + "\n";
+ result.text += "Number of UserDictionary, expect 0 ..." + spellingService.userDictionaries.length + "\n";
+
+ }
+
+ ]]>
+ </fx:Script>
+ <mx:Text id="result"/>
+</s:Application>
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/a52655ac/Squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Flex/SpellingServiceExample/src/AdobeSpellingFrameworkExample.mxml
----------------------------------------------------------------------
diff --git a/Squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Flex/SpellingServiceExample/src/AdobeSpellingFrameworkExample.mxml b/Squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Flex/SpellingServiceExample/src/AdobeSpellingFrameworkExample.mxml
new file mode 100644
index 0000000..0fc24f3
--- /dev/null
+++ b/Squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Flex/SpellingServiceExample/src/AdobeSpellingFrameworkExample.mxml
@@ -0,0 +1,80 @@
+<?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" minWidth="955" minHeight="600" initialize="init();">
+ <fx:Declarations>
+ <!-- Place non-visual elements (e.g., services, value objects) here -->
+ </fx:Declarations>
+ <fx:Script>
+ <![CDATA[
+ import com.adobe.linguistics.spelling.framework.*;
+ import com.adobe.linguistics.spelling.*;
+
+ private var spellingService:SpellingService = null;
+
+ private function init():void {
+ result.text += "AdobeSpellingServiceFramework tests\n===================\n";
+ result.text += "Setting SpellingConfiguration and initializing SpellingService ...\n";
+
+ var resourceTable:ResourceTable = new ResourceTable();
+ resourceTable.setResource("en_US", {rule:"data/en_US.aff", dict:"data/en_US.dic"});
+ SpellingConfiguration.resourceTable = resourceTable;
+
+ spellingService = new SpellingService("en_US");
+ spellingService.addEventListener(Event.COMPLETE, spellingServiceReady);
+ spellingService.init();
+ }
+
+ private function spellingServiceReady(e:Event):void {
+ result.text += "SpellingService ready for use\n";
+
+ result.text += "Checking \"hello\" ... " + spellingService.checkWord("hello") + "\n";
+ result.text += "Checking \"heello\" ... " + spellingService.checkWord("heello") + "\n";
+ result.text += "Getting suggestions for \"heello\" ... " + spellingService.getSuggestions("heello") + "\n";
+
+
+ var ud:UserDictionary = new UserDictionary();
+ result.text += "Adding \"heello\" to UserDictionary ..." + ud.addWord("heello") + "\n";
+ result.text += "Adding UserDicitonary to SpellingService ..." + spellingService.addUserDictionary(ud) +"\n";
+ result.text += "Checking \"heello\" again, expect true ..." + spellingService.checkWord("heello") + "\n";
+
+ result.text += "Removing \"heello\" from UserDictionary ..." + ud.removeWord("heello") + "\n"
+ result.text += "Checking \"heello\" again, expect false ..." + spellingService.checkWord("heello") + "\n";
+
+ result.text += "Number of UserDictionary, expect 1 ..." + spellingService.userDictionaries.length + "\n";
+
+ var ud2:UserDictionary = new UserDictionary();
+ result.text += "Adding UserDicitonary 2 to SpellingService ..." + spellingService.addUserDictionary(ud2) +"\n";
+ result.text += "Adding \"heello\" to UserDictionary 2 ..." + ud2.addWord("heello") + "\n";
+ result.text += "Checking \"heello\" again, expect true ..." + spellingService.checkWord("heello") + "\n";
+ result.text += "Number of UserDictionary, expect 2 ..." + spellingService.userDictionaries.length + "\n";
+
+ spellingService.removeUserDictionary(ud);
+ spellingService.removeUserDictionary(ud2);
+ result.text += "Checking \"heello\" again after removing all UserDictionaries, expect false ..." + spellingService.checkWord("heello") + "\n";
+ result.text += "Number of UserDictionary, expect 0 ..." + spellingService.userDictionaries.length + "\n";
+
+ }
+
+ ]]>
+ </fx:Script>
+ <mx:Text id="result"/>
+</s:Application>
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/a52655ac/Squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Flex/SquigglyUIExample/src/SquigglyUIExample.mxml
----------------------------------------------------------------------
diff --git a/Squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Flex/SquigglyUIExample/src/SquigglyUIExample.mxml b/Squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Flex/SquigglyUIExample/src/SquigglyUIExample.mxml
new file mode 100644
index 0000000..0c4fcef
--- /dev/null
+++ b/Squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Flex/SquigglyUIExample/src/SquigglyUIExample.mxml
@@ -0,0 +1,55 @@
+<?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.
+
+-->
+<!---
+* @exampleText The following SquigglyUIExample MXML demonstrates how to use Squiggly UI API to easily integrate Squiggly with your own UI component.
+*
+* Note that the results from this example may differ based on dictionary file.
+*
+* Only one line code is needed:
+* <ol>
+* <li>
+* Call Squiggly <code>SpellUI.enableSpelling</code> method to attach the <code>TextArea</code> component and the dictionary file.
+* </li>
+* </ol>
+*
+* Note: to make this example work properly, please make sure you have the proper dictionary files and AdobeSpellingConfig.xml file in the specified folder
+* and put the Squiggly libraries (both AdobeSpellingEngine.swc and AdobeSpellingUI.swc) in your libs folder.
+-->
+<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical">
+<mx:Script>
+ <![CDATA[
+ import com.adobe.linguistics.spelling.SpellUI;
+
+ private function enableFeature():void {
+ SpellUI.enableSpelling(textArea, "en_US");
+ }
+ private function disableFeature() :void {
+ SpellUI.disableSpelling(textArea);
+
+ }
+ ]]>
+</mx:Script>
+
+ <mx:TextArea id="textArea" width="20%" height="20%" fontSize="30" text="Spell cheecking in TextArea "/>
+ <mx:Button id="tt1" label="disable Feature" click="disableFeature()" />
+ <mx:Button id="tt2" label="enable Feature" click="enableFeature()" />
+
+</mx:Application>
+
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/a52655ac/Squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Flex/SquigglyUIExample/src/SquigglyUIexampleDictload.mxml
----------------------------------------------------------------------
diff --git a/Squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Flex/SquigglyUIExample/src/SquigglyUIexampleDictload.mxml b/Squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Flex/SquigglyUIExample/src/SquigglyUIexampleDictload.mxml
new file mode 100644
index 0000000..01bb825
--- /dev/null
+++ b/Squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Flex/SquigglyUIExample/src/SquigglyUIexampleDictload.mxml
@@ -0,0 +1,79 @@
+<?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:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical"> -->
+<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"
+ xmlns:popup="popup.*"
+ minWidth="955" minHeight="600" >
+ <!-- creationComplete="startRotation()" viewSourceURL="srcview/index.html"-->
+ <fx:Script>
+ <![CDATA[
+ import com.adobe.linguistics.spelling.SpellUI;
+ /*//------------------------
+ //thread variable
+ private var thread:PseudoThread;
+ //this is a thread function added
+ private function launchThread():void
+ {
+ thread = new PseudoThread(systemManager, enableFeature);
+ thread.addEventListener("threadComplete", threadCompleteHandler);
+ }
+ //a do nothing fucntion
+ private function threadCompleteHandler(event:Event):void
+ {
+ }
+ //--------------------------*/
+ private function enableFeature():void {
+ /* var str1:String="C:/p4_garuda1890_ugoyal-xp/esg/users/ravi/squiggly/main/ASDocExamples/com/adobe/linguistics/spelling/Examples/Flex/SquigglyUIExample/";
+ var str2:String="AdobeSpellingConfig.xml";
+ //result.text=str1+ta.text;
+ SpellUI.spellingConfigURL =str1+str2;*/
+ SpellUI.enableSpelling(textArea, "pt_PT");
+ }
+ private function disableFeature() :void {
+ SpellUI.disableSpelling(textArea);
+
+ }
+
+
+ //--------------------------------
+ /* private function startRotation():void //add this above
+ {
+ addEventListener("enterFrame", enterFrameHandler);
+ }
+
+ private function enterFrameHandler(event:Event):void
+ {
+ //trace("enterFrame");
+ rbutton.rotation += 14;
+ }
+ //---------------------------*/
+ ]]>
+ </fx:Script>
+ <s:layout>
+ <s:VerticalLayout/>
+ </s:layout>
+
+ <mx:TextArea id="textArea" width="20%" height="20%" fontSize="30" text="Spell cheecking in TextArea "/>
+ <mx:Button id="tt1" label="disable Feature" click="disableFeature()" />
+ <mx:Button id="tt2" label="enable Feature" click="enableFeature()" />
+<!-- <mx:Button id="rbutton" label="Rotating Button"/> -->
+</s:Application>
\ No newline at end of file