src/gtkspell.h

Sat, 22 Sep 2001 11:35:00 +0000

author
Eric Warmenhoven <warmenhoven@yahoo.com>
date
Sat, 22 Sep 2001 11:35:00 +0000
changeset 2350
94cc09f218c0
parent 1415
e851476edab1
child 3105
8c23b0ec1036
permissions
-rw-r--r--

[gaim-migrate @ 2363]
I have an Abba song stuck in my head but I don't know what it's called or what any of the words are, except "Take a chance on me". Just that one line, over and over and over and over. And all because my sound card driver doesn't work and I'm too lazy to switch the speakers from blue back to penguin.

1117
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1 /* gtkspell - a spell-checking addon for GtkText
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
2 * Copyright (c) 2000 Evan Martin.
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
3 *
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
4 * This library is free software; you can redistribute it and/or
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
5 * modify it under the terms of the GNU Lesser General Public
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
6 * License as published by the Free Software Foundation; either
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
7 * version 2 of the License, or (at your option) any later version.
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
8 *
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
9 * This library is distributed in the hope that it will be useful,
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
12 * Lesser General Public License for more details.
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
13 *
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
14 * You should have received a copy of the GNU Lesser General Public
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
15 * License along with this library; if not, write to the Free Software
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
17 */
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
18
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
19 #ifndef __gtkspell_h__
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
20 #define __gtkspell_h__
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
21
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
22 /* PLEASE NOTE that this API is unstable and subject to change. */
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
23 #define GTKSPELL_VERSION "0.3.2"
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
24
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
25 extern int gtkspell_start(char *path, char *args[]);
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
26 /* Spawns the spell checking program.
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
27 *
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
28 * Arguments:
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
29 * - "path" should be the full path to the spell checking program, or NULL
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
30 * if you want to search the PATH for args[0].
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
31 * - "args" should be a array of arguments to the spell checking program.
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
32 * The first element should be the name of the program.
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
33 * You should give the argument to run the spell checking program in the
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
34 * "embedded" mode. for ispell, this is "-a".
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
35 * The last element should be NULL.
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
36 * Return:
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
37 * 0 on success, and -1 on error.
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
38 *
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
39 * Example:
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
40 * char *args[] = { "ispell", "-a", NULL };
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
41 * if (gtkspell_start(NULL, args) < 0) {
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
42 * fprintf(stderr, "Unable to start GtkSpell.\n");
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
43 * return -1;
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
44 * }
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
45 *
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
46 */
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
47
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
48
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
49 extern void gtkspell_stop();
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
50 /* Stop the spellchecking program.
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
51 * This kills the spell checker's process and frees memory.
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
52 */
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
53
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
54 extern int gtkspell_running();
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
55 /* Is gtkspell running?
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
56 *
1415
e851476edab1 [gaim-migrate @ 1425]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1128
diff changeset
57 * Return:
1117
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
58 * nonzero if it running
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
59 * zero if is not running
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
60 *
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
61 * Example:
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
62 * if (gtkspell_running())
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
63 * printf("gtkspell is running.\n");
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
64 */
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
65
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
66 extern void gtkspell_attach(GtkText *text);
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
67 /* Attach GtkSpell to a GtkText Widget.
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
68 * This enables checking as you type and the popup menu.
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
69 *
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
70 * Arguments:
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
71 * - "text" is the widget to which GtkSpell should attach.
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
72 *
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
73 * Example:
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
74 * GtkWidget *text;
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
75 * text = gtk_text_new(NULL, NULL);
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
76 * gtk_text_set_editable(GTK_TEXT(text), TRUE);
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
77 * gtkspell_attach(GTK_TEXT(text));
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
78 */
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
79
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
80 void gtkspell_detach(GtkText *gtktext);
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
81 /* Detach GtkSpell from a GtkText widget.
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
82 *
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
83 * Arguments:
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
84 * - "text" is the widget from which GtkSpell should detach.
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
85 *
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
86 */
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
87
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
88 void gtkspell_check_all(GtkText *gtktext);
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
89 /* Check and highlight the misspelled words.
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
90 * Note that the popup menu will not work unless you gtkspell_attach().
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
91 *
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
92 * Arguments:
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
93 * - "text" is the widget to check.
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
94 */
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
95
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
96 void gtkspell_uncheck_all(GtkText *gtktext);
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
97 /* Remove all of the highlighting from the widget.
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
98 *
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
99 * Arguments:
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
100 * - "text" is the widget to check.
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
101 */
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
102
fcb6e7efcc0d [gaim-migrate @ 1127]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
103 #endif /* __gtkspell_h__ */

mercurial