2 Stuphead: (C) 2000,2001 Grigroy Bakunov, Sergey Pinaev
4 /* gtkaspell - 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
28 * Adapted for GNU/aspell (c) 2002 Melvin Hadasht
32 #ifndef __GTKASPELL_H__
33 #define __GTKASPELL_H__
35 #include <gtk/gtkoptionmenu.h>
40 #define ASPELL_FASTMODE 1
41 #define ASPELL_NORMALMODE 2
42 #define ASPELL_BADSPELLERMODE 3
44 #define GTKASPELLWORDSIZE 1024
46 typedef struct _GtkAspellCheckers
49 GSList *dictionary_list;
53 typedef struct _Dictionary {
59 typedef struct _GtkAspeller {
60 Dictionary *dictionary;
63 AspellSpeller *checker;
66 typedef void (*ContCheckFunc) (gpointer *gtkaspell);
68 typedef struct _GtkAspell
70 GtkAspeller *gtkaspeller;
71 GtkAspeller *alternate_speller;
72 gchar theword[GTKASPELLWORDSIZE];
78 gboolean check_while_typing;
79 gboolean use_alternate;
81 ContCheckFunc continue_check;
83 GtkWidget *config_menu;
84 GtkWidget *popup_config_menu;
86 GtkWidget *replace_entry;
88 gint default_sug_mode;
90 GList *suggestions_list;
96 typedef AspellConfig GtkAspellConfig;
98 extern GtkAspellCheckers *gtkaspellcheckers;
100 GtkAspellCheckers* gtkaspell_checkers_new ();
102 GtkAspellCheckers* gtkaspell_checkers_delete ();
104 void gtkaspell_checkers_reset_error ();
106 GtkAspell* gtkaspell_new (const gchar *dictionary,
107 const gchar *encoding,
108 gint misspelled_color,
109 gboolean check_while_typing,
110 gboolean use_alternate,
113 void gtkaspell_delete (GtkAspell *gtkaspell);
115 guchar* gtkaspell_get_dict (GtkAspell *gtkaspell);
117 guchar* gtkaspell_get_path (GtkAspell *gtkaspell);
119 gboolean gtkaspell_set_sug_mode (GtkAspell *gtkaspell,
122 GSList* gtkaspell_get_dictionary_list (const char *aspell_path,
125 void gtkaspell_free_dictionary_list (GSList *list);
127 void gtkaspell_check_forwards_go (GtkAspell *gtkaspell);
128 void gtkaspell_check_backwards (GtkAspell *gtkaspell);
130 void gtkaspell_check_all (GtkAspell *gtkaspell);
131 void gtkaspell_uncheck_all (GtkAspell *gtkaspell);
132 void gtkaspell_highlight_all (GtkAspell *gtkaspell);
134 void gtkaspell_populate_submenu (GtkAspell *gtkaspell,
135 GtkWidget *menuitem);
137 GtkWidget* gtkaspell_dictionary_option_menu_new
138 (const gchar *aspell_path);
139 gchar* gtkaspell_get_dictionary_menu_active_item
142 GtkWidget* gtkaspell_sugmode_option_menu_new
145 void gtkaspell_sugmode_option_menu_set
146 (GtkOptionMenu *optmenu,
149 gint gtkaspell_get_sugmode_from_option_menu
150 (GtkOptionMenu *optmenu);
152 #endif /* __GTKASPELL_H__ */