diff 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
line wrap: on
line diff
--- a/src/gtkimhtml.h	Sat Jan 10 05:20:50 2004 +0000
+++ b/src/gtkimhtml.h	Sat Jan 10 06:06:02 2004 +0000
@@ -39,7 +39,6 @@
 #define GTK_IS_IMHTML(obj)         (GTK_CHECK_TYPE ((obj), GTK_TYPE_IMHTML))
 #define GTK_IS_IMHTML_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_IMHTML))
 #define GTK_IMHTML_SCALABLE(obj)   ((GtkIMHtmlScalable *)obj)
-#define GTK_IMHTML_COPYABLE(obj)   ((GtkIMHtmlCopyable *)obj)
 
 typedef struct _GtkIMHtml			GtkIMHtml;
 typedef struct _GtkIMHtmlClass		GtkIMHtmlClass;
@@ -49,7 +48,16 @@
 typedef struct _GtkIMHtmlScalable	GtkIMHtmlScalable;
 typedef struct _GtkIMHtmlImage		GtkIMHtmlImage;
 typedef struct _GtkIMHtmlHr			GtkIMHtmlHr;
-typedef struct _GtkIMHtmlCopyable       GtkIMHtmlCopyable;
+
+
+typedef struct {
+	GtkTextMark *start;
+	GtkTextMark *end;
+	char *start_tag;
+	char *end_tag;
+	GtkTextBuffer *buffer;
+	GtkTextTag *tag;
+} GtkIMHtmlFormatSpan;
 
 struct _GtkIMHtml {
 	GtkTextView text_view;
@@ -58,6 +66,7 @@
 	gboolean comments, smileys;
 	GdkCursor *hand_cursor;
 	GdkCursor *arrow_cursor;
+	GdkCursor *text_cursor;
 	GHashTable *smiley_data;
 	GtkSmileyTree *default_smilies;
 
@@ -71,9 +80,21 @@
 	GList *scalables;
 	GdkRectangle old_rect;
 
-	GSList *copyables;
+	gchar *search_string;
 
-	gchar *search_string;
+	gboolean editable;
+	struct {
+		GtkIMHtmlFormatSpan *bold;
+		GtkIMHtmlFormatSpan *italic;
+		GtkIMHtmlFormatSpan *underline;
+		GtkIMHtmlFormatSpan *forecolor;
+		GtkIMHtmlFormatSpan *backcolor;
+		GtkIMHtmlFormatSpan *fontface;
+		GtkIMHtmlFormatSpan *sizespan;
+		int fontsize;
+	} edit;
+	char *clipboard_string;
+	GList *format_spans;
 };
 
 struct _GtkIMHtmlClass {
@@ -109,11 +130,6 @@
 	void (*free)(struct _GtkIMHtmlScalable *);
 };
 
-struct _GtkIMHtmlCopyable {
-	GtkTextMark *mark;
-	char *text;
-};
-
 struct _GtkIMHtmlImage {
 	GtkIMHtmlScalable scalable;
 	GtkImage *image;
@@ -184,6 +200,24 @@
 gboolean gtk_imhtml_search_find(GtkIMHtml *imhtml, const gchar *text);
 void gtk_imhtml_search_clear(GtkIMHtml *imhtml);
 
+/* Editable stuff */
+void gtk_imhtml_set_editable(GtkIMHtml *imhtml, gboolean editable);
+gboolean gtk_imhtml_get_editable(GtkIMHtml *imhtml);
+gboolean gtk_imhtml_toggle_bold(GtkIMHtml *imhtml);
+gboolean gtk_imhtml_toggle_italic(GtkIMHtml *imhtml);
+gboolean gtk_imhtml_toggle_underline(GtkIMHtml *imhtml);
+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_insert_smiley(GtkIMHtml *imhtml, const char *sml, char *smiley);
+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);
+
 #ifdef __cplusplus
 }
 #endif