mirror of https://gitlab.com/cppit/jucipp
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.3 KiB
42 lines
1.3 KiB
#ifndef JUCI_SOURCE_SPELLCHECK_H_ |
|
#define JUCI_SOURCE_SPELLCHECK_H_ |
|
#include <gtksourceviewmm.h> |
|
#include <aspell.h> |
|
#include "selectiondialog.h" |
|
|
|
namespace Source { |
|
class SpellCheckView : virtual public Gsv::View { |
|
public: |
|
SpellCheckView(); |
|
~SpellCheckView(); |
|
|
|
virtual void configure(); |
|
|
|
virtual void hide_tooltips() {} |
|
virtual void hide_dialogs(); |
|
|
|
void spellcheck(); |
|
void remove_spellcheck_errors(); |
|
void goto_next_spellcheck_error(); |
|
|
|
protected: |
|
bool spellcheck_all=false; |
|
guint last_keyval=0; |
|
private: |
|
std::unique_ptr<SelectionDialog> spellcheck_suggestions_dialog; |
|
|
|
static AspellConfig* spellcheck_config; |
|
AspellCanHaveError *spellcheck_possible_err; |
|
AspellSpeller *spellcheck_checker; |
|
bool is_word_iter(const Gtk::TextIter& iter); |
|
std::pair<Gtk::TextIter, Gtk::TextIter> spellcheck_get_word(Gtk::TextIter iter); |
|
void spellcheck_word(const Gtk::TextIter& start, const Gtk::TextIter& end); |
|
std::vector<std::string> spellcheck_get_suggestions(const Gtk::TextIter& start, const Gtk::TextIter& end); |
|
sigc::connection delayed_spellcheck_suggestions_connection; |
|
sigc::connection delayed_spellcheck_error_clear; |
|
|
|
void spellcheck(const Gtk::TextIter& start, const Gtk::TextIter& end); |
|
}; |
|
} |
|
|
|
#endif //JUCI_SOURCE_SPELLCHECK_H_
|
|
|