Planeshift
|
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_