Mercurial > pidgin.yaz
diff src/gtkimhtml.h @ 8677:cc2ce209cc46
[gaim-migrate @ 9430]
marv's patch for GtkIMHtml.
committer: Tailor Script <tailor@pidgin.im>
author | Sean Egan <seanegan@gmail.com> |
---|---|
date | Sat, 17 Apr 2004 13:58:29 +0000 |
parents | f8ab826e11ad |
children | e2e56231023c |
line wrap: on
line diff
--- a/src/gtkimhtml.h Sat Apr 17 13:57:33 2004 +0000 +++ b/src/gtkimhtml.h Sat Apr 17 13:58:29 2004 +0000 @@ -60,22 +60,14 @@ GTK_IMHTML_BACKCOLOR = 1 << 7, GTK_IMHTML_LINK = 1 << 8, GTK_IMHTML_IMAGE = 1 << 9, - GTK_IMHTML_SMILEY = 1 << 10 + GTK_IMHTML_SMILEY = 1 << 10, + GTK_IMHTML_ALL = -1 } GtkIMHtmlButtons; -typedef struct { - GtkTextMark *start; - GtkTextMark *end; - char *start_tag; - char *end_tag; - GtkTextBuffer *buffer; - GtkTextTag *tag; -} GtkIMHtmlFormatSpan; - struct _GtkIMHtml { GtkTextView text_view; GtkTextBuffer *text_buffer; - GtkTextMark *end; + GtkTextMark *scrollpoint; GdkCursor *hand_cursor; GdkCursor *arrow_cursor; GdkCursor *text_cursor; @@ -100,19 +92,21 @@ gboolean editable; GtkIMHtmlButtons format_functions; + gboolean wbfo; /* Whole buffer formatting only. */ + + gint insert_offset; struct { - GtkIMHtmlFormatSpan *bold; - GtkIMHtmlFormatSpan *italic; - GtkIMHtmlFormatSpan *underline; - GtkIMHtmlFormatSpan *forecolor; - GtkIMHtmlFormatSpan *backcolor; - GtkIMHtmlFormatSpan *fontface; - GtkIMHtmlFormatSpan *sizespan; + gboolean bold:1; + gboolean italic:1; + gboolean underline:1; + gchar *forecolor; + gchar *backcolor; + gchar *fontface; int fontsize; + GtkTextTag *link; } edit; char *clipboard_string; - GList *format_spans; }; struct _GtkIMHtmlClass { @@ -204,11 +198,14 @@ #define gtk_imhtml_append_text(x, y, z) \ gtk_imhtml_append_text_with_images(x, y, z, NULL) -GString* gtk_imhtml_append_text_with_images (GtkIMHtml *imhtml, +void gtk_imhtml_append_text_with_images (GtkIMHtml *imhtml, const gchar *text, GtkIMHtmlOptions options, GSList *images); - +void gtk_imhtml_insert_html_at_iter(GtkIMHtml *imhtml, + const gchar *text, + GtkIMHtmlOptions options, + GtkTextIter *iter); void gtk_imhtml_clear (GtkIMHtml *imhtml); void gtk_imhtml_page_up (GtkIMHtml *imhtml); void gtk_imhtml_page_down (GtkIMHtml *imhtml); @@ -230,6 +227,7 @@ /* Editable stuff */ void gtk_imhtml_set_editable(GtkIMHtml *imhtml, gboolean editable); +void gtk_imhtml_set_whole_buffer_formatting_only(GtkIMHtml *imhtml, gboolean wbfo); void gtk_imhtml_set_format_functions(GtkIMHtml *imhtml, GtkIMHtmlButtons buttons); void gtk_imhtml_get_current_format(GtkIMHtml *imhtml, gboolean *bold, gboolean *italic, gboolean *underline); gboolean gtk_imhtml_get_editable(GtkIMHtml *imhtml); @@ -239,14 +237,19 @@ gboolean gtk_imhtml_toggle_forecolor(GtkIMHtml *imhtml, const char *color); gboolean gtk_imhtml_toggle_backcolor(GtkIMHtml *imhtml, const char *color); gboolean gtk_imhtml_toggle_fontface(GtkIMHtml *imhtml, const char *face); -void gtk_imhtml_insert_link(GtkIMHtml *imhtml, const char *url, const char *text); +void gtk_imhtml_toggle_link(GtkIMHtml *imhtml, const char *url); +void gtk_imhtml_insert_link(GtkIMHtml *imhtml, GtkTextMark *mark, const char *url, const char *text); void gtk_imhtml_insert_smiley(GtkIMHtml *imhtml, const char *sml, char *smiley); +void gtk_imhtml_insert_smiley_at_iter(GtkIMHtml *imhtml, const char *sml, char *smiley, GtkTextIter *iter); void gtk_imhtml_font_set_size(GtkIMHtml *imhtml, gint size); void gtk_imhtml_font_shrink(GtkIMHtml *imhtml); void gtk_imhtml_font_grow(GtkIMHtml *imhtml); char *gtk_imhtml_get_markup_range(GtkIMHtml *imhtml, GtkTextIter *start, GtkTextIter *end); char *gtk_imhtml_get_markup(GtkIMHtml *imhtml); -char *gtk_imhtml_get_text(GtkIMHtml *imhtml); +/* returns a null terminated array of pointers to null ternimated strings, each string for each line */ +/* g_strfreev() should be called on it */ +char **gtk_imhtml_get_markup_lines(GtkIMHtml *imhtml); +char *gtk_imhtml_get_text(GtkIMHtml *imhtml, GtkTextIter *start, GtkTextIter *stop); #ifdef __cplusplus }