]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/controllers/ControlSpellchecker.h
Add a buffer_path arg to InsetGraphicsMailer's params2string, string2params.
[lyx.git] / src / frontends / controllers / ControlSpellchecker.h
index 92e9a6ab27d6d7b22a2386c7fa3100764b1d52cf..5e22acfeb9a7d2a178d2c3b2e97cecedd8f0457f 100644 (file)
 #ifndef CONTROLSPELLCHECKER_H
 #define CONTROLSPELLCHECKER_H
 
-#ifdef __GNUG__
-#pragma interface
-#endif
+#include <boost/scoped_ptr.hpp>
 
 #include "ControlDialog_impl.h"
 #include "LString.h"
 #include "WordLangTuple.h"
 
 class SpellBase;
+
 /** A controller for Spellchecker dialogs.
  */
 class ControlSpellchecker : public ControlDialogBD {
 public:
-       ///
+       enum State {
+               SPELL_PROGRESSED, //< update progress bar
+               SPELL_FOUND_WORD //< found a bad word
+       };
+
        ControlSpellchecker(LyXView &, Dialogs &);
 
+       ~ControlSpellchecker();
+
        /// replace word with replacement
        void replace(string const &);
 
@@ -41,29 +45,34 @@ public:
        /// ignore all occurances of word
        void ignoreAll();
 
-       /// stop checking
-       void stop();
-
        /// check text until next misspelled/unknown word
+       /// returns true when finished
        void check();
 
        /// get suggestion
-       string getSuggestion();
+       string const getSuggestion() const;
 
        /// get word
-       string getWord();
+       string const getWord() const;
 
        /// returns progress value
-       int getProgress() {
-               return oldval_;
-       }
+       int getProgress() const { return oldval_; }
 
-       /// returns exit message
-       string getMessage() {
-               return message_;
-       }
+       /// returns word count
+       int getCount()  const { return count_; }
 
 private:
+       /// give error message is spellchecker dies
+       bool checkAlive();
+
+       /// start a spell-checking session
+       void startSession();
+
+       /// end a spell-checking session
+       void endSession();
+
+       /// show count of checked words at normal exit
+       void showSummary();
 
        /// set the params before show or update
        void setParams();
@@ -73,9 +82,6 @@ private:
        /// not needed.
        virtual void apply() {}
 
-       /// right to left
-       bool rtl_;
-
        /// current word being checked and lang code
        WordLangTuple word_;
 
@@ -87,14 +93,8 @@ private:
        /// word count
        int count_;
 
-       /// exit message
-       string message_;
-
-       /// set to true to stop checking
-       bool stop_;
-
        /// The actual spellchecker object
-       SpellBase * speller_;
+       boost::scoped_ptr<SpellBase> speller_;
 };
 
 #endif // CONTROLSPELLCHECKER_H