comparison src/gtkimhtml.h @ 8061:ea073d234191

[gaim-migrate @ 8749] <b><i><u>what you see is what you get</u></i></b> committer: Tailor Script <tailor@pidgin.im>
author Nathan Walp <nwalp@pidgin.im>
date Sat, 10 Jan 2004 06:06:02 +0000
parents fa6395637e2c
children 42c7227d6e4d
comparison
equal deleted inserted replaced
8060:b66733e6e6f2 8061:ea073d234191
37 #define GTK_IMHTML(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_IMHTML, GtkIMHtml)) 37 #define GTK_IMHTML(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_IMHTML, GtkIMHtml))
38 #define GTK_IMHTML_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_IMHTML, GtkIMHtmlClass)) 38 #define GTK_IMHTML_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_IMHTML, GtkIMHtmlClass))
39 #define GTK_IS_IMHTML(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_IMHTML)) 39 #define GTK_IS_IMHTML(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_IMHTML))
40 #define GTK_IS_IMHTML_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_IMHTML)) 40 #define GTK_IS_IMHTML_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_IMHTML))
41 #define GTK_IMHTML_SCALABLE(obj) ((GtkIMHtmlScalable *)obj) 41 #define GTK_IMHTML_SCALABLE(obj) ((GtkIMHtmlScalable *)obj)
42 #define GTK_IMHTML_COPYABLE(obj) ((GtkIMHtmlCopyable *)obj)
43 42
44 typedef struct _GtkIMHtml GtkIMHtml; 43 typedef struct _GtkIMHtml GtkIMHtml;
45 typedef struct _GtkIMHtmlClass GtkIMHtmlClass; 44 typedef struct _GtkIMHtmlClass GtkIMHtmlClass;
46 typedef struct _GtkIMHtmlFontDetail GtkIMHtmlFontDetail; /* The five elements contained in a FONT tag */ 45 typedef struct _GtkIMHtmlFontDetail GtkIMHtmlFontDetail; /* The five elements contained in a FONT tag */
47 typedef struct _GtkSmileyTree GtkSmileyTree; 46 typedef struct _GtkSmileyTree GtkSmileyTree;
48 typedef struct _GtkIMHtmlSmiley GtkIMHtmlSmiley; 47 typedef struct _GtkIMHtmlSmiley GtkIMHtmlSmiley;
49 typedef struct _GtkIMHtmlScalable GtkIMHtmlScalable; 48 typedef struct _GtkIMHtmlScalable GtkIMHtmlScalable;
50 typedef struct _GtkIMHtmlImage GtkIMHtmlImage; 49 typedef struct _GtkIMHtmlImage GtkIMHtmlImage;
51 typedef struct _GtkIMHtmlHr GtkIMHtmlHr; 50 typedef struct _GtkIMHtmlHr GtkIMHtmlHr;
52 typedef struct _GtkIMHtmlCopyable GtkIMHtmlCopyable; 51
52
53 typedef struct {
54 GtkTextMark *start;
55 GtkTextMark *end;
56 char *start_tag;
57 char *end_tag;
58 GtkTextBuffer *buffer;
59 GtkTextTag *tag;
60 } GtkIMHtmlFormatSpan;
53 61
54 struct _GtkIMHtml { 62 struct _GtkIMHtml {
55 GtkTextView text_view; 63 GtkTextView text_view;
56 GtkTextBuffer *text_buffer; 64 GtkTextBuffer *text_buffer;
57 GtkTextMark *end; 65 GtkTextMark *end;
58 gboolean comments, smileys; 66 gboolean comments, smileys;
59 GdkCursor *hand_cursor; 67 GdkCursor *hand_cursor;
60 GdkCursor *arrow_cursor; 68 GdkCursor *arrow_cursor;
69 GdkCursor *text_cursor;
61 GHashTable *smiley_data; 70 GHashTable *smiley_data;
62 GtkSmileyTree *default_smilies; 71 GtkSmileyTree *default_smilies;
63 72
64 gboolean show_smileys; 73 gboolean show_smileys;
65 gboolean show_comments; 74 gboolean show_comments;
69 guint tip_timer; 78 guint tip_timer;
70 79
71 GList *scalables; 80 GList *scalables;
72 GdkRectangle old_rect; 81 GdkRectangle old_rect;
73 82
74 GSList *copyables;
75
76 gchar *search_string; 83 gchar *search_string;
84
85 gboolean editable;
86 struct {
87 GtkIMHtmlFormatSpan *bold;
88 GtkIMHtmlFormatSpan *italic;
89 GtkIMHtmlFormatSpan *underline;
90 GtkIMHtmlFormatSpan *forecolor;
91 GtkIMHtmlFormatSpan *backcolor;
92 GtkIMHtmlFormatSpan *fontface;
93 GtkIMHtmlFormatSpan *sizespan;
94 int fontsize;
95 } edit;
96 char *clipboard_string;
97 GList *format_spans;
77 }; 98 };
78 99
79 struct _GtkIMHtmlClass { 100 struct _GtkIMHtmlClass {
80 GtkTextViewClass parent_class; 101 GtkTextViewClass parent_class;
81 102
105 126
106 struct _GtkIMHtmlScalable { 127 struct _GtkIMHtmlScalable {
107 void (*scale)(struct _GtkIMHtmlScalable *, int, int); 128 void (*scale)(struct _GtkIMHtmlScalable *, int, int);
108 void (*add_to)(struct _GtkIMHtmlScalable *, GtkIMHtml *, GtkTextIter *); 129 void (*add_to)(struct _GtkIMHtmlScalable *, GtkIMHtml *, GtkTextIter *);
109 void (*free)(struct _GtkIMHtmlScalable *); 130 void (*free)(struct _GtkIMHtmlScalable *);
110 };
111
112 struct _GtkIMHtmlCopyable {
113 GtkTextMark *mark;
114 char *text;
115 }; 131 };
116 132
117 struct _GtkIMHtmlImage { 133 struct _GtkIMHtmlImage {
118 GtkIMHtmlScalable scalable; 134 GtkIMHtmlScalable scalable;
119 GtkImage *image; 135 GtkImage *image;
182 198
183 /* Search functions */ 199 /* Search functions */
184 gboolean gtk_imhtml_search_find(GtkIMHtml *imhtml, const gchar *text); 200 gboolean gtk_imhtml_search_find(GtkIMHtml *imhtml, const gchar *text);
185 void gtk_imhtml_search_clear(GtkIMHtml *imhtml); 201 void gtk_imhtml_search_clear(GtkIMHtml *imhtml);
186 202
203 /* Editable stuff */
204 void gtk_imhtml_set_editable(GtkIMHtml *imhtml, gboolean editable);
205 gboolean gtk_imhtml_get_editable(GtkIMHtml *imhtml);
206 gboolean gtk_imhtml_toggle_bold(GtkIMHtml *imhtml);
207 gboolean gtk_imhtml_toggle_italic(GtkIMHtml *imhtml);
208 gboolean gtk_imhtml_toggle_underline(GtkIMHtml *imhtml);
209 gboolean gtk_imhtml_toggle_forecolor(GtkIMHtml *imhtml, const char *color);
210 gboolean gtk_imhtml_toggle_backcolor(GtkIMHtml *imhtml, const char *color);
211 gboolean gtk_imhtml_toggle_fontface(GtkIMHtml *imhtml, const char *face);
212 void gtk_imhtml_insert_link(GtkIMHtml *imhtml, const char *url, const char *text);
213 void gtk_imhtml_insert_smiley(GtkIMHtml *imhtml, const char *sml, char *smiley);
214 void gtk_imhtml_font_set_size(GtkIMHtml *imhtml, gint size);
215 void gtk_imhtml_font_shrink(GtkIMHtml *imhtml);
216 void gtk_imhtml_font_grow(GtkIMHtml *imhtml);
217 char *gtk_imhtml_get_markup_range(GtkIMHtml *imhtml, GtkTextIter *start, GtkTextIter *end);
218 char *gtk_imhtml_get_markup(GtkIMHtml *imhtml);
219 char *gtk_imhtml_get_text(GtkIMHtml *imhtml);
220
187 #ifdef __cplusplus 221 #ifdef __cplusplus
188 } 222 }
189 #endif 223 #endif
190 224
191 #endif 225 #endif