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__
34 #include <gtk/gtkoptionmenu.h>
35 #include <pspell/pspell.h>
39 #define PSPELL_FASTMODE 1
40 #define PSPELL_NORMALMODE 2
41 #define PSPELL_BADSPELLERMODE 3
43 #define GTKPSPELLWORDSIZE 1024
45 typedef struct _GtkPspellCheckers
48 GSList *dictionary_list;
52 typedef struct _Dictionary
55 gchar *dictname; /* dictname points into fullname */
59 typedef struct _GtkPspeller
61 Dictionary *dictionary;
65 PspellManager *checker;
68 typedef void (*ContCheckFunc) (gpointer *gtkpspell);
70 typedef struct _GtkPspell
72 GtkPspeller *gtkpspeller;
73 GtkPspeller *alternate_speller;
74 gchar theword[GTKPSPELLWORDSIZE];
80 gboolean check_while_typing;
81 gboolean use_alternate;
83 ContCheckFunc continue_check;
85 GtkWidget *config_menu;
86 GtkWidget *popup_config_menu;
88 GtkWidget *replace_entry;
90 gint default_sug_mode;
92 GList *suggestions_list;
98 typedef PspellConfig GtkPspellConfig;
100 extern GtkPspellCheckers *gtkpspellcheckers;
102 GtkPspellCheckers* gtkpspell_checkers_new (void);
103 GtkPspellCheckers* gtkpspell_checkers_delete (void);
104 void gtkpspell_checkers_reset_error (void);
106 GtkPspell* gtkpspell_new (const gchar *dictionary,
107 const gchar *encoding,
108 gint misspelled_color,
109 gboolean check_while_typing,
110 gboolean use_alternate,
112 void gtkpspell_delete (GtkPspell *gtkpspell);
114 guchar* gtkpspell_get_dict (GtkPspell *gtkpspell);
115 guchar* gtkpspell_get_path (GtkPspell *gtkpspell);
116 gboolean gtkpspell_set_sug_mode (GtkPspell *gtkpspell,
118 GSList* gtkpspell_get_dictionary_list (const char *pspell_path,
121 void gtkpspell_free_dictionary_list (GSList *list);
123 void gtkpspell_check_forwards_go (GtkPspell *gtkpspell);
124 void gtkpspell_check_backwards (GtkPspell *gtkpspell);
125 void gtkpspell_check_all (GtkPspell *gtkpspell);
126 void gtkpspell_uncheck_all (GtkPspell *gtkpspell);
127 void gtkpspell_highlight_all (GtkPspell *gtkpspell);
129 void gtkpspell_populate_submenu (GtkPspell *gtkpspell,
130 GtkWidget *menuitem);
131 GtkWidget* gtkpspell_dictionary_option_menu_new (const gchar *pspell_path);
132 gchar* gtkpspell_get_dictionary_menu_active_item(GtkWidget *menu);
133 GtkWidget* gtkpspell_sugmode_option_menu_new (gint sugmode);
134 void gtkpspell_sugmode_option_menu_set (GtkOptionMenu *optmenu,
136 gint gtkpspell_get_sugmode_from_option_menu (GtkOptionMenu *optmenu);
138 #endif /* __GTKPSPELL_H__ */