Mercurial > pidgin
annotate src/gtkimhtml.h @ 12737:a1e241dd50b6
[gaim-migrate @ 15082]
Conversation and Logging Message Timestamp Formatting...
The idea here is that we should honor the user's locale for message timestamps in the conversation window and in the logs.
I've added a signal and created a plugin that allows one to override this. The plugin is named "Message Timestamp Formats". Enabling that will by default change the timestamps back to the format we had before this commit. (That is to say, it forces the old format and ignores the locale.) The plugin also has options to show dates in the timestamps "Always", "In Chats", or "For Delayed Messages" (the default behavior).
This addresses all requests for 12 hour timestamps, allows people to continue with the 24 hour timestamps we have, even if their locale says differently, enables plugin authors to override the message timestamp formats in any way they choose, and addresses requests for complete dates in logs.
To recap, if you don't like the format string your locale has, enabled the "Message Timestamp Formats" plugin.
committer: Tailor Script <tailor@pidgin.im>
author | Richard Laager <rlaager@wiktel.com> |
---|---|
date | Thu, 05 Jan 2006 20:17:36 +0000 |
parents | adf79d8ceb2d |
children | 778d08e87ad0 |
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; |
12335 | 163 GtkIMHtmlSmileyFlags flags; |
164 GtkIMHtml *imhtml; | |
4263 | 165 }; |
166 | |
5967 | 167 struct _GtkIMHtmlScalable { |
4895 | 168 void (*scale)(struct _GtkIMHtmlScalable *, int, int); |
169 void (*add_to)(struct _GtkIMHtmlScalable *, GtkIMHtml *, GtkTextIter *); | |
170 void (*free)(struct _GtkIMHtmlScalable *); | |
171 }; | |
172 | |
5967 | 173 struct _GtkIMHtmlImage { |
4895 | 174 GtkIMHtmlScalable scalable; |
5012 | 175 GtkImage *image; |
5046 | 176 GdkPixbuf *pixbuf; |
4895 | 177 GtkTextMark *mark; |
5012 | 178 gchar *filename; |
4895 | 179 int width; |
180 int height; | |
8962 | 181 int id; |
9573 | 182 GtkWidget *filesel; |
5967 | 183 }; |
4895 | 184 |
5967 | 185 struct _GtkIMHtmlHr { |
4895 | 186 GtkIMHtmlScalable scalable; |
187 GtkWidget *sep; | |
5967 | 188 }; |
189 | |
190 typedef enum { | |
12553 | 191 GTK_IMHTML_NO_COLOURS = 1 << 0, |
192 GTK_IMHTML_NO_FONTS = 1 << 1, | |
193 GTK_IMHTML_NO_COMMENTS = 1 << 2, /* Remove */ | |
194 GTK_IMHTML_NO_TITLE = 1 << 3, | |
195 GTK_IMHTML_NO_NEWLINE = 1 << 4, | |
196 GTK_IMHTML_NO_SIZES = 1 << 5, | |
197 GTK_IMHTML_NO_SCROLL = 1 << 6, | |
198 GTK_IMHTML_RETURN_LOG = 1 << 7, | |
199 GTK_IMHTML_USE_POINTSIZE = 1 << 8, | |
200 GTK_IMHTML_NO_FORMATTING = 1 << 9, | |
201 GTK_IMHTML_USE_SMOOTHSCROLLING = 1 << 10 | |
5967 | 202 } GtkIMHtmlOptions; |
203 | |
10145 | 204 enum { |
205 GTK_IMHTML_DRAG_URL = 0, | |
206 GTK_IMHTML_DRAG_HTML, | |
207 GTK_IMHTML_DRAG_UTF8_STRING, | |
208 GTK_IMHTML_DRAG_COMPOUND_TEXT, | |
209 GTK_IMHTML_DRAG_STRING, | |
210 GTK_IMHTML_DRAG_TEXT, | |
211 GTK_IMHTML_DRAG_NUM | |
212 }; | |
213 | |
214 #define GTK_IMHTML_DND_TARGETS \ | |
10345 | 215 { "text/uri-list", 0, GTK_IMHTML_DRAG_URL }, \ |
10243 | 216 { "_NETSCAPE_URL", 0, GTK_IMHTML_DRAG_URL }, \ |
10145 | 217 { "text/html", 0, GTK_IMHTML_DRAG_HTML }, \ |
218 { "x-url/ftp", 0, GTK_IMHTML_DRAG_URL }, \ | |
219 { "x-url/http", 0, GTK_IMHTML_DRAG_URL }, \ | |
220 { "UTF8_STRING", 0, GTK_IMHTML_DRAG_UTF8_STRING }, \ | |
221 { "COMPOUND_TEXT", 0, GTK_IMHTML_DRAG_COMPOUND_TEXT }, \ | |
222 { "STRING", 0, GTK_IMHTML_DRAG_STRING }, \ | |
223 { "text/plain", 0, GTK_IMHTML_DRAG_TEXT }, \ | |
224 { "TEXT", 0, GTK_IMHTML_DRAG_TEXT } | |
225 | |
8962 | 226 typedef gpointer (*GtkIMHtmlGetImageFunc) (int id); |
227 typedef gpointer (*GtkIMHtmlGetImageDataFunc) (gpointer i); | |
228 typedef size_t (*GtkIMHtmlGetImageSizeFunc) (gpointer i); | |
229 typedef const char *(*GtkIMHtmlGetImageFilenameFunc)(gpointer i); | |
230 typedef void (*GtkIMHtmlImageRefFunc) (int id); | |
231 typedef void (*GtkIMHtmlImageUnrefFunc) (int id); | |
232 | |
233 struct _GtkIMHtmlFuncs { | |
234 GtkIMHtmlGetImageFunc image_get; | |
235 GtkIMHtmlGetImageDataFunc image_get_data; | |
236 GtkIMHtmlGetImageSizeFunc image_get_size; | |
237 GtkIMHtmlGetImageFilenameFunc image_get_filename; | |
238 GtkIMHtmlImageRefFunc image_ref; | |
239 GtkIMHtmlImageUnrefFunc image_unref; | |
240 }; | |
241 | |
9033 | 242 /*@}*/ |
8962 | 243 |
9033 | 244 /************************************************************************** |
245 * @name GTK+ IM/HTML rendering component API | |
246 **************************************************************************/ | |
247 /*@{*/ | |
248 | |
249 /** | |
9037 | 250 * Returns the GType object for an IM/HTML widget. |
9033 | 251 * |
9037 | 252 * @return The GType for an IM/HTML widget. |
9033 | 253 */ |
9037 | 254 GType gtk_imhtml_get_type(void); |
5967 | 255 |
9033 | 256 /** |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
257 * Creates and returns a new GTK+ IM/HTML widget. |
9033 | 258 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
259 * @return The GTK+ IM/HTML widget created. |
9033 | 260 */ |
261 GtkWidget *gtk_imhtml_new(void *, void *); | |
5967 | 262 |
9033 | 263 /** |
10526 | 264 * Returns the smiley object associated with the text. |
265 * | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
266 * @param imhtml The GTK+ IM/HTML. |
10526 | 267 * @param sml The name of the smiley category. |
268 * @param text The text associated with the smiley. | |
269 */ | |
270 | |
271 GtkIMHtmlSmiley *gtk_imhtml_smiley_get(GtkIMHtml * imhtml, | |
272 const gchar * sml, const gchar * text); | |
273 | |
274 | |
275 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
276 * Associates a smiley 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 * @param sml The name of the smiley category. |
280 * @param smiley The GtkIMSmiley to associate. | |
281 */ | |
10537 | 282 void gtk_imhtml_associate_smiley(GtkIMHtml *imhtml, const gchar *sml, GtkIMHtmlSmiley *smiley); |
9033 | 283 |
284 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
285 * Removes all smileys associated with a GTK+ IM/HTML. |
9033 | 286 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
287 * @param imhtml The GTK+ IM/HTML. |
9033 | 288 */ |
289 void gtk_imhtml_remove_smileys(GtkIMHtml *imhtml); | |
5967 | 290 |
9033 | 291 /** |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
292 * Sets the function callbacks to use with a GTK+ IM/HTML instance. |
9033 | 293 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
294 * @param imhtml The GTK+ IM/HTML. |
9033 | 295 * @param f The GtkIMHTMLFuncs struct containing the functions to use. |
296 */ | |
297 void gtk_imhtml_set_funcs(GtkIMHtml *imhtml, GtkIMHtmlFuncs *f); | |
5967 | 298 |
9033 | 299 /** |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
300 * Enables or disables showing the contents of HTML comments in a GTK+ IM/HTML. |
9033 | 301 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
302 * @param imhtml The GTK+ IM/HTML. |
9033 | 303 * @param show @c TRUE if comments should be shown, or @c FALSE otherwise. |
304 */ | |
305 void gtk_imhtml_show_comments(GtkIMHtml *imhtml, gboolean show); | |
8962 | 306 |
9033 | 307 /** |
11814
fa17fc619f17
[gaim-migrate @ 14105]
Richard Laager <rlaager@wiktel.com>
parents:
11525
diff
changeset
|
308 * Gets the protocol name associated with this 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 * @param imhtml The GTK+ IM/HTML |
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 const char *gtk_imhtml_get_protocol_name(GtkIMHtml *imhtml); |
fa17fc619f17
[gaim-migrate @ 14105]
Richard Laager <rlaager@wiktel.com>
parents:
11525
diff
changeset
|
313 |
fa17fc619f17
[gaim-migrate @ 14105]
Richard Laager <rlaager@wiktel.com>
parents:
11525
diff
changeset
|
314 /** |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
315 * Associates a protocol name with a GTK+ IM/HTML. |
9033 | 316 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
317 * @param imhtml The GTK+ IM/HTML. |
9033 | 318 * @param protocol_name The protocol name to associate with the IM/HTML. |
319 */ | |
320 void gtk_imhtml_set_protocol_name(GtkIMHtml *imhtml, const gchar *protocol_name); | |
8456 | 321 |
9033 | 322 /** |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
323 * Appends HTML formatted text to a GTK+ IM/HTML. |
9033 | 324 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
325 * @param imhtml The GTK+ IM/HTML. |
9033 | 326 * @param text The formatted text to append. |
327 * @param options A GtkIMHtmlOptions object indicating insert behavior. | |
328 */ | |
9307 | 329 #define gtk_imhtml_append_text(imhtml, text, options) \ |
330 gtk_imhtml_append_text_with_images(imhtml, text, options, NULL) | |
6982 | 331 |
9033 | 332 /** |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
333 * Appends HTML formatted text to a GTK+ IM/HTML. |
9033 | 334 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
335 * @param imhtml The GTK+ IM/HTML. |
9033 | 336 * @param text The formatted text to append. |
337 * @param options A GtkIMHtmlOptions object indicating insert behavior. | |
9185 | 338 * @param unused Use @c NULL value. |
9033 | 339 */ |
340 void gtk_imhtml_append_text_with_images(GtkIMHtml *imhtml, | |
341 const gchar *text, | |
342 GtkIMHtmlOptions options, | |
343 GSList *unused); | |
344 | |
345 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
346 * Inserts HTML formatted text to a GTK+ IM/HTML at a given iter. |
9033 | 347 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
348 * @param imhtml The GTK+ IM/HTML. |
9033 | 349 * @param text The formatted text to append. |
350 * @param options A GtkIMHtmlOptions object indicating insert behavior. | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
351 * @param iter A GtkTextIter in the GTK+ IM/HTML at which to insert text. |
9033 | 352 */ |
8677 | 353 void gtk_imhtml_insert_html_at_iter(GtkIMHtml *imhtml, |
354 const gchar *text, | |
355 GtkIMHtmlOptions options, | |
356 GtkTextIter *iter); | |
9033 | 357 |
358 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
359 * Scrolls a GTK+ IM/HTML to the end of its contents. |
9033 | 360 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
361 * @param imhtml The GTK+ IM/HTML. |
12557
adf79d8ceb2d
[gaim-migrate @ 14876]
Richard Laager <rlaager@wiktel.com>
parents:
12553
diff
changeset
|
362 * @param smooth A boolean indicating if smooth scrolling should be used. |
9033 | 363 */ |
12553 | 364 void gtk_imhtml_scroll_to_end(GtkIMHtml *imhtml, gboolean smooth); |
9033 | 365 |
366 /** | |
11224
409d6a11da51
[gaim-migrate @ 13360]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10814
diff
changeset
|
367 * 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
|
368 * |
409d6a11da51
[gaim-migrate @ 13360]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10814
diff
changeset
|
369 * @param imhtml The GTK+ IM/HTML. |
409d6a11da51
[gaim-migrate @ 13360]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10814
diff
changeset
|
370 * @param start a postition in the imhtml's buffer |
409d6a11da51
[gaim-migrate @ 13360]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10814
diff
changeset
|
371 * @param end another postition in the imhtml's buffer |
409d6a11da51
[gaim-migrate @ 13360]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10814
diff
changeset
|
372 */ |
409d6a11da51
[gaim-migrate @ 13360]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10814
diff
changeset
|
373 void gtk_imhtml_delete(GtkIMHtml *imhtml, GtkTextIter *start, GtkTextIter *end); |
409d6a11da51
[gaim-migrate @ 13360]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10814
diff
changeset
|
374 |
409d6a11da51
[gaim-migrate @ 13360]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10814
diff
changeset
|
375 /** |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
376 * Purges the contents from a GTK+ IM/HTML and resets formatting. |
9033 | 377 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
378 * @param imhtml The GTK+ IM/HTML. |
9033 | 379 */ |
11224
409d6a11da51
[gaim-migrate @ 13360]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10814
diff
changeset
|
380 #define gtk_imhtml_clear(imhtml) \ |
409d6a11da51
[gaim-migrate @ 13360]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
10814
diff
changeset
|
381 gtk_imhtml_delete(imhtml, NULL, NULL) |
4895 | 382 |
9033 | 383 /** |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
384 * Scrolls a GTK+ IM/HTML up by one page. |
9033 | 385 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
386 * @param imhtml The GTK+ IM/HTML. |
9033 | 387 */ |
388 void gtk_imhtml_page_up(GtkIMHtml *imhtml); | |
389 | |
390 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
391 * Scrolls a GTK+ IM/HTML down by one page. |
9033 | 392 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
393 * @param imhtml The GTK+ IM/HTML. |
9033 | 394 */ |
395 void gtk_imhtml_page_down(GtkIMHtml *imhtml); | |
396 | |
397 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
398 * Creates and returns an new GTK+ IM/HTML scalable object. |
9033 | 399 * |
400 * @return A new IM/HTML Scalable object. | |
401 */ | |
12323
fc464a0abccc
[gaim-migrate @ 14627]
Richard Laager <rlaager@wiktel.com>
parents:
11814
diff
changeset
|
402 GtkIMHtmlScalable *gtk_imhtml_scalable_new(void); |
9033 | 403 |
404 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
405 * Creates and returns an new GTK+ IM/HTML scalable object with an image. |
9033 | 406 * |
407 * @param img A GdkPixbuf of the image to add. | |
408 * @param filename The filename to associate with the image. | |
409 * @param id The id to associate with the image. | |
410 * | |
411 * @return A new IM/HTML Scalable object with an image. | |
412 */ | |
8962 | 413 GtkIMHtmlScalable *gtk_imhtml_image_new(GdkPixbuf *img, const gchar *filename, int id); |
9033 | 414 |
415 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
416 * Destroys and frees a GTK+ IM/HTML scalable image. |
9033 | 417 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
418 * @param scale The GTK+ IM/HTML scalable. |
9033 | 419 */ |
420 void gtk_imhtml_image_free(GtkIMHtmlScalable *scale); | |
4895 | 421 |
9033 | 422 /** |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
423 * Rescales a GTK+ IM/HTML scalable image to a given size. |
9033 | 424 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
425 * @param scale The GTK+ IM/HTML scalable. |
9033 | 426 * @param width The new width. |
427 * @param height The new height. | |
428 */ | |
429 void gtk_imhtml_image_scale(GtkIMHtmlScalable *scale, int width, int height); | |
430 | |
431 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
432 * Adds a GTK+ IM/HTML scalable image to a given GTK+ IM/HTML at a given iter. |
9033 | 433 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
434 * @param scale The GTK+ IM/HTML scalable. |
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
435 * @param imhtml The GTK+ IM/HTML. |
9033 | 436 * @param iter The GtkTextIter at which to add the scalable. |
437 */ | |
438 void gtk_imhtml_image_add_to(GtkIMHtmlScalable *scale, GtkIMHtml *imhtml, GtkTextIter *iter); | |
439 | |
440 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
441 * Creates and returns an new GTK+ IM/HTML scalable with a horizontal rule. |
9033 | 442 * |
443 * @return A new IM/HTML Scalable object with an image. | |
444 */ | |
12323
fc464a0abccc
[gaim-migrate @ 14627]
Richard Laager <rlaager@wiktel.com>
parents:
11814
diff
changeset
|
445 GtkIMHtmlScalable *gtk_imhtml_hr_new(void); |
9033 | 446 |
447 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
448 * Destroys and frees a GTK+ IM/HTML scalable horizontal rule. |
9033 | 449 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
450 * @param scale The GTK+ IM/HTML scalable. |
9033 | 451 */ |
9034 | 452 void gtk_imhtml_hr_free(GtkIMHtmlScalable *scale); |
9033 | 453 |
454 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
455 * Rescales a GTK+ IM/HTML scalable horizontal rule to a given size. |
9033 | 456 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
457 * @param scale The GTK+ IM/HTML scalable. |
9033 | 458 * @param width The new width. |
459 * @param height The new height. | |
460 */ | |
9034 | 461 void gtk_imhtml_hr_scale(GtkIMHtmlScalable *scale, int width, int height); |
4895 | 462 |
9033 | 463 /** |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
464 * Adds a GTK+ IM/HTML scalable horizontal rule to a given GTK+ IM/HTML at |
9033 | 465 * a given iter. |
466 * | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
467 * @param scale The GTK+ IM/HTML scalable. |
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
468 * @param imhtml The GTK+ IM/HTML. |
9033 | 469 * @param iter The GtkTextIter at which to add the scalable. |
470 */ | |
9307 | 471 void gtk_imhtml_hr_add_to(GtkIMHtmlScalable *scale, GtkIMHtml *imhtml, GtkTextIter *iter); |
9033 | 472 |
473 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
474 * Finds and highlights a given string 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 text The string to search for. |
478 * | |
479 * @return @c TRUE if a search was performed, or @c FALSE if not. | |
480 */ | |
7295 | 481 gboolean gtk_imhtml_search_find(GtkIMHtml *imhtml, const gchar *text); |
9033 | 482 |
483 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
484 * Clears the highlighting from a prior search in a GTK+ IM/HTML. |
9033 | 485 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
486 * @param imhtml The GTK+ IM/HTML. |
9033 | 487 */ |
7295 | 488 void gtk_imhtml_search_clear(GtkIMHtml *imhtml); |
4895 | 489 |
9033 | 490 /** |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
491 * Enables or disables editing in a GTK+ IM/HTML. |
9033 | 492 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
493 * @param imhtml The GTK+ IM/HTML. |
9033 | 494 * @param editable @c TRUE to make the widget editable, or @c FALSE otherwise. |
495 */ | |
8061 | 496 void gtk_imhtml_set_editable(GtkIMHtml *imhtml, gboolean editable); |
9033 | 497 |
498 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
499 * Enables or disables whole buffer formatting only (wbfo) in a GTK+ IM/HTML. |
9033 | 500 * In this mode formatting options to the buffer take effect for the entire |
501 * buffer instead of specific text. | |
502 * | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
503 * @param imhtml The GTK+ IM/HTML. |
9033 | 504 * @param wbfo @c TRUE to enable the mode, or @c FALSE otherwise. |
505 */ | |
8677 | 506 void gtk_imhtml_set_whole_buffer_formatting_only(GtkIMHtml *imhtml, gboolean wbfo); |
9033 | 507 |
508 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
509 * Indicates which formatting functions to enable and disable in a GTK+ IM/HTML. |
9033 | 510 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
511 * @param imhtml The GTK+ IM/HTML. |
9185 | 512 * @param buttons A GtkIMHtmlButtons bitmask indicating which functions to use. |
9033 | 513 */ |
8420 | 514 void gtk_imhtml_set_format_functions(GtkIMHtml *imhtml, GtkIMHtmlButtons buttons); |
9033 | 515 |
516 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
517 * Returns which formatting functions are enabled in a GTK+ IM/HTML. |
9033 | 518 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
519 * @param imhtml The GTK+ IM/HTML. |
9033 | 520 * |
9185 | 521 * @return A GtkIMHtmlButtons bitmask indicating which functions to are enabled. |
9033 | 522 */ |
8788 | 523 GtkIMHtmlButtons gtk_imhtml_get_format_functions(GtkIMHtml *imhtml); |
9033 | 524 |
525 /** | |
526 * 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
|
527 * current position in a GTK+ IM/HTML. |
9033 | 528 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
529 * @param imhtml The GTK+ IM/HTML. |
9033 | 530 * @param bold A reference to a boolean for bold. |
531 * @param italic A reference to a boolean for italic. | |
532 * @param underline A reference to a boolean for underline. | |
533 */ | |
8516 | 534 void gtk_imhtml_get_current_format(GtkIMHtml *imhtml, gboolean *bold, gboolean *italic, gboolean *underline); |
9033 | 535 |
536 /** | |
537 * 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
|
538 * in a GTK+ IM/HTML. |
9033 | 539 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
540 * @param imhtml The GTK+ IM/HTML. |
9033 | 541 * |
542 * @return A string containg the font face or @c NULL if none is set. | |
543 */ | |
9025 | 544 char *gtk_imhtml_get_current_fontface(GtkIMHtml *imhtml); |
9033 | 545 |
546 /** | |
547 * 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
|
548 * position in a GTK+ IM/HTML. |
9033 | 549 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
550 * @param imhtml The GTK+ IM/HTML. |
9033 | 551 * |
552 * @return A string containg the foreground color or @c NULL if none is set. | |
553 */ | |
9025 | 554 char *gtk_imhtml_get_current_forecolor(GtkIMHtml *imhtml); |
9033 | 555 |
556 /** | |
10776 | 557 * 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
|
558 * position in a GTK+ IM/HTML. |
10776 | 559 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
560 * @param imhtml The GTK+ IM/HTML. |
10776 | 561 * |
562 * @return A string containg the font background color or @c NULL if none is set. | |
563 */ | |
564 char *gtk_imhtml_get_current_backcolor(GtkIMHtml *imhtml); | |
565 | |
566 /** | |
9033 | 567 * 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
|
568 * position in a GTK+ IM/HTML. |
9033 | 569 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
570 * @param imhtml The GTK+ IM/HTML. |
9033 | 571 * |
572 * @return A string containg the background color or @c NULL if none is set. | |
573 */ | |
10776 | 574 char *gtk_imhtml_get_current_background(GtkIMHtml *imhtml); |
9033 | 575 |
576 /** | |
577 * 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
|
578 * position in a GTK+ IM/HTML. |
9033 | 579 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
580 * @param imhtml The GTK+ IM/HTML. |
9033 | 581 * |
582 * @return The HTML font size. | |
583 */ | |
9025 | 584 gint gtk_imhtml_get_current_fontsize(GtkIMHtml *imhtml); |
9033 | 585 |
586 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
587 * Checks whether a GTK+ IM/HTML is marked as editable. |
9033 | 588 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
589 * @param imhtml The GTK+ IM/HTML. |
9033 | 590 * |
591 * @return @c TRUE if the IM/HTML is editable, or @c FALSE otherwise. | |
592 */ | |
8061 | 593 gboolean gtk_imhtml_get_editable(GtkIMHtml *imhtml); |
9033 | 594 |
595 /** | |
11269
1cbe76d30e81
[gaim-migrate @ 13451]
Richard Laager <rlaager@wiktel.com>
parents:
11267
diff
changeset
|
596 * Clear all the formatting on a GTK+ IM/HTML. |
1cbe76d30e81
[gaim-migrate @ 13451]
Richard Laager <rlaager@wiktel.com>
parents:
11267
diff
changeset
|
597 * |
1cbe76d30e81
[gaim-migrate @ 13451]
Richard Laager <rlaager@wiktel.com>
parents:
11267
diff
changeset
|
598 * @param imhtml The GTK+ IM/HTML. |
1cbe76d30e81
[gaim-migrate @ 13451]
Richard Laager <rlaager@wiktel.com>
parents:
11267
diff
changeset
|
599 */ |
1cbe76d30e81
[gaim-migrate @ 13451]
Richard Laager <rlaager@wiktel.com>
parents:
11267
diff
changeset
|
600 void gtk_imhtml_clear_formatting(GtkIMHtml *imhtml); |
1cbe76d30e81
[gaim-migrate @ 13451]
Richard Laager <rlaager@wiktel.com>
parents:
11267
diff
changeset
|
601 |
1cbe76d30e81
[gaim-migrate @ 13451]
Richard Laager <rlaager@wiktel.com>
parents:
11267
diff
changeset
|
602 /** |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
603 * Toggles bold at the cursor location or selection in a GTK+ IM/HTML. |
9033 | 604 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
605 * @param imhtml The GTK+ IM/HTML. |
9033 | 606 */ |
11267
477e5cca8287
[gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents:
11224
diff
changeset
|
607 void gtk_imhtml_toggle_bold(GtkIMHtml *imhtml); |
9033 | 608 |
609 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
610 * Toggles italic at the cursor location or selection in a GTK+ IM/HTML. |
9033 | 611 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
612 * @param imhtml The GTK+ IM/HTML. |
9033 | 613 */ |
11267
477e5cca8287
[gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents:
11224
diff
changeset
|
614 void gtk_imhtml_toggle_italic(GtkIMHtml *imhtml); |
9033 | 615 |
616 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
617 * Toggles underline at the cursor location or selection in a GTK+ IM/HTML. |
9033 | 618 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
619 * @param imhtml The GTK+ IM/HTML. |
9033 | 620 */ |
11267
477e5cca8287
[gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents:
11224
diff
changeset
|
621 void gtk_imhtml_toggle_underline(GtkIMHtml *imhtml); |
9033 | 622 |
623 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
624 * Toggles strikethrough at the cursor location or selection in a GTK+ IM/HTML. |
9924 | 625 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
626 * @param imhtml The GTK+ IM/HTML. |
9924 | 627 */ |
11267
477e5cca8287
[gaim-migrate @ 13449]
Richard Laager <rlaager@wiktel.com>
parents:
11224
diff
changeset
|
628 void gtk_imhtml_toggle_strike(GtkIMHtml *imhtml); |
9924 | 629 |
630 /** | |
9033 | 631 * Toggles a foreground color at the current location or selection in a GTK |
632 * IM/HTML. | |
633 * | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
634 * @param imhtml The GTK+ IM/HTML. |
9185 | 635 * @param color The HTML-style color, or @c NULL or "" to clear the color. |
9033 | 636 * |
637 * @return @c TRUE if a color was set, or @c FALSE if it was cleared. | |
638 */ | |
8061 | 639 gboolean gtk_imhtml_toggle_forecolor(GtkIMHtml *imhtml, const char *color); |
9033 | 640 |
641 /** | |
642 * Toggles a background color at the current location or selection in a GTK | |
643 * IM/HTML. | |
644 * | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
645 * @param imhtml The GTK+ IM/HTML. |
9185 | 646 * @param color The HTML-style color, or @c NULL or "" to clear the color. |
9033 | 647 * |
648 * @return @c TRUE if a color was set, or @c FALSE if it was cleared. | |
649 */ | |
8061 | 650 gboolean gtk_imhtml_toggle_backcolor(GtkIMHtml *imhtml, const char *color); |
9033 | 651 |
652 /** | |
10776 | 653 * Toggles a background color at the current location or selection in a GTK |
654 * IM/HTML. | |
655 * | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
656 * @param imhtml The GTK+ IM/HTML. |
10776 | 657 * @param color The HTML-style color, or @c NULL or "" to clear the color. |
658 * | |
659 * @return @c TRUE if a color was set, or @c FALSE if it was cleared. | |
660 */ | |
661 gboolean gtk_imhtml_toggle_background(GtkIMHtml *imhtml, const char *color); | |
662 | |
663 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
664 * Toggles a font face at the current location or selection in a GTK+ IM/HTML. |
9033 | 665 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
666 * @param imhtml The GTK+ IM/HTML. |
9185 | 667 * @param face The font face name, or @c NULL or "" to clear the font. |
9033 | 668 * |
669 * @return @c TRUE if a font name was set, or @c FALSE if it was cleared. | |
670 */ | |
8061 | 671 gboolean gtk_imhtml_toggle_fontface(GtkIMHtml *imhtml, const char *face); |
9033 | 672 |
673 /** | |
674 * 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
|
675 * in a GTK+ IM/HTML. |
9033 | 676 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
677 * @param imhtml The GTK+ IM/HTML. |
9185 | 678 * @param url The URL for the link or @c NULL to terminate the link. |
9033 | 679 */ |
8677 | 680 void gtk_imhtml_toggle_link(GtkIMHtml *imhtml, const char *url); |
9033 | 681 |
682 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
683 * Inserts a link to the given url at the given GtkTextMark in a GTK+ IM/HTML. |
9033 | 684 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
685 * @param imhtml The GTK+ IM/HTML. |
9033 | 686 * @param mark The GtkTextMark to insert the link at. |
687 * @param url The URL for the link. | |
688 * @param text The string to use for the link description. | |
689 */ | |
8677 | 690 void gtk_imhtml_insert_link(GtkIMHtml *imhtml, GtkTextMark *mark, const char *url, const char *text); |
9033 | 691 |
692 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
693 * Inserts a smiley at the current location or selection in a GTK+ IM/HTML. |
9033 | 694 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
695 * @param imhtml The GTK+ IM/HTML. |
9033 | 696 * @param sml The category of the smiley. |
697 * @param smiley The text of the smiley to insert. | |
698 */ | |
8061 | 699 void gtk_imhtml_insert_smiley(GtkIMHtml *imhtml, const char *sml, char *smiley); |
9033 | 700 /** |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
701 * Inserts a smiley at the given iter in a GTK+ IM/HTML. |
9033 | 702 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
703 * @param imhtml The GTK+ IM/HTML. |
9033 | 704 * @param sml The category of the smiley. |
705 * @param smiley The text of the smiley to insert. | |
706 * @param iter The GtkTextIter in the IM/HTML to insert the smiley at. | |
707 */ | |
8677 | 708 void gtk_imhtml_insert_smiley_at_iter(GtkIMHtml *imhtml, const char *sml, char *smiley, GtkTextIter *iter); |
9033 | 709 |
710 /** | |
711 * 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
|
712 * GTK+ IM/HTML. |
9033 | 713 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
714 * @param imhtml The GTK+ IM/HTML. |
9033 | 715 * @param id The id of the IM/HTML scalable. |
716 * @param iter The GtkTextIter in the IM/HTML to insert the image at. | |
717 */ | |
8962 | 718 void gtk_imhtml_insert_image_at_iter(GtkIMHtml *imhtml, int id, GtkTextIter *iter); |
9033 | 719 |
720 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
721 * Sets the font size at the current location or selection in a GTK+ IM/HTML. |
9033 | 722 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
723 * @param imhtml The GTK+ IM/HTML. |
9033 | 724 * @param size The HTML font size to use. |
725 */ | |
8061 | 726 void gtk_imhtml_font_set_size(GtkIMHtml *imhtml, gint size); |
9033 | 727 |
728 /** | |
729 * Decreases the font size by 1 at the current location or selection in a GTK | |
730 * IM/HTML. | |
731 * | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
732 * @param imhtml The GTK+ IM/HTML. |
9033 | 733 */ |
8061 | 734 void gtk_imhtml_font_shrink(GtkIMHtml *imhtml); |
9033 | 735 |
736 /** | |
737 * Increases the font size by 1 at the current location or selection in a GTK | |
738 * IM/HTML. | |
739 * | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
740 * @param imhtml The GTK+ IM/HTML. |
9033 | 741 */ |
8061 | 742 void gtk_imhtml_font_grow(GtkIMHtml *imhtml); |
9033 | 743 |
744 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
745 * Returns the HTML formatted contents between two iters in a GTK+ IM/HTML. |
9033 | 746 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
747 * @param imhtml The GTK+ IM/HTML. |
9033 | 748 * @param start The GtkTextIter indicating the start point in the IM/HTML. |
749 * @param end The GtkTextIter indicating the end point in the IM/HTML. | |
750 * | |
751 * @return A string containing the HTML formatted text. | |
752 */ | |
8061 | 753 char *gtk_imhtml_get_markup_range(GtkIMHtml *imhtml, GtkTextIter *start, GtkTextIter *end); |
9033 | 754 |
755 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
756 * Returns the entire HTML formatted contents of a GTK+ IM/HTML. |
9033 | 757 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
758 * @param imhtml The GTK+ IM/HTML. |
9033 | 759 * |
760 * @return A string containing the HTML formatted text. | |
761 */ | |
8061 | 762 char *gtk_imhtml_get_markup(GtkIMHtml *imhtml); |
9033 | 763 |
764 /** | |
765 * Returns a null terminated array of pointers to null terminated strings, each | |
766 * string for each line. g_strfreev() should be called to free it when done. | |
767 * | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
768 * @param imhtml The GTK+ IM/HTML. |
9033 | 769 * |
770 * @return A null terminated array of null terminated HTML formatted strings. | |
771 */ | |
8677 | 772 char **gtk_imhtml_get_markup_lines(GtkIMHtml *imhtml); |
9033 | 773 |
774 /** | |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
775 * 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
|
776 * between two iters in a GTK+ IM/HTML. |
9033 | 777 * |
10814
364a2ef907ae
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10799
diff
changeset
|
778 * @param imhtml The GTK+ IM/HTML. |
9033 | 779 * @param start The GtkTextIter indicating the start point in the IM/HTML. |
9185 | 780 * @param stop The GtkTextIter indicating the end point in the IM/HTML. |
9033 | 781 * |
782 * @return A string containing the unformatted text. | |
783 */ | |
8677 | 784 char *gtk_imhtml_get_text(GtkIMHtml *imhtml, GtkTextIter *start, GtkTextIter *stop); |
8061 | 785 |
9033 | 786 /*@}*/ |
787 | |
1428 | 788 #ifdef __cplusplus |
789 } | |
790 #endif | |
791 | |
9713 | 792 #endif /* _GAIM_GTKIMHTML_H_ */ |