highlighter.h
00001 /* 00002 * highlighter.h 00003 * 00004 * Copyright (C) 2004 Zack Rusin <zack@kde.org> 00005 * 00006 * This library is free software; you can redistribute it and/or 00007 * modify it under the terms of the GNU Lesser General Public 00008 * License as published by the Free Software Foundation; either 00009 * version 2.1 of the License, or (at your option) any later version. 00010 * 00011 * This library is distributed in the hope that it will be useful, 00012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00014 * Lesser General Public License for more details. 00015 * 00016 * You should have received a copy of the GNU Lesser General Public 00017 * License along with this library; if not, write to the Free Software 00018 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 00019 * 02110-1301 USA 00020 */ 00021 #ifndef KSPELL_HIGHLIGHTER_H 00022 #define KSPELL_HIGHLIGHTER_H 00023 00024 #include "filter.h" 00025 00026 #include <qsyntaxhighlighter.h> 00027 00028 class QTextEdit; 00029 00030 namespace KSpell2 00031 { 00032 class Highlighter : public QSyntaxHighlighter 00033 { 00034 public: 00035 Highlighter( QTextEdit *textEdit, 00036 const QString& configFile = QString::null, 00037 Filter *filter = Filter::defaultFilter() ); 00038 ~Highlighter(); 00039 00040 virtual int highlightParagraph( const QString& text, 00041 int endStateOfLastPara ); 00042 00043 Filter *currentFilter() const; 00044 void setCurrentFilter( Filter *filter ); 00045 00046 QString currentLanguage() const; 00047 void setCurrentLanguage( const QString& lang ); 00048 00049 protected: 00050 virtual void setMisspelled( int start, int count ); 00051 virtual void unsetMisspelled( int start, int count ); 00052 private: 00053 class Private; 00054 Private *d; 00055 }; 00056 00057 } 00058 00059 #endif