summaryrefslogtreecommitdiffstats
path: root/tdeui/kspell.h
diff options
context:
space:
mode:
Diffstat (limited to 'tdeui/kspell.h')
-rw-r--r--tdeui/kspell.h568
1 files changed, 0 insertions, 568 deletions
diff --git a/tdeui/kspell.h b/tdeui/kspell.h
deleted file mode 100644
index fef733507..000000000
--- a/tdeui/kspell.h
+++ /dev/null
@@ -1,568 +0,0 @@
-/* This file is part of the KDE libraries
- Copyright (C) 1997 David Sweet <dsweet@kde.org>
- Copyright (C) 2003 Zack Rusin <zack@kde.org>
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public
- License version 2 as published by the Free Software Foundation.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public License
- along with this library; see the file COPYING.LIB. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-#ifndef __KSPELL_H__
-#define __KSPELL_H__
-
-#include "ksconfig.h"
-
-#include <tqobject.h>
-#include <tqstringlist.h>
-#include <tqstring.h>
-#include <tdelibs_export.h>
-
-class TQTextCodec;
-class KProcIO;
-class TDEProcess;
-class KSpellDlg;
-
-/**
- * %KDE Spellchecker
- *
- * A %KDE programmer's interface to International ISpell 3.1, ASpell,
- * HSpell and ZPSpell..
- * A static method, modalCheck() is provided for convenient
- * access to the spellchecker.
- *
- * @author David Sweet <dsweet@kde.org>
- * @see KSpellConfig, KSyntaxHighlighter
- */
-
-class TDEUI_EXPORT KSpell : public TQObject
-{
- Q_OBJECT
-
-public:
-
- /**
- * Possible states of the spell checker.
- *
- * @li @p Starting - After creation of KSpell.
- * @li @p Running - After the ready signal has been emitted.
- * @li @p Cleaning - After cleanUp() has been called.
- * @li @p Finished - After cleanUp() has been completed.
- *
- * The following error states exist:
- *
- * @li @p Error - An error occurred in the @p Starting state.
- * @li @p Crashed - An error occurred in the @p Running state.
- **/
- enum spellStatus { Starting = 0, Running, Cleaning, Finished, Error, Crashed, FinishedNoMisspellingsEncountered };
-
- /**
- * These are possible types of documents which the spell checker can check.
- *
- * @li @p Text - The default type, checks every word
- * @li @p HTML - For HTML/SGML/XML documents, will skip the tags,
- * @li @p TeX - For TeX/LaTeX documents, will skip commands,
- * @li @p Nroff - For nroff/troff documents.
- *
- * Please note that not every option is supported on every type of
- * checker (e.g. ASpell doesn't support Nroff). In case a type
- * of a document is not supported the default Text option will
- * be used.
- */
- enum SpellerType { Text = 0, HTML, TeX, Nroff };
-
- /**
- * Starts the spellchecker.
- *
- * KSpell emits ready() when it has verified that
- * ISpell/ASpell is working properly. Pass the name of a slot -- do not pass zero!
- * Be sure to call cleanUp() when you are done with KSpell.
- *
- * If KSpell could not be started correctly, death() is emitted.
- *
- * @param parent Parent of KSpellConfig dialog..
- * @param caption Caption of KSpellConfig dialog.
- * @param receiver Receiver object for the ready(KSpell *) signal.
- * @param slot Receiver's slot, will be connected to the ready(KSpell *) signal.
- * @param kcs Configuration for KSpell.
- * @param progressbar Indicates if progress bar should be shown.
- * @param modal Indicates modal or non-modal dialog.
- */
- KSpell(TQWidget *parent, const TQString &caption,
- TQObject *receiver, const char *slot, KSpellConfig *kcs=0,
- bool progressbar = true, bool modal = false);
-
- /**
- * Starts the spellchecker.
- *
- * KSpell emits ready() when it has verified that
- * ISpell/ASpell is working properly. Pass the name of a slot -- do not pass zero!
- * Be sure to call cleanUp() when you are done with KSpell.
- *
- * If KSpell could not be started correctly, death() is emitted.
- *
- * @param parent Parent of KSpellConfig dialog..
- * @param caption Caption of KSpellConfig dialog.
- * @param receiver Receiver object for the ready(KSpell *) signal.
- * @param slot Receiver's slot, will be connected to the ready(KSpell *) signal.
- * @param kcs Configuration for KSpell.
- * @param progressbar Indicates if progress bar should be shown.
- * @param modal Indicates modal or non-modal dialog.
- * @param type Type of the document to check
- */
- KSpell(TQWidget *parent, const TQString &caption,
- TQObject *receiver, const char *slot, KSpellConfig *kcs,
- bool progressbar, bool modal, SpellerType type);
-
- /**
- * Returns the status of KSpell.
- *
- * @see spellStatus()
- */
- spellStatus status() const { return m_status; }
-
- /**
- * Cleans up ISpell.
- *
- * Write out the personal dictionary and close ISpell's
- * stdin. A death() signal will be emitted when the cleanup is
- * complete, but this method will return immediately.
- */
- virtual void cleanUp ();
-
- /**
- * Sets the auto-delete flag. If this is set, the KSpell object
- * is automatically deleted after emitting death().
- */
- void setAutoDelete(bool _autoDelete) { autoDelete = _autoDelete; }
-
- /**
- * Spellchecks a buffer of many words in plain text
- * format.
- *
- * The @p _buffer is not modified. The signal done() will be
- * sent when check() is finished and the argument will be a
- * spell-corrected version of @p _buffer.
- *
- * The spell check may be stopped by the user before the entire buffer
- * has been checked. You can check lastPosition() to see how far
- * in @p _buffer check() reached before stopping.
- */
-
- virtual bool check (const TQString &_buffer, bool usedialog = true);
-
- /**
- * Returns the position (when using check()) or word
- * number (when using checkList()) of
- * the last word checked.
- */
- int lastPosition() const
- { return lastpos;}
-
- /**
- * Spellchecks a list of words.
- *
- * checkList() is more flexible than check(). You could parse
- * any type
- * of document (HTML, TeX, etc.) into a list of spell-checkable words
- * and send the list to checkList(). Sending a marked-up document
- * to check() would result in the mark-up tags being
- * spell checked.
- */
- virtual bool checkList (TQStringList *_wordlist, bool usedialog = true);
-
- /**
- * Spellchecks a single word.
- *
- * checkWord() is the most flexible function. Some applications
- * might need this flexibility but will sacrifice speed when
- * checking large numbers of words. Consider checkList() for
- * checking many words.
- *
- * Use this method for implementing "online" spellchecking (i.e.,
- * spellcheck as-you-type).
- *
- * checkWord() returns @p false if @p buffer is not a single word (e.g.
- * if it contains white space), otherwise it returns @p true;
- *
- * If @p usedialog is set to @p true, KSpell will open the standard
- * dialog if the word is not found. The dialog results can be queried
- * by using dlgResult() and replacement().
- *
- * The signal corrected() is emitted when the check is
- * complete. You can look at suggestions() to see what the
- * suggested replacements were.
- */
- virtual bool checkWord (const TQString &_buffer, bool usedialog = false);
- bool checkWord( const TQString & buffer, bool _usedialog, bool suggest );
-
- /**
- * Hides the dialog box.
- *
- * You'll need to do this when you are done with checkWord();
- */
- void hide ();
-
- /**
- * Returns list of suggested word replacements.
- *
- * After calling checkWord() (an in response to
- * a misspelled() signal you can
- * use this to get the list of
- * suggestions (if any were available).
- */
- TQStringList suggestions () const { return sugg; }
-
- /**
- * Gets the result code of the dialog box.
- *
- * After calling checkWord, you can use this to get the dialog box's
- * result code.
- * The possible
- * values are (from kspelldlg.h):
- * @li KS_CANCEL
- * @li KS_REPLACE
- * @li KS_REPLACEALL
- * @li KS_IGNORE
- * @li KS_IGNOREALL
- * @li KS_ADD
- * @li KS_STOP
- *
- */
- int dlgResult () const
- { return dlgresult; }
-
- /**
- * Moves the dialog.
- *
- * If the dialog is not currently visible, it will
- * be placed at this position when it becomes visible.
- * Use this to get the dialog out of the way of a highlighted
- * misspelled word in a document.
- */
- void moveDlg (int x, int y);
-
- /**
- * Returns the height of the dialog box.
- */
- int heightDlg () const;
- /**
- * Returns the width of the dialog box.
- */
- int widthDlg () const;
-
- /**
- * Returns the partially spellchecked buffer.
- *
- * You might want the full buffer in its partially-checked state.
- */
- TQString intermediateBuffer () const {return newbuffer;}
-
- /**
- * Tells ISpell/ASpell to ignore this word for the life of this KSpell instance.
- *
- * @return false if @p word is not a word or there was an error
- * communicating with ISpell/ASpell.
- */
- virtual bool ignore (const TQString & word);
-
- /**
- * Adds a word to the user's personal dictionary.
- *
- * @return false if @p word
- * is not a word or there was an error communicating with ISpell/ASpell.
- */
- virtual bool addPersonal (const TQString & word);
-
- /**
- * @return the KSpellConfig object being used by this KSpell instance.
- */
- KSpellConfig ksConfig () const;
-
- /**
- * Sets the resolution (in percent) of the progress() signals.
- *
- * E.g. setProgressResolution (10) instructs KSpell to send progress
- * signals (at most) every 10% (10%, 20%, 30%...).
- * The default is 10%.
- */
- void setProgressResolution (unsigned int res);
-
- /**
- * The destructor instructs ISpell/ASpell to write out the personal
- * dictionary and then terminates ISpell/ASpell.
- */
- virtual ~KSpell();
-
- /**
- * @deprecated
- * Performs a synchronous spellcheck.
- *
- * This method does not return until spellchecking is done or canceled.
- * Your application's GUI will still be updated, however.
- *
- */
- static int modalCheck( TQString& text ) KDE_DEPRECATED;
-
- /**
- * Performs a synchronous spellcheck.
- *
- * This method does not return until spellchecking is done or canceled.
- * Your application's GUI will still be updated, however.
- *
- * This overloaded method uses the spell-check configuration passed as parameter.
- */
- static int modalCheck( TQString& text, KSpellConfig * kcs );
-
- /**
- * Call setIgnoreUpperWords(true) to tell the spell-checker to ignore
- * words that are completely uppercase. They are spell-checked by default.
- */
- void setIgnoreUpperWords(bool b);
-
- /**
- * Call setIgnoreTitleCase(true) to tell the spell-checker to ignore
- * words with a 'title' case, i.e. starting with an uppercase letter.
- * They are spell-checked by default.
- */
- void setIgnoreTitleCase(bool b);
-
-signals:
-
- /**
- * Emitted whenever a misspelled word is found by check() or
- * by checkWord().
- * If it is emitted by checkWord(), @p pos=0.
- * If it is emitted by check(), then @p pos indicates the position of
- * the misspelled word in the (original) @p _buffer.
- * (The first position is zero.)
- * If it is emitted by checkList(), @p pos is the index to
- * the misspelled
- * word in the TQStringList passed to checkList().
- * Note, that @p originalword can be only a word part, if it's
- * word with hyphens.
- *
- * These are called _before_ the dialog is opened, so that the
- * calling program's GUI may be updated. (e.g. the misspelled word may
- * be highlighted).
- */
- void misspelling (const TQString & originalword, const TQStringList & suggestions,
- unsigned int pos);
-
- /**
- * Emitted after the "Replace" or "Replace All" buttons of the dialog
- * was pressed, or if the word was
- * corrected without calling the dialog (i.e., the user previously chose
- * "Replace All" for this word).
- *
- * Results from the dialog may be checked with dlgResult()
- * and replacement().
- *
- * Note, that when using checkList() this signal can occur
- * more then once with same list position, when checking a word with
- * hyphens. In this case @p originalword is the last replacement.
- *
- * @see check()
- */
- void corrected (const TQString & originalword, const TQString & newword, unsigned int pos);
-
- /**
- * Emitted when the user pressed "Ignore All" in the dialog.
- * This could be used to make an application or file specific
- * user dictionary.
- *
- */
- void ignoreall (const TQString & originalword);
-
- /**
- * Emitted when the user pressed "Ignore" in the dialog.
- * Don't know if this could be useful.
- *
- */
- void ignoreword (const TQString & originalword);
-
- /**
- * Emitted when the user pressed "Add" in the dialog.
- * This could be used to make an external user dictionary
- * independent of the ISpell personal dictionary.
- *
- */
- void addword (const TQString & originalword);
-
- /**
- * Emitted when the user pressed "ReplaceAll" in the dialog.
- */
- void replaceall( const TQString & origword , const TQString &replacement );
-
- /**
- * Emitted after KSpell has verified that ISpell/ASpell is running
- * and working properly.
- */
- void ready(KSpell *);
-
- /**
- * Emitted during a check().
- * @p i is between 1 and 100.
- */
- void progress (unsigned int i);
-
- /**
- * Emitted when check() is done.
- *
- * Be sure to copy the results of @p buffer if you need them.
- * You can only rely
- * on the contents of buffer for the life of the slot which was signaled
- * by done().
- */
- void done (const TQString &buffer);
-
- /**
- * Emitted when checkList() is done.
- *
- * If the argument is
- * @p true, then you should update your text from the
- * wordlist, otherwise not.
- */
- void done(bool);
-
- /**
- * Emitted on terminal errors and after clean up.
- *
- * You can delete the KSpell object in this signal.
- *
- * You can check status() to see what caused the death:
- * @li @p Error - KSpell could not start.
- * @li @p Crashed - KSpell encountered an unexpected error during execution.
- * @li @p Finished - Clean up finished.
- */
- void death( );
-
-
-protected slots:
- /* All of those signals from KProcIO get sent here. */
- void KSpell2 (KProcIO *);
- void checkWord2 (KProcIO *);
- void checkWord3 ();
- void check2 (KProcIO *);
- void checkList2 ();
- void checkList3a (KProcIO *);
- void checkListReplaceCurrent ();
- void checkList4 ();
- void dialog2 (int dlgresult);
- void check3 ();
- void suggestWord( KProcIO * );
-
- void slotStopCancel (int);
- void ispellExit (TDEProcess *);
- void emitDeath();
- void ispellErrors (TDEProcess *, char *, int);
- void checkNext();
-
-private slots:
- /**
- * Used for modalCheck().
- */
- void slotModalReady();
-
- /**
- * Used for modalCheck().
- */
- void slotModalDone( const TQString & );
-
- /**
- * Used for modalCheck().
- */
- void slotSpellCheckerCorrected( const TQString & oldText, const TQString & newText, unsigned int );
-
- /**
- * Used for modalCheck().
- */
- void slotModalSpellCheckerFinished( );
-
-signals:
- void dialog3 ();
-
-protected:
-
- KProcIO *proc;
- TQWidget *parent;
- KSpellConfig *ksconfig;
- KSpellDlg *ksdlg;
- TQStringList *wordlist;
- TQStringList::Iterator wlIt;
- TQStringList ignorelist;
- TQStringList replacelist;
- TQStringList sugg;
- TQTextCodec* codec;
-
- spellStatus m_status;
-
- bool usedialog;
- bool texmode;
- bool dlgon;
- bool personaldict;
- bool dialogwillprocess;
- bool progressbar;
- bool dialogsetup;
- bool autoDelete;
-
- TQString caption;
- TQString orig;
- TQString origbuffer;
- TQString newbuffer;
- TQString cwword;
- TQString dlgorigword;
- TQString dlgreplacement;
- TQString dialog3slot;
-
- int dlgresult;
- int trystart;
- int maxtrystart;
- int lastpos;
- unsigned int totalpos;
- unsigned int lastline;
- unsigned int posinline;
- unsigned int lastlastline;
- unsigned int offset;
- unsigned int progres;
- unsigned int curprog;
-
- /**
- * Used for modalCheck.
- */
- bool modaldlg;
- static TQString modaltext;
- static int modalreturn;
- static TQWidget* modalWidgetHack;
-
- int parseOneResponse (const TQString &_buffer, TQString &word, TQStringList &sugg);
- TQString funnyWord (const TQString & word);
- void dialog (const TQString & word, TQStringList & sugg, const char* _slot);
- TQString replacement () const
- { return dlgreplacement; }
-
- void setUpDialog ( bool reallyusedialogbox = true);
-
- void emitProgress ();
- bool cleanFputs (const TQString & s, bool appendCR=true);
- bool cleanFputsWord (const TQString & s, bool appendCR=true);
- void startIspell();
- bool writePersonalDictionary();
- void initialize( TQWidget *_parent, const TQString &_caption,
- TQObject *obj, const char *slot, KSpellConfig *_ksc,
- bool _progressbar, bool _modal, SpellerType type );
-
-private:
- class KSpellPrivate;
- KSpellPrivate *d;
-};
-
-#endif