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