2 Stuphead: (C) 2000,2001 Grigroy Bakunov, Sergey Pinaev
4 /* gtkpspell - a spell-checking addon for GtkText
5 * Copyright (c) 2001-2002 Melvin Hadasht
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version.
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23 * Adapted by the Sylpheed Claws Team.
27 * Adapted for pspell (c) 2001-2002 Melvin Hadasht
31 #ifndef __gtkpspell_h__
32 #define __gtkpspell_h__
36 #include <gtk/gtkoptionmenu.h>
37 #include <pspell/pspell.h>
39 #define PSPELL_FASTMODE 1
40 #define PSPELL_NORMALMODE 2
41 #define PSPELL_BADSPELLERMODE 3
43 typedef struct _GtkPspellCheckers {
45 GSList *dictionary_list;
49 typedef struct _Dictionary {
51 gchar *dictname; /* dictname points into fullname */
55 typedef struct _GtkPspeller {
56 Dictionary * dictionary;
59 PspellConfig * config;
60 PspellManager * checker;
63 typedef void (*ContCheckFunc) (gpointer *gtkpspell);
65 #define GTKPSPELLWORDSIZE 1024
66 typedef struct _GtkPspell {
67 GtkPspeller *gtkpspeller;
68 GtkPspeller *alternate_speller;
69 gchar theword[GTKPSPELLWORDSIZE];
75 gboolean check_while_typing;
76 gboolean use_alternate;
78 ContCheckFunc continue_check;
86 GtkWidget *config_menu;
87 GtkWidget *popup_config_menu;
89 GtkWidget *replace_entry;
91 gint default_sug_mode;
93 GList *suggestions_list;
99 typedef PspellConfig GtkPspellConfig;
101 extern GtkPspellCheckers *gtkpspellcheckers;
103 GtkPspellCheckers* gtkpspell_checkers_new ();
105 GtkPspellCheckers* gtkpspell_checkers_delete ();
107 void gtkpspell_checkers_reset_error ();
109 GtkPspell* gtkpspell_new (const gchar *dictionary,
110 const gchar *encoding,
111 gint misspelled_color,
112 gboolean check_while_typing,
113 gboolean use_alternate,
116 void gtkpspell_delete (GtkPspell *gtkpspell);
118 guchar* gtkpspell_get_dict (GtkPspell *gtkpspell);
120 guchar* gtkpspell_get_path (GtkPspell *gtkpspell);
122 gboolean gtkpspell_set_sug_mode (GtkPspell *gtkpspell,
125 GSList* gtkpspell_get_dictionary_list (const char *pspell_path,
128 void gtkpspell_free_dictionary_list (GSList *list);
130 void gtkpspell_check_forwards_go (GtkPspell *gtkpspell);
131 void gtkpspell_check_backwards (GtkPspell *gtkpspell);
133 void gtkpspell_check_all (GtkPspell *gtkpspell);
134 void gtkpspell_uncheck_all (GtkPspell *gtkpspell);
135 void gtkpspell_highlight_all (GtkPspell *gtkpspell);
137 void gtkpspell_populate_submenu (GtkPspell *gtkpspell,
138 GtkWidget *menuitem);
140 GtkWidget* gtkpspell_dictionary_option_menu_new
141 (const gchar *pspell_path);
142 gchar* gtkpspell_get_dictionary_menu_active_item
145 GtkWidget* gtkpspell_sugmode_option_menu_new
148 void gtkpspell_sugmode_option_menu_set
149 (GtkOptionMenu *optmenu,
152 gint gtkpspell_get_sugmode_from_option_menu
153 (GtkOptionMenu *optmenu);
155 #endif /* __gtkpspell_h__ */