Planeshift

spellchecker.h

Go to the documentation of this file.
00001 /*
00002 * spellchecker.h, Author: Fabian Stock ([email protected])
00003 *
00004 * Copyright (C) 2001-2011 Atomic Blue ([email protected], http://www.atomicblue.org) 
00005 *
00006 *
00007 * This program is free software; you can redistribute it and/or
00008 * modify it under the terms of the GNU General Public License
00009 * as published by the Free Software Foundation (version 2 of the License)
00010 * This program is distributed in the hope that it will be useful,
00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of
00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013 * GNU General Public License for more details.
00014 * You should have received a copy of the GNU General Public License
00015 * along with this program; if not, write to the Free Software
00016 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
00017 *
00018 */
00019 
00020 #ifndef _SPELLCHECKER_H_
00021 #define _SPELLCHECKER_H_
00022 
00023 // crystalSpace includes
00024 #include <iutil/comp.h>
00025 
00026 // Hunspell includes
00027 #include <hunspell.hxx>
00028 
00029 //my own includes
00030 #include <ispellchecker.h>
00031 
00032 struct iObjectRegistry;
00033 
00037 class SpellChecker : public scfImplementation2<SpellChecker, iSpellChecker, iComponent>
00038 {
00039     public:
00040         SpellChecker(iBase* parent);
00041         virtual ~SpellChecker();
00042         
00043         //from iComponent
00044         virtual bool Initialize(iObjectRegistry* objReg);
00045         
00046         //from iSpellChecker
00047         virtual void addWord(csString newWord);
00048         virtual const csArray<csString>& getPersonalDict() {return personalDict;};
00049         virtual void clearPersonalDict();
00050         virtual bool hasDicts() {return hunspellChecker.GetSize() != 0;};
00051         virtual bool correct(csString wordToCheck);
00052     protected:
00055         virtual void removeSpecialChars(csString& str);      
00056     private:
00059         csArray<Hunspell*> hunspellChecker;
00062         csArray<csString> personalDict; 
00063         
00064 };
00065 
00066 
00067 #endif // _SPELLCHECKER_H_