kdeui Library API Documentation

kspell.h

00001 /* This file is part of the KDE libraries 00002 Copyright (C) 1997 David Sweet <dsweet@kde.org> 00003 Copyright (C) 2003 Zack Rusin <zack@kde.org> 00004 00005 This library is free software; you can redistribute it and/or 00006 modify it under the terms of the GNU Library General Public 00007 License version 2 as published by the Free Software Foundation. 00008 00009 This library is distributed in the hope that it will be useful, 00010 but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 Library General Public License for more details. 00013 00014 You should have received a copy of the GNU Library General Public License 00015 along with this library; see the file COPYING.LIB. If not, write to 00016 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 00017 Boston, MA 02111-1307, USA. 00018 */ 00019 #ifndef __KSPELL_H__ 00020 #define __KSPELL_H__ 00021 00022 #include "ksconfig.h" 00023 00024 #include <qobject.h> 00025 #include <qstringlist.h> 00026 #include <qstring.h> 00027 #include <kdemacros.h> 00028 00029 class QTextCodec; 00030 class KProcIO; 00031 class KProcess; 00032 class KSpellDlg; 00033 00046 class KSpell : public QObject 00047 { 00048 Q_OBJECT 00049 00050 public: 00051 00065 enum spellStatus { Starting = 0, Running, Cleaning, Finished, Error, Crashed, FinishedNoMisspellingsEncountered }; 00066 00080 enum SpellerType { Text = 0, HTML, TeX, Nroff }; 00081 00099 KSpell(QWidget *parent, const QString &caption, 00100 QObject *receiver, const char *slot, KSpellConfig *kcs=0, 00101 bool progressbar = true, bool modal = false); 00102 00121 KSpell(QWidget *parent, const QString &caption, 00122 QObject *receiver, const char *slot, KSpellConfig *kcs, 00123 bool progressbar, bool modal, SpellerType type); 00124 00130 spellStatus status() const { return m_status; } 00131 00139 virtual void cleanUp (); 00140 00145 void setAutoDelete(bool _autoDelete) { autoDelete = _autoDelete; } 00146 00160 virtual bool check (const QString &_buffer, bool usedialog = true); 00161 00167 int lastPosition() const 00168 { return lastpos;} 00169 00180 virtual bool checkList (QStringList *_wordlist, bool usedialog = true); 00181 00204 virtual bool checkWord (const QString &_buffer, bool usedialog = false); 00205 bool checkWord( const QString & buffer, bool _usedialog, bool suggest ); 00206 00212 void hide (); 00213 00222 QStringList suggestions () const { return sugg; } 00223 00240 int dlgResult () const 00241 { return dlgresult; } 00242 00251 void moveDlg (int x, int y); 00252 00256 int heightDlg () const; 00260 int widthDlg () const; 00261 00267 QString intermediateBuffer () const {return newbuffer;} 00268 00275 virtual bool ignore (const QString & word); 00276 00283 virtual bool addPersonal (const QString & word); 00284 00288 KSpellConfig ksConfig () const; 00289 00297 void setProgressResolution (unsigned int res); 00298 00303 virtual ~KSpell(); 00304 00313 static int modalCheck( QString& text ) KDE_DEPRECATED; 00314 00323 static int modalCheck( QString& text, KSpellConfig * kcs ); 00324 00329 void setIgnoreUpperWords(bool b); 00330 00336 void setIgnoreTitleCase(bool b); 00337 00338 signals: 00339 00357 void misspelling (const QString & originalword, const QStringList & suggestions, 00358 unsigned int pos); 00359 00375 void corrected (const QString & originalword, const QString & newword, unsigned int pos); 00376 00383 void ignoreall (const QString & originalword); 00384 00390 void ignoreword (const QString & originalword); 00391 00398 void addword (const QString & originalword); 00399 00403 void replaceall( const QString & origword , const QString &replacement ); 00404 00409 void ready(KSpell *); 00410 00415 void progress (unsigned int i); 00416 00425 void done (const QString &buffer); 00426 00434 void done(bool); 00435 00446 void death( ); 00447 00448 00449 protected slots: 00450 /* All of those signals from KProcIO get sent here. */ 00451 void KSpell2 (KProcIO *); 00452 void checkWord2 (KProcIO *); 00453 void checkWord3 (); 00454 void check2 (KProcIO *); 00455 void checkList2 (); 00456 void checkList3a (KProcIO *); 00457 void checkListReplaceCurrent (); 00458 void checkList4 (); 00459 void dialog2 (int dlgresult); 00460 void check3 (); 00461 void suggestWord( KProcIO * ); 00462 00463 void slotStopCancel (int); 00464 void ispellExit (KProcess *); 00465 void emitDeath(); 00466 void ispellErrors (KProcess *, char *, int); 00467 void checkNext(); 00468 00469 private slots: 00473 void slotModalReady(); 00474 00478 void slotModalDone( const QString & ); 00479 00483 void slotSpellCheckerCorrected( const QString & oldText, const QString & newText, unsigned int ); 00484 00488 void slotModalSpellCheckerFinished( ); 00489 00490 signals: 00491 void dialog3 (); 00492 00493 protected: 00494 00495 KProcIO *proc; 00496 QWidget *parent; 00497 KSpellConfig *ksconfig; 00498 KSpellDlg *ksdlg; 00499 QStringList *wordlist; 00500 QStringList::Iterator wlIt; 00501 QStringList ignorelist; 00502 QStringList replacelist; 00503 QStringList sugg; 00504 QTextCodec* codec; 00505 00506 spellStatus m_status; 00507 00508 bool usedialog; 00509 bool texmode; 00510 bool dlgon; 00511 bool personaldict; 00512 bool dialogwillprocess; 00513 bool progressbar; 00514 bool dialogsetup; 00515 bool autoDelete; 00516 00517 QString caption; 00518 QString orig; 00519 QString origbuffer; 00520 QString newbuffer; 00521 QString cwword; 00522 QString dlgorigword; 00523 QString dlgreplacement; 00524 QString dialog3slot; 00525 00526 int dlgresult; 00527 int trystart; 00528 int maxtrystart; 00529 int lastpos; 00530 unsigned int totalpos; 00531 unsigned int lastline; 00532 unsigned int posinline; 00533 unsigned int lastlastline; 00534 unsigned int offset; 00535 unsigned int progres; 00536 unsigned int curprog; 00537 00541 bool modaldlg; 00542 static QString modaltext; 00543 static int modalreturn; 00544 static QWidget* modalWidgetHack; 00545 00546 int parseOneResponse (const QString &_buffer, QString &word, QStringList &sugg); 00547 QString funnyWord (const QString & word); 00548 void dialog (const QString & word, QStringList & sugg, const char* _slot); 00549 QString replacement () const 00550 { return dlgreplacement; } 00551 00552 void setUpDialog ( bool reallyusedialogbox = true); 00553 00554 void emitProgress (); 00555 bool cleanFputs (const QString & s, bool appendCR=true); 00556 bool cleanFputsWord (const QString & s, bool appendCR=true); 00557 void startIspell(); 00558 bool writePersonalDictionary(); 00559 void initialize( QWidget *_parent, const QString &_caption, 00560 QObject *obj, const char *slot, KSpellConfig *_ksc, 00561 bool _progressbar, bool _modal, SpellerType type ); 00562 00563 private: 00564 class KSpellPrivate; 00565 KSpellPrivate *d; 00566 }; 00567 00568 #endif
KDE Logo
This file is part of the documentation for kdeui Library Version 3.2.3.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Mon Aug 30 22:53:59 2004 by doxygen 1.3.8 written by Dimitri van Heesch, © 1997-2003