[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: gtktextview with gdkpixbuf saving into file
- From: Johnson Wong <jjwh tpg com au>
- To: "Pavel A. da Mek" <a da_mek0 ufoni cz>
- Cc: gtk-app-devel-list gnome org
- Subject: Re: gtktextview with gdkpixbuf saving into file
- Date: Thu, 20 Nov 2008 01:17:15 +1100
Thanks, thats a much better way of doing it ^_^
Johnson
On Tue, 2008-11-18 at 08:05 +0000, Pavel A. da Mek wrote:
> > anyone know a way to save a gtktextview/gtktextbuffer with embedded
> > gdkpixbuf into a file. I am calling gtk_text_buffer_get_slice then
> > g_file_set_contents. Idealy it will be good if i can just call
> > g_file_get_contents to output the saved buffer onto the gtktextview.
> >
>
> void save_grt (GtkTextView *textView, const gchar *dstFileName) {
> GtkTextBuffer *buffer;
> GdkAtom grtSerializeFormat;
> GtkTextIter startIter;
> GtkTextIter endIter;
> guint8* serializedData;
> gsize length;
>
> buffer = gtk_text_view_get_buffer (textView);
>
> grtSerializeFormat = gtk_text_buffer_register_serialize_tagset (
> buffer, //GtkTextBuffer *buffer,
> NULL // const gchar *tagset_name
> );
> gtk_text_buffer_get_bounds (buffer, &startIter, &endIter);
>
> serializedData = gtk_text_buffer_serialize (
> buffer, // GtkTextBuffer *register_buffer,
> buffer, // GtkTextBuffer *content_buffer,
> grtSerializeFormat, // GdkAtom format,
> &startIter, // const GtkTextIter *start,
> &endIter, // const GtkTextIter *end,
> &length // gsize *length
> );
>
> // gboolean success =
> g_file_set_contents (dstFileName,
> serializedData, // const gchar *contents,
> length, // gssize length,
> NULL // GError **error
> );
>
> g_free (serializedData);
>
> gtk_text_buffer_unregister_serialize_format (buffer,
> grtSerializeFormat);
> } // *** of void save_grt
>
> void open_grt (GtkTextView *textView, const gchar *srcFileName) {
> GtkTextBuffer *buffer;
> GdkAtom grtDeserializeFormat;
> GtkTextIter startIter;
> GtkTextIter endIter;
> guint8* serializedData;
> gsize length;
>
> // gboolean success =
> g_file_get_contents (
> srcFileName,
> (gchar **)&serializedData, // gchar **contents,
> &length, // gsize *length,
> NULL // GError **error
> );
>
> buffer = gtk_text_view_get_buffer (textView);
>
> grtDeserializeFormat = gtk_text_buffer_register_deserialize_tagset (
> buffer, //GtkTextBuffer *buffer,
> NULL // const gchar *tagset_name
> );
> gtk_text_buffer_deserialize_set_can_create_tags (
> buffer, grtDeserializeFormat, TRUE);
>
> gtk_text_buffer_get_bounds (buffer, &startIter, &endIter);
> gtk_text_buffer_delete (buffer, &startIter, &endIter);
>
> // gboolean success =
> gtk_text_buffer_deserialize (
> buffer, // GtkTextBuffer *register_buffer,
> buffer, // GtkTextBuffer *content_buffer,
> grtDeserializeFormat, // GdkAtom format,
> &startIter, // const GtkTextIter *iter,
> serializedData, // const guint8 *data,
> length, // gsize length
> NULL // GError **error
> );
>
> g_free (serializedData);
> gtk_text_buffer_unregister_deserialize_format (buffer,
> grtDeserializeFormat);
> } // *** of void open_grt
>
>
>
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]