Mercurial > pidgin
annotate src/gtkimhtml.h @ 11849:dc51cdcb648e
[gaim-migrate @ 14140]
sf patch #1339135, from Sadrul Habib Chowdhury
Hi. Bleeter found this bug:
(1) open up some conversation window
(2) open the smiley dialog
(3) close the conversation window. the smiley dialog
remains open
(4) select some smiley
(5) Gaim crashes
This patch fixes this crash. It shouldn't cause any
probs with regards to gtk-version-checking. The other
code handling the smiley-dialog doesn't do the
version-checking, so this shouldn't be necessary either.
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Thu, 27 Oct 2005 12:00:17 +0000 |
parents | fa17fc619f17 |
children | fc464a0abccc |
rev | line source |
---|---|
5034
4691c5936c01
[gaim-migrate @ 5377]
Christian Hammond <chipx86@chipx86.com>
parents:
5012
diff
changeset
|
1 /** |
5967 | 2 * @file gtkimhtml.h GTK+ IM/HTML rendering component |
5034
4691c5936c01
[gaim-migrate @ 5377]
Christian Hammond <chipx86@chipx86.com>
parents:
5012
diff
changeset
|
3 * @ingroup gtkui |
1428 | 4 * |
8046 | 5 * Gaim is the legal property of its developers, whose names are too numerous |
6 * to list here. Please refer to the COPYRIGHT file distributed with this | |
7 * source distribution. | |
1428 | 8 * |
9 * This program is free software; you can redistribute it and/or modify | |
10 * under the terms of the GNU General Public License as published by | |
11 * the Free Software Foundation; either version 2 of the License, or | |
12 * (at your option) any later version. | |
13 * | |
14 * This program is distributed in the hope that it will be useful, | |
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
17 * GNU General Public License for more details. | |
18 * | |
19 * You should have received a copy of the GNU General Public License | |
20 * along with this program; if not, write to the Free Software | |
21 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
22 */ | |
9713 | 23 #ifndef _GAIM_GTKIMHTML_H_ |
24 #define _GAIM_GTKIMHTML_H_ | |
1428 | 25 |
26 #include <gdk/gdk.h> | |
3922 | 27 #include <gtk/gtktextview.h> |
4735 | 28 #include <gtk/gtktooltips.h> |
5012 | 29 #include <gtk/gtkimage.h> |
1428 | 30 |
31 #ifdef __cplusplus | |
32 extern "C" { | |
33 #endif | |
34 | |
9033 | 35 /************************************************************************** |
36 * @name Structures | |
37 **************************************************************************/ | |
38 /*@{*/ | |
39 | |
1428 | 40 #define GTK_TYPE_IMHTML (gtk_imhtml_get_type ()) |
41 #define GTK_IMHTML(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_IMHTML, GtkIMHtml)) | |
42 #define GTK_IMHTML_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_IMHTML, GtkIMHtmlClass)) | |
43 #define GTK_IS_IMHTML(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_IMHTML)) | |
44 #define GTK_IS_IMHTML_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_IMHTML)) | |
5967 | 45 #define GTK_IMHTML_SCALABLE(obj) ((GtkIMHtmlScalable *)obj) |
1428 | 46 |
5967 | 47 typedef struct _GtkIMHtml GtkIMHtml; |
48 typedef struct _GtkIMHtmlClass GtkIMHtmlClass; | |
49 typedef struct _GtkIMHtmlFontDetail GtkIMHtmlFontDetail; /* The five elements contained in a FONT tag */ | |
50 typedef struct _GtkSmileyTree GtkSmileyTree; | |
51 typedef struct _GtkIMHtmlSmiley GtkIMHtmlSmiley; | |
52 typedef struct _GtkIMHtmlScalable GtkIMHtmlScalable; | |
53 typedef struct _GtkIMHtmlImage GtkIMHtmlImage; | |
54 typedef struct _GtkIMHtmlHr GtkIMHtmlHr; | |
8962 | 55 typedef struct _GtkIMHtmlFuncs GtkIMHtmlFuncs; |
8061 | 56 |
8420 | 57 typedef enum { |
10776 | 58 GTK_IMHTML_BOLD = 1 << 0, |
59 GTK_IMHTML_ITALIC = 1 << 1, | |
60 GTK_IMHTML_UNDERLINE = 1 << 2, | |
61 GTK_IMHTML_GROW = 1 << 3, | |
62 GTK_IMHTML_SHRINK = 1 << 4, | |
63 GTK_IMHTML_FACE = 1 << 5, | |
64 GTK_IMHTML_FORECOLOR = 1 << 6, | |
65 GTK_IMHTML_BACKCOLOR = 1 << 7, | |
66 GTK_IMHTML_BACKGROUND = 1 << 8, | |
67 GTK_IMHTML_LINK = 1 << 9, | |
68 GTK_IMHTML_IMAGE = 1 << 10, | |
69 GTK_IMHTML_SMILEY = 1 << 11, | |
70 GTK_IMHTML_LINKDESC = 1 << 12, | |
71 GTK_IMHTML_STRIKE = 1 << 13, | |
72 GTK_IMHTML_ALL = -1 | |
8420 | 73 } GtkIMHtmlButtons; |
8061 | 74 |
11525 | 75 typedef enum { |
76 GTK_IMHTML_SMILEY_CUSTOM = 1 << 0 | |
77 } GtkIMHtmlSmileyFlags; | |
78 | |
1428 | 79 struct _GtkIMHtml { |
3922 | 80 GtkTextView text_view; |
81 GtkTextBuffer *text_buffer; | |
1428 | 82 GdkCursor *hand_cursor; |
83 GdkCursor *arrow_cursor; | |
8061 | 84 GdkCursor *text_cursor; |
4032 | 85 GHashTable *smiley_data; |
86 GtkSmileyTree *default_smilies; | |
8456 | 87 char *protocol_name; |
10798 | 88 guint scroll_src; |
89 GTimer *scroll_time; | |
4254 | 90 |
6124 | 91 gboolean show_comments; |
4735 | 92 |
93 GtkWidget *tip_window; | |
94 char *tip; | |
95 guint tip_timer; | |
10799 | 96 GtkTextTag *prelit_tag; |
4895 | 97 |
98 GList *scalables; | |
4947 | 99 GdkRectangle old_rect; |
7295 | 100 |
8061 | 101 gchar *search_string; |
7694 | 102 |
8061 | 103 gboolean editable; |
8420 | 104 GtkIMHtmlButtons format_functions; |
8677 | 105 gboolean wbfo; /* Whole buffer formatting only. */ |
106 | |
107 gint insert_offset; | |
8420 | 108 |
8061 | 109 struct { |
8677 | 110 gboolean bold:1; |
111 gboolean italic:1; | |
112 gboolean underline:1; | |
9924 | 113 gboolean strike:1; |
8677 | 114 gchar *forecolor; |
115 gchar *backcolor; | |
10776 | 116 gchar *background; |
8677 | 117 gchar *fontface; |
8061 | 118 int fontsize; |
8677 | 119 GtkTextTag *link; |
8061 | 120 } edit; |
8740
61a090413b93
[gaim-migrate @ 9495]
Christian Hammond <chipx86@chipx86.com>
parents:
8735
diff
changeset
|
121 |
8681 | 122 char *clipboard_text_string; |
123 char *clipboard_html_string; | |
8962 | 124 |
125 GSList *im_images; | |
126 GtkIMHtmlFuncs *funcs; | |
1428 | 127 }; |
128 | |
129 struct _GtkIMHtmlClass { | |
3922 | 130 GtkTextViewClass parent_class; |
1428 | 131 |
5967 | 132 void (*url_clicked)(GtkIMHtml *, const gchar *); |
8420 | 133 void (*buttons_update)(GtkIMHtml *, GtkIMHtmlButtons); |
134 void (*toggle_format)(GtkIMHtml *, GtkIMHtmlButtons); | |
8427 | 135 void (*clear_format)(GtkIMHtml *); |
8506 | 136 void (*update_format)(GtkIMHtml *); |
10108 | 137 gboolean (*message_send)(GtkIMHtml *); |
5967 | 138 }; |
139 | |
140 struct _GtkIMHtmlFontDetail { | |
141 gushort size; | |
142 gchar *face; | |
143 gchar *fore; | |
144 gchar *back; | |
10776 | 145 gchar *bg; |
5967 | 146 gchar *sml; |
9950 | 147 gboolean underline; |
5967 | 148 }; |
149 | |
150 struct _GtkSmileyTree { | |
151 GString *values; | |
152 GtkSmileyTree **children; | |
153 GtkIMHtmlSmiley *image; | |
1428 | 154 }; |
155 | |
4263 | 156 struct _GtkIMHtmlSmiley { |
157 gchar *smile; | |
158 gchar *file; | |
6814
782907a6ae65
[gaim-migrate @ 7354]
Christian Hammond <chipx86@chipx86.com>
parents:
6282
diff
changeset
|
159 GdkPixbufAnimation *icon; |
4263 | 160 gboolean hidden; |
10526 | 161 GdkPixbufLoader *loader; |
11525 | 162 GSList *anchors; |
163 GtkIMHtmlSmileyFlags flags; | |
4263 | 164 }; |
165 | |
5967 | 166 struct _GtkIMHtmlScalable { |
4895 | 167 void (*scale)(struct _GtkIMHtmlScalable *, int, int); |
168 void (*add_to)(struct _GtkIMHtmlScalable *, GtkIMHtml *, GtkTextIter *); | |
169 void (*free)(struct _GtkIMHtmlScalable *); | |
170 }; | |
171 | |
5967 | 172 struct _GtkIMHtmlImage { |
4895 | 173 GtkIMHtmlScalable scalable; |
5012 | 174 GtkImage *image; |
5046 | 175 GdkPixbuf *pixbuf; |
4895 | 176 GtkTextMark *mark; |
5012 | 177 gchar *filename; |
4895 | 178 int width; |
179 int height; | |
8962 | 180 int id; |
9573 | 181 GtkWidget *filesel; |
5967 | 182 }; |
4895 | 183 |
5967 | 184 struct _GtkIMHtmlHr { |
4895 | 185 GtkIMHtmlScalable scalable; |
186 GtkWidget *sep; | |
5967 | 187 }; |
188 | |
189 typedef enum { | |
190 GTK_IMHTML_NO_COLOURS = 1 << 0, | |
191 GTK_IMHTML_NO_FONTS = 1 << 1, | |
8105 | 192 GTK_IMHTML_NO_COMMENTS = 1 << 2, /* Remove */ |
5967 | 193 GTK_IMHTML_NO_TITLE = 1 << 3, |
194 GTK_IMHTML_NO_NEWLINE = 1 << 4, | |
195 GTK_IMHTML_NO_SIZES = 1 << 5, | |
196 GTK_IMHTML_NO_SCROLL = 1 << 6, | |
197 GTK_IMHTML_RETURN_LOG = 1 << 7, | |
11485
16b0da1f376f
[gaim-migrate @ 13727]
Richard Laager <rlaager@wiktel.com>
parents:
11269
diff
changeset
|
198 GTK_IMHTML_USE_POINTSIZE = 1 << 8, |
16b0da1f376f
[gaim-migrate @ 13727]
Richard Laager <rlaager@wiktel.com>
parents:
11269
diff
changeset
|
199 GTK_IMHTML_NO_FORMATTING = 1 << 9 |
5967 | 200 } GtkIMHtmlOptions; |
201 | |
10145 | 202 enum { |
203 GTK_IMHTML_DRAG_URL = 0, | |
204 GTK_IMHTML_DRAG_HTML, | |
205 GTK_IMHTML_DRAG_UTF8_STRING, | |
206 GTK_IMHTML_DRAG_COMPOUND_TEXT, | |
207 GTK_IMHTML_DRAG_STRING, | |
208 GTK_IMHTML_DRAG_TEXT, | |
209 GTK_IMHTML_DRAG_NUM | |
210 }; | |
211 | |
212 #define GTK_IMHTML_DND_TARGETS \ | |
10345 | 213 { "text/uri-list", 0, GTK_IMHTML_DRAG_URL }, \ |
10243 | 214 { "_NETSCAPE_URL", 0, GTK_IMHTML_DRAG_URL }, \ |
10145 | 215 { "text/html", 0, GTK_IMHTML_DRAG_HTML }, \ |
216 { "x-url/ftp", 0, GTK_IMHTML_DRAG_URL }, \ | |
217 { "x-url/http", 0, GTK_IMHTML_DRAG_URL }, \ | |
218 { "UTF8_STRING", 0, GTK_IMHTML_DRAG_UTF8_STRING }, \ | |
219 { "COMPOUND_TEXT", 0, GTK_IMHTML_DRAG_COMPOUND_TEXT }, \ | |
220 { "STRING", 0, GTK_IMHTML_DRAG_STRING }, \ | |
221 { "text/plain", 0, GTK_IMHTML_DRAG_TEXT }, \ | |
222 { "TEXT", 0, GTK_IMHTML_DRAG_TEXT } | |
223 | |
8962 | 224 typedef gpointer (*GtkIMHtmlGetImageFunc) (int id); |
225 typedef gpointer (*GtkIMHtmlGetImageDataFunc) (gpointer i); | |
226 typedef size_t (*GtkIMHtmlGetImageSizeFunc) (gpointer i); | |
227 typedef const char *(*GtkIMHtmlGetImageFilenameFunc)(gpointer i); | |
228 typedef void (*GtkIMHtmlImageRefFunc) (int id); | |
229 typedef void (*GtkIMHtmlImageUnrefFunc) (int id); | |
230 | |
231 struct _GtkIMHtmlFuncs { | |
232 GtkIMHtmlGetImageFunc image_get; | |
233 GtkIMHtmlGetImageDataFunc image_get_data; | |
234 GtkIMHtmlGetImageSizeFunc image_get_size; | |
235 GtkIMHtmlGetImageFilenameFunc image_get_filename; | |
236 GtkIMHtmlImageRefFunc image_ref; | |
237 GtkIMHtmlImageUnrefFunc image_unref; | |
238 }; | |
239 | |
9033 | 240 /*@}*/ |
8962 | 241 |
9033 | 242 /************************************************************************** |
243 * @name GTK+ IM/HTML rendering component API | |
244 **************************************************************************/ | |
245 /*@{*/ | |
246 | |
247 /** | |
9037 | 248 * Returns the GType object for an IM/HTML widget. |
9033 | 249 * |
9037 | 250 * @return The GType for an IM/HTML widget. |
9033 | 251 */ |
9037 | 252 GType gtk_imhtml_get_type(void); |
5967 | 253 |
9033 | 254 /** |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
255 * Creates and returns a new GTK+ IM/HTML widget. |
9033 | 256 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
257 * @return The GTK+ IM/HTML widget created. |
9033 | 258 */ |
259 GtkWidget *gtk_imhtml_new(void *, void *); | |
5967 | 260 |
9033 | 261 /** |
10526 | 262 * Returns the smiley object associated with the text. |
263 * | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
264 * @param imhtml The GTK+ IM/HTML. |
10526 | 265 * @param sml The name of the smiley category. |
266 * @param text The text associated with the smiley. | |
267 */ | |
268 | |
269 GtkIMHtmlSmiley *gtk_imhtml_smiley_get(GtkIMHtml * imhtml, | |
270 const gchar * sml, const gchar * text); | |
271 | |
272 | |
273 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
274 * Associates a smiley with a GTK+ IM/HTML. |
9033 | 275 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
276 * @param imhtml The GTK+ IM/HTML. |
9033 | 277 * @param sml The name of the smiley category. |
278 * @param smiley The GtkIMSmiley to associate. | |
279 */ | |
10537 | 280 void gtk_imhtml_associate_smiley(GtkIMHtml *imhtml, const gchar *sml, GtkIMHtmlSmiley *smiley); |
9033 | 281 |
282 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
283 * Removes all smileys associated with a GTK+ IM/HTML. |
9033 | 284 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
285 * @param imhtml The GTK+ IM/HTML. |
9033 | 286 */ |
287 void gtk_imhtml_remove_smileys(GtkIMHtml *imhtml); | |
5967 | 288 |
9033 | 289 /** |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
290 * Sets the function callbacks to use with a GTK+ IM/HTML instance. |
9033 | 291 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
292 * @param imhtml The GTK+ IM/HTML. |
9033 | 293 * @param f The GtkIMHTMLFuncs struct containing the functions to use. |
294 */ | |
295 void gtk_imhtml_set_funcs(GtkIMHtml *imhtml, GtkIMHtmlFuncs *f); | |
5967 | 296 |
9033 | 297 /** |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
298 * Enables or disables showing the contents of HTML comments in a GTK+ IM/HTML. |
9033 | 299 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
300 * @param imhtml The GTK+ IM/HTML. |
9033 | 301 * @param show @c TRUE if comments should be shown, or @c FALSE otherwise. |
302 */ | |
303 void gtk_imhtml_show_comments(GtkIMHtml *imhtml, gboolean show); | |
8962 | 304 |
9033 | 305 /** |
11814
fa17fc619f17
[gaim-migrate @ 14105]
Richard Laager <rlaager@wiktel.com>
parents:
11525
diff
changeset
|
306 * Gets the protocol name associated with this GTK+ IM/HTML. |
fa17fc619f17
[gaim-migrate @ 14105]
Richard Laager <rlaager@wiktel.com>
parents:
11525
diff
changeset
|
307 * |
fa17fc619f17
[gaim-migrate @ 14105]
Richard Laager <rlaager@wiktel.com>
parents:
11525
diff
changeset
|
308 * @param imhtml The GTK+ IM/HTML |
fa17fc619f17
[gaim-migrate @ 14105]
Richard Laager <rlaager@wiktel.com>
parents:
11525
diff
changeset
|
309 */ |
fa17fc619f17
[gaim-migrate @ 14105]
Richard Laager <rlaager@wiktel.com>
parents:
11525
diff
changeset
|
310 const char *gtk_imhtml_get_protocol_name(GtkIMHtml *imhtml); |
fa17fc619f17
[gaim-migrate @ 14105]
Richard Laager <rlaager@wiktel.com>
parents:
11525
diff
changeset
|
311 |
fa17fc619f17
[gaim-migrate @ 14105]
Richard Laager <rlaager@wiktel.com>
parents:
11525
diff
changeset
|
312 /** |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
313 * Associates a protocol name with a GTK+ IM/HTML. |
9033 | 314 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
315 * @param imhtml The GTK+ IM/HTML. |
9033 | 316 * @param protocol_name The protocol name to associate with the IM/HTML. |
317 */ | |
318 void gtk_imhtml_set_protocol_name(GtkIMHtml *imhtml, const gchar *protocol_name); | |
8456 | 319 |
9033 | 320 /** |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
321 * Appends HTML formatted text to a GTK+ IM/HTML. |
9033 | 322 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
323 * @param imhtml The GTK+ IM/HTML. |
9033 | 324 * @param text The formatted text to append. |
325 * @param options A GtkIMHtmlOptions object indicating insert behavior. | |
326 */ | |
9307 | 327 #define gtk_imhtml_append_text(imhtml, text, options) \ |
328 gtk_imhtml_append_text_with_images(imhtml, text, options, NULL) | |
6982 | 329 |
9033 | 330 /** |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
331 * Appends HTML formatted text to a GTK+ IM/HTML. |
9033 | 332 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
333 * @param imhtml The GTK+ IM/HTML. |
9033 | 334 * @param text The formatted text to append. |
335 * @param options A GtkIMHtmlOptions object indicating insert behavior. | |
9185 | 336 * @param unused Use @c NULL value. |
9033 | 337 */ |
338 void gtk_imhtml_append_text_with_images(GtkIMHtml *imhtml, | |
339 const gchar *text, | |
340 GtkIMHtmlOptions options, | |
341 GSList *unused); | |
342 | |
343 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
344 * Inserts HTML formatted text to a GTK+ IM/HTML at a given iter. |
9033 | 345 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
346 * @param imhtml The GTK+ IM/HTML. |
9033 | 347 * @param text The formatted text to append. |
348 * @param options A GtkIMHtmlOptions object indicating insert behavior. | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
349 * @param iter A GtkTextIter in the GTK+ IM/HTML at which to insert text. |
9033 | 350 */ |
8677 | 351 void gtk_imhtml_insert_html_at_iter(GtkIMHtml *imhtml, |
352 const gchar *text, | |
353 GtkIMHtmlOptions options, | |
354 GtkTextIter *iter); | |
9033 | 355 |
356 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
357 * Scrolls a GTK+ IM/HTML to the end of its contents. |
9033 | 358 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
359 * @param imhtml The GTK+ IM/HTML. |
9033 | 360 */ |
8729 | 361 void gtk_imhtml_scroll_to_end(GtkIMHtml *imhtml); |
9033 | 362 |
363 /** | |
11224
409d6a11da51
[gaim-migrate @ 13360]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10814
diff
changeset
|
364 * Delete the contents of a GTK+ IM/HTML between start and end. |
409d6a11da51
[gaim-migrate @ 13360]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10814
diff
changeset
|
365 * |
409d6a11da51
[gaim-migrate @ 13360]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10814
diff
changeset
|
366 * @param imhtml The GTK+ IM/HTML. |
409d6a11da51
[gaim-migrate @ 13360]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10814
diff
changeset
|
367 * @param start a postition in the imhtml's buffer |
409d6a11da51
[gaim-migrate @ 13360]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10814
diff
changeset
|
368 * @param end another postition in the imhtml's buffer |
409d6a11da51
[gaim-migrate @ 13360]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10814
diff
changeset
|
369 */ |
409d6a11da51
[gaim-migrate @ 13360]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10814
diff
changeset
|
370 void gtk_imhtml_delete(GtkIMHtml *imhtml, GtkTextIter *start, GtkTextIter *end); |
409d6a11da51
[gaim-migrate @ 13360]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10814
diff
changeset
|
371 |
409d6a11da51
[gaim-migrate @ 13360]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10814
diff
changeset
|
372 /** |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
373 * Purges the contents from a GTK+ IM/HTML and resets formatting. |
9033 | 374 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
375 * @param imhtml The GTK+ IM/HTML. |
9033 | 376 */ |
11224
409d6a11da51
[gaim-migrate @ 13360]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10814
diff
changeset
|
377 #define gtk_imhtml_clear(imhtml) \ |
409d6a11da51
[gaim-migrate @ 13360]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10814
diff
changeset
|
378 gtk_imhtml_delete(imhtml, NULL, NULL) |
4895 | 379 |
9033 | 380 /** |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
381 * Scrolls a GTK+ IM/HTML up by one page. |
9033 | 382 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
383 * @param imhtml The GTK+ IM/HTML. |
9033 | 384 */ |
385 void gtk_imhtml_page_up(GtkIMHtml *imhtml); | |
386 | |
387 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
388 * Scrolls a GTK+ IM/HTML down by one page. |
9033 | 389 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
390 * @param imhtml The GTK+ IM/HTML. |
9033 | 391 */ |
392 void gtk_imhtml_page_down(GtkIMHtml *imhtml); | |
393 | |
394 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
395 * Creates and returns an new GTK+ IM/HTML scalable object. |
9033 | 396 * |
397 * @return A new IM/HTML Scalable object. | |
398 */ | |
4895 | 399 GtkIMHtmlScalable *gtk_imhtml_scalable_new(); |
9033 | 400 |
401 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
402 * Creates and returns an new GTK+ IM/HTML scalable object with an image. |
9033 | 403 * |
404 * @param img A GdkPixbuf of the image to add. | |
405 * @param filename The filename to associate with the image. | |
406 * @param id The id to associate with the image. | |
407 * | |
408 * @return A new IM/HTML Scalable object with an image. | |
409 */ | |
8962 | 410 GtkIMHtmlScalable *gtk_imhtml_image_new(GdkPixbuf *img, const gchar *filename, int id); |
9033 | 411 |
412 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
413 * Destroys and frees a GTK+ IM/HTML scalable image. |
9033 | 414 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
415 * @param scale The GTK+ IM/HTML scalable. |
9033 | 416 */ |
417 void gtk_imhtml_image_free(GtkIMHtmlScalable *scale); | |
4895 | 418 |
9033 | 419 /** |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
420 * Rescales a GTK+ IM/HTML scalable image to a given size. |
9033 | 421 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
422 * @param scale The GTK+ IM/HTML scalable. |
9033 | 423 * @param width The new width. |
424 * @param height The new height. | |
425 */ | |
426 void gtk_imhtml_image_scale(GtkIMHtmlScalable *scale, int width, int height); | |
427 | |
428 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
429 * Adds a GTK+ IM/HTML scalable image to a given GTK+ IM/HTML at a given iter. |
9033 | 430 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
431 * @param scale The GTK+ IM/HTML scalable. |
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
432 * @param imhtml The GTK+ IM/HTML. |
9033 | 433 * @param iter The GtkTextIter at which to add the scalable. |
434 */ | |
435 void gtk_imhtml_image_add_to(GtkIMHtmlScalable *scale, GtkIMHtml *imhtml, GtkTextIter *iter); | |
436 | |
437 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
438 * Creates and returns an new GTK+ IM/HTML scalable with a horizontal rule. |
9033 | 439 * |
440 * @return A new IM/HTML Scalable object with an image. | |
441 */ | |
5967 | 442 GtkIMHtmlScalable *gtk_imhtml_hr_new(); |
9033 | 443 |
444 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
445 * Destroys and frees a GTK+ IM/HTML scalable horizontal rule. |
9033 | 446 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
447 * @param scale The GTK+ IM/HTML scalable. |
9033 | 448 */ |
9034 | 449 void gtk_imhtml_hr_free(GtkIMHtmlScalable *scale); |
9033 | 450 |
451 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
452 * Rescales a GTK+ IM/HTML scalable horizontal rule to a given size. |
9033 | 453 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
454 * @param scale The GTK+ IM/HTML scalable. |
9033 | 455 * @param width The new width. |
456 * @param height The new height. | |
457 */ | |
9034 | 458 void gtk_imhtml_hr_scale(GtkIMHtmlScalable *scale, int width, int height); |
4895 | 459 |
9033 | 460 /** |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
461 * Adds a GTK+ IM/HTML scalable horizontal rule to a given GTK+ IM/HTML at |
9033 | 462 * a given iter. |
463 * | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
464 * @param scale The GTK+ IM/HTML scalable. |
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
465 * @param imhtml The GTK+ IM/HTML. |
9033 | 466 * @param iter The GtkTextIter at which to add the scalable. |
467 */ | |
9307 | 468 void gtk_imhtml_hr_add_to(GtkIMHtmlScalable *scale, GtkIMHtml *imhtml, GtkTextIter *iter); |
9033 | 469 |
470 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
471 * Finds and highlights a given string in a GTK+ IM/HTML. |
9033 | 472 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
473 * @param imhtml The GTK+ IM/HTML. |
9033 | 474 * @param text The string to search for. |
475 * | |
476 * @return @c TRUE if a search was performed, or @c FALSE if not. | |
477 */ | |
7295 | 478 gboolean gtk_imhtml_search_find(GtkIMHtml *imhtml, const gchar *text); |
9033 | 479 |
480 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
481 * Clears the highlighting from a prior search in a GTK+ IM/HTML. |
9033 | 482 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
483 * @param imhtml The GTK+ IM/HTML. |
9033 | 484 */ |
7295 | 485 void gtk_imhtml_search_clear(GtkIMHtml *imhtml); |
4895 | 486 |
9033 | 487 /** |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
488 * Enables or disables editing in a GTK+ IM/HTML. |
9033 | 489 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
490 * @param imhtml The GTK+ IM/HTML. |
9033 | 491 * @param editable @c TRUE to make the widget editable, or @c FALSE otherwise. |
492 */ | |
8061 | 493 void gtk_imhtml_set_editable(GtkIMHtml *imhtml, gboolean editable); |
9033 | 494 |
495 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
496 * Enables or disables whole buffer formatting only (wbfo) in a GTK+ IM/HTML. |
9033 | 497 * In this mode formatting options to the buffer take effect for the entire |
498 * buffer instead of specific text. | |
499 * | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
500 * @param imhtml The GTK+ IM/HTML. |
9033 | 501 * @param wbfo @c TRUE to enable the mode, or @c FALSE otherwise. |
502 */ | |
8677 | 503 void gtk_imhtml_set_whole_buffer_formatting_only(GtkIMHtml *imhtml, gboolean wbfo); |
9033 | 504 |
505 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
506 * Indicates which formatting functions to enable and disable in a GTK+ IM/HTML. |
9033 | 507 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
508 * @param imhtml The GTK+ IM/HTML. |
9185 | 509 * @param buttons A GtkIMHtmlButtons bitmask indicating which functions to use. |
9033 | 510 */ |
8420 | 511 void gtk_imhtml_set_format_functions(GtkIMHtml *imhtml, GtkIMHtmlButtons buttons); |
9033 | 512 |
513 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
514 * Returns which formatting functions are enabled in a GTK+ IM/HTML. |
9033 | 515 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
516 * @param imhtml The GTK+ IM/HTML. |
9033 | 517 * |
9185 | 518 * @return A GtkIMHtmlButtons bitmask indicating which functions to are enabled. |
9033 | 519 */ |
8788 | 520 GtkIMHtmlButtons gtk_imhtml_get_format_functions(GtkIMHtml *imhtml); |
9033 | 521 |
522 /** | |
523 * Sets each boolean to TRUE if that formatting option is enabled at the | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
524 * current position in a GTK+ IM/HTML. |
9033 | 525 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
526 * @param imhtml The GTK+ IM/HTML. |
9033 | 527 * @param bold A reference to a boolean for bold. |
528 * @param italic A reference to a boolean for italic. | |
529 * @param underline A reference to a boolean for underline. | |
530 */ | |
8516 | 531 void gtk_imhtml_get_current_format(GtkIMHtml *imhtml, gboolean *bold, gboolean *italic, gboolean *underline); |
9033 | 532 |
533 /** | |
534 * Returns a string containing the selected font face at the current position | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
535 * in a GTK+ IM/HTML. |
9033 | 536 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
537 * @param imhtml The GTK+ IM/HTML. |
9033 | 538 * |
539 * @return A string containg the font face or @c NULL if none is set. | |
540 */ | |
9025 | 541 char *gtk_imhtml_get_current_fontface(GtkIMHtml *imhtml); |
9033 | 542 |
543 /** | |
544 * Returns a string containing the selected foreground color at the current | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
545 * position in a GTK+ IM/HTML. |
9033 | 546 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
547 * @param imhtml The GTK+ IM/HTML. |
9033 | 548 * |
549 * @return A string containg the foreground color or @c NULL if none is set. | |
550 */ | |
9025 | 551 char *gtk_imhtml_get_current_forecolor(GtkIMHtml *imhtml); |
9033 | 552 |
553 /** | |
10776 | 554 * Returns a string containing the selected font background color at the current |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
555 * position in a GTK+ IM/HTML. |
10776 | 556 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
557 * @param imhtml The GTK+ IM/HTML. |
10776 | 558 * |
559 * @return A string containg the font background color or @c NULL if none is set. | |
560 */ | |
561 char *gtk_imhtml_get_current_backcolor(GtkIMHtml *imhtml); | |
562 | |
563 /** | |
9033 | 564 * Returns a string containing the selected background color at the current |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
565 * position in a GTK+ IM/HTML. |
9033 | 566 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
567 * @param imhtml The GTK+ IM/HTML. |
9033 | 568 * |
569 * @return A string containg the background color or @c NULL if none is set. | |
570 */ | |
10776 | 571 char *gtk_imhtml_get_current_background(GtkIMHtml *imhtml); |
9033 | 572 |
573 /** | |
574 * Returns a integer containing the selected HTML font size at the current | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
575 * position in a GTK+ IM/HTML. |
9033 | 576 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
577 * @param imhtml The GTK+ IM/HTML. |
9033 | 578 * |
579 * @return The HTML font size. | |
580 */ | |
9025 | 581 gint gtk_imhtml_get_current_fontsize(GtkIMHtml *imhtml); |
9033 | 582 |
583 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
584 * Checks whether a GTK+ IM/HTML is marked as editable. |
9033 | 585 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
586 * @param imhtml The GTK+ IM/HTML. |
9033 | 587 * |
588 * @return @c TRUE if the IM/HTML is editable, or @c FALSE otherwise. | |
589 */ | |
8061 | 590 gboolean gtk_imhtml_get_editable(GtkIMHtml *imhtml); |
9033 | 591 |
592 /** | |
11269
1cbe76d30e81
[gaim-migrate @ 13451]
Richard Laager <rlaager@wiktel.com>
parents:
11267
diff
changeset
|
593 * Clear all the formatting on a GTK+ IM/HTML. |
1cbe76d30e81
[gaim-migrate @ 13451]
Richard Laager <rlaager@wiktel.com>
parents:
11267
diff
changeset
|
594 * |
1cbe76d30e81
[gaim-migrate @ 13451]
Richard Laager <rlaager@wiktel.com>
parents:
11267
diff
changeset
|
595 * @param imhtml The GTK+ IM/HTML. |
1cbe76d30e81
[gaim-migrate @ 13451]
Richard Laager <rlaager@wiktel.com>
parents:
11267
diff
changeset
|
596 */ |
1cbe76d30e81
[gaim-migrate @ 13451]
Richard Laager <rlaager@wiktel.com>
parents:
11267
diff
changeset
|
597 void gtk_imhtml_clear_formatting(GtkIMHtml *imhtml); |
1cbe76d30e81
[gaim-migrate @ 13451]
Richard Laager <rlaager@wiktel.com>
parents:
11267
diff
changeset
|
598 |
1cbe76d30e81
[gaim-migrate @ 13451]
Richard Laager <rlaager@wiktel.com>
parents:
11267
diff
changeset
|
599 /** |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
600 * Toggles bold at the cursor location or selection in a GTK+ IM/HTML. |
9033 | 601 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
602 * @param imhtml The GTK+ IM/HTML. |
9033 | 603 */ |
11267
477e5cca8287
[gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents:
11224
diff
changeset
|
604 void gtk_imhtml_toggle_bold(GtkIMHtml *imhtml); |
9033 | 605 |
606 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
607 * Toggles italic at the cursor location or selection in a GTK+ IM/HTML. |
9033 | 608 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
609 * @param imhtml The GTK+ IM/HTML. |
9033 | 610 */ |
11267
477e5cca8287
[gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents:
11224
diff
changeset
|
611 void gtk_imhtml_toggle_italic(GtkIMHtml *imhtml); |
9033 | 612 |
613 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
614 * Toggles underline at the cursor location or selection in a GTK+ IM/HTML. |
9033 | 615 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
616 * @param imhtml The GTK+ IM/HTML. |
9033 | 617 */ |
11267
477e5cca8287
[gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents:
11224
diff
changeset
|
618 void gtk_imhtml_toggle_underline(GtkIMHtml *imhtml); |
9033 | 619 |
620 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
621 * Toggles strikethrough at the cursor location or selection in a GTK+ IM/HTML. |
9924 | 622 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
623 * @param imhtml The GTK+ IM/HTML. |
9924 | 624 */ |
11267
477e5cca8287
[gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents:
11224
diff
changeset
|
625 void gtk_imhtml_toggle_strike(GtkIMHtml *imhtml); |
9924 | 626 |
627 /** | |
9033 | 628 * Toggles a foreground color at the current location or selection in a GTK |
629 * IM/HTML. | |
630 * | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
631 * @param imhtml The GTK+ IM/HTML. |
9185 | 632 * @param color The HTML-style color, or @c NULL or "" to clear the color. |
9033 | 633 * |
634 * @return @c TRUE if a color was set, or @c FALSE if it was cleared. | |
635 */ | |
8061 | 636 gboolean gtk_imhtml_toggle_forecolor(GtkIMHtml *imhtml, const char *color); |
9033 | 637 |
638 /** | |
639 * Toggles a background color at the current location or selection in a GTK | |
640 * IM/HTML. | |
641 * | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
642 * @param imhtml The GTK+ IM/HTML. |
9185 | 643 * @param color The HTML-style color, or @c NULL or "" to clear the color. |
9033 | 644 * |
645 * @return @c TRUE if a color was set, or @c FALSE if it was cleared. | |
646 */ | |
8061 | 647 gboolean gtk_imhtml_toggle_backcolor(GtkIMHtml *imhtml, const char *color); |
9033 | 648 |
649 /** | |
10776 | 650 * Toggles a background color at the current location or selection in a GTK |
651 * IM/HTML. | |
652 * | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
653 * @param imhtml The GTK+ IM/HTML. |
10776 | 654 * @param color The HTML-style color, or @c NULL or "" to clear the color. |
655 * | |
656 * @return @c TRUE if a color was set, or @c FALSE if it was cleared. | |
657 */ | |
658 gboolean gtk_imhtml_toggle_background(GtkIMHtml *imhtml, const char *color); | |
659 | |
660 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
661 * Toggles a font face at the current location or selection in a GTK+ IM/HTML. |
9033 | 662 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
663 * @param imhtml The GTK+ IM/HTML. |
9185 | 664 * @param face The font face name, or @c NULL or "" to clear the font. |
9033 | 665 * |
666 * @return @c TRUE if a font name was set, or @c FALSE if it was cleared. | |
667 */ | |
8061 | 668 gboolean gtk_imhtml_toggle_fontface(GtkIMHtml *imhtml, const char *face); |
9033 | 669 |
670 /** | |
671 * Toggles a link tag with the given URL at the current location or selection | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
672 * in a GTK+ IM/HTML. |
9033 | 673 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
674 * @param imhtml The GTK+ IM/HTML. |
9185 | 675 * @param url The URL for the link or @c NULL to terminate the link. |
9033 | 676 */ |
8677 | 677 void gtk_imhtml_toggle_link(GtkIMHtml *imhtml, const char *url); |
9033 | 678 |
679 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
680 * Inserts a link to the given url at the given GtkTextMark in a GTK+ IM/HTML. |
9033 | 681 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
682 * @param imhtml The GTK+ IM/HTML. |
9033 | 683 * @param mark The GtkTextMark to insert the link at. |
684 * @param url The URL for the link. | |
685 * @param text The string to use for the link description. | |
686 */ | |
8677 | 687 void gtk_imhtml_insert_link(GtkIMHtml *imhtml, GtkTextMark *mark, const char *url, const char *text); |
9033 | 688 |
689 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
690 * Inserts a smiley at the current location or selection in a GTK+ IM/HTML. |
9033 | 691 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
692 * @param imhtml The GTK+ IM/HTML. |
9033 | 693 * @param sml The category of the smiley. |
694 * @param smiley The text of the smiley to insert. | |
695 */ | |
8061 | 696 void gtk_imhtml_insert_smiley(GtkIMHtml *imhtml, const char *sml, char *smiley); |
9033 | 697 /** |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
698 * Inserts a smiley at the given iter in a GTK+ IM/HTML. |
9033 | 699 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
700 * @param imhtml The GTK+ IM/HTML. |
9033 | 701 * @param sml The category of the smiley. |
702 * @param smiley The text of the smiley to insert. | |
703 * @param iter The GtkTextIter in the IM/HTML to insert the smiley at. | |
704 */ | |
8677 | 705 void gtk_imhtml_insert_smiley_at_iter(GtkIMHtml *imhtml, const char *sml, char *smiley, GtkTextIter *iter); |
9033 | 706 |
707 /** | |
708 * Inserts the IM/HTML scalable image with the given id at the given iter in a | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
709 * GTK+ IM/HTML. |
9033 | 710 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
711 * @param imhtml The GTK+ IM/HTML. |
9033 | 712 * @param id The id of the IM/HTML scalable. |
713 * @param iter The GtkTextIter in the IM/HTML to insert the image at. | |
714 */ | |
8962 | 715 void gtk_imhtml_insert_image_at_iter(GtkIMHtml *imhtml, int id, GtkTextIter *iter); |
9033 | 716 |
717 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
718 * Sets the font size at the current location or selection in a GTK+ IM/HTML. |
9033 | 719 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
720 * @param imhtml The GTK+ IM/HTML. |
9033 | 721 * @param size The HTML font size to use. |
722 */ | |
8061 | 723 void gtk_imhtml_font_set_size(GtkIMHtml *imhtml, gint size); |
9033 | 724 |
725 /** | |
726 * Decreases the font size by 1 at the current location or selection in a GTK | |
727 * IM/HTML. | |
728 * | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
729 * @param imhtml The GTK+ IM/HTML. |
9033 | 730 */ |
8061 | 731 void gtk_imhtml_font_shrink(GtkIMHtml *imhtml); |
9033 | 732 |
733 /** | |
734 * Increases the font size by 1 at the current location or selection in a GTK | |
735 * IM/HTML. | |
736 * | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
737 * @param imhtml The GTK+ IM/HTML. |
9033 | 738 */ |
8061 | 739 void gtk_imhtml_font_grow(GtkIMHtml *imhtml); |
9033 | 740 |
741 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
742 * Returns the HTML formatted contents between two iters in a GTK+ IM/HTML. |
9033 | 743 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
744 * @param imhtml The GTK+ IM/HTML. |
9033 | 745 * @param start The GtkTextIter indicating the start point in the IM/HTML. |
746 * @param end The GtkTextIter indicating the end point in the IM/HTML. | |
747 * | |
748 * @return A string containing the HTML formatted text. | |
749 */ | |
8061 | 750 char *gtk_imhtml_get_markup_range(GtkIMHtml *imhtml, GtkTextIter *start, GtkTextIter *end); |
9033 | 751 |
752 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
753 * Returns the entire HTML formatted contents of a GTK+ IM/HTML. |
9033 | 754 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
755 * @param imhtml The GTK+ IM/HTML. |
9033 | 756 * |
757 * @return A string containing the HTML formatted text. | |
758 */ | |
8061 | 759 char *gtk_imhtml_get_markup(GtkIMHtml *imhtml); |
9033 | 760 |
761 /** | |
762 * Returns a null terminated array of pointers to null terminated strings, each | |
763 * string for each line. g_strfreev() should be called to free it when done. | |
764 * | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
765 * @param imhtml The GTK+ IM/HTML. |
9033 | 766 * |
767 * @return A null terminated array of null terminated HTML formatted strings. | |
768 */ | |
8677 | 769 char **gtk_imhtml_get_markup_lines(GtkIMHtml *imhtml); |
9033 | 770 |
771 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
772 * Returns the entire unformatted (plain text) contents of a GTK+ IM/HTML |
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
773 * between two iters in a GTK+ IM/HTML. |
9033 | 774 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
775 * @param imhtml The GTK+ IM/HTML. |
9033 | 776 * @param start The GtkTextIter indicating the start point in the IM/HTML. |
9185 | 777 * @param stop The GtkTextIter indicating the end point in the IM/HTML. |
9033 | 778 * |
779 * @return A string containing the unformatted text. | |
780 */ | |
8677 | 781 char *gtk_imhtml_get_text(GtkIMHtml *imhtml, GtkTextIter *start, GtkTextIter *stop); |
8061 | 782 |
9033 | 783 /*@}*/ |
784 | |
1428 | 785 #ifdef __cplusplus |
786 } | |
787 #endif | |
788 | |
9713 | 789 #endif /* _GAIM_GTKIMHTML_H_ */ |