dictionary.h

00001 // -*- Mode: C++; c-basic-offset: 4; indent-tabs-mode: nil; -*-
00002 /*
00003  * dictionary.h
00004  *
00005  * Copyright (C)  2004  Zack Rusin <zack@kde.org>
00006  *
00007  * This library is free software; you can redistribute it and/or
00008  * modify it under the terms of the GNU Lesser General Public
00009  * License as published by the Free Software Foundation; either
00010  * version 2.1 of the License, or (at your option) any later version.
00011  *
00012  * This library is distributed in the hope that it will be useful,
00013  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00014  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00015  * Lesser General Public License for more details.
00016  *
00017  * You should have received a copy of the GNU Lesser General Public
00018  * License along with this library; if not, write to the Free Software
00019  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
00020  * 02110-1301  USA
00021  */
00022 #ifndef KSPELL_DICTIONARY_H
00023 #define KSPELL_DICTIONARY_H
00024 
00025 #include <qstringlist.h>
00026 #include <qstring.h>
00027 
00028 namespace KSpell2
00029 {
00037     class Dictionary
00038     {
00039     public:
00040         virtual ~Dictionary() {}
00041 
00046         virtual bool check( const QString& word ) =0;
00047 
00053         virtual QStringList suggest( const QString& word ) =0;
00054 
00058         virtual bool checkAndSuggest( const QString& word,
00059                                       QStringList& suggestions ) =0;
00060 
00065         virtual bool storeReplacement( const QString& bad,
00066                                        const QString& good ) =0;
00067 
00072         virtual bool addToPersonal( const QString& word ) =0;
00073 
00078         virtual bool addToSession( const QString& word ) =0;
00079 
00083         QString language() const
00084         {
00085             return m_language;
00086         }
00087 
00092         bool isDefault() const
00093         {
00094             return m_default;
00095         }
00096 
00097     protected:
00098         Dictionary( const QString& lang, bool def = false )
00099             : m_language( lang ), m_default( def ) {}
00100     protected:
00101         friend class Broker;
00102         QString m_language;
00103         bool    m_default;
00104     private:
00105         class Private;
00106         Private *d;
00107     };
00108 }
00109 
00110 #endif
KDE Home | KDE Accessibility Home | Description of Access Keys