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;
46 gchar * error_message;
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 gchar theword[GTKPSPELLWORDSIZE];
69 gchar newword[GTKPSPELLWORDSIZE];
75 gboolean check_while_typing;
77 ContCheckFunc continue_check;
85 GtkWidget* config_menu;
86 GtkWidget * replace_entry;
88 gint default_sug_mode;
90 GList * suggestions_list;
96 typedef PspellConfig GtkPspellConfig;
98 extern GtkPspellCheckers *gtkpspellcheckers;
100 GtkPspellCheckers* gtkpspell_checkers_new ();
102 GtkPspellCheckers* gtkpspell_checkers_delete ();
104 void gtkpspell_checkers_reset ();
106 GtkPspell* gtkpspell_new (const gchar *dictionary,
107 const gchar *encoding,
108 gboolean check_while_typing,
111 void gtkpspell_delete (GtkPspell *gtkpspell);
113 guchar* gtkpspell_get_dict (GtkPspell *gtkpspell);
115 guchar* gtkpspell_get_path (GtkPspell *gtkpspell);
117 gboolean gtkpspell_set_sug_mode (GtkPspell *gtkpspell,
120 GSList* gtkpspell_get_dictionary_list (const char *pspell_path,
123 void gtkpspell_free_dictionary_list (GSList *list);
125 void gtkpspell_check_forwards_go (GtkPspell *gtkpspell);
126 void gtkpspell_check_backwards (GtkPspell *gtkpspell);
128 void gtkpspell_check_all (GtkPspell *gtkpspell);
129 void gtkpspell_uncheck_all (GtkPspell *gtkpspell);
131 void gtkpspell_populate_submenu (GtkPspell *gtkpspell,
132 GtkWidget *menuitem);
134 GtkWidget* gtkpspell_dictionary_option_menu_new
135 (const gchar *pspell_path);
136 gchar* gtkpspell_get_dictionary_menu_active_item
139 GtkWidget* gtkpspell_sugmode_option_menu_new
142 void gtkpspell_sugmode_option_menu_set
143 (GtkOptionMenu *optmenu,
146 gint gtkpspell_get_sugmode_from_option_menu
147 (GtkOptionMenu *optmenu);
149 #endif /* __gtkpspell_h__ */