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