TnyMimePartView

TnyMimePartView — A type for displaying a mime part

Synopsis




                    TnyMimePartView;
                    TnyMimePartViewIface;
void                tny_mime_part_view_clear            (TnyMimePartView *self);
void                tny_mime_part_view_set_part         (TnyMimePartView *self,
                                                         TnyMimePart *mime_part);
TnyMimePart*        tny_mime_part_view_get_part         (TnyMimePartView *self);

Object Hierarchy


  GInterface
   +----TnyMimePartView

Known Derived Interfaces

TnyMimePartView is required by TnyMsgView and TnyMsgWindow.

Known Implementations

TnyMimePartView is implemented by TnyMozEmbedMsgView, TnyGtkTextMimePartView, TnyGtkMsgView, TnyGtkMsgWindow, TnyGtkAttachmentMimePartView and TnyMozEmbedHtmlMimePartView.

Description

A type for displaying a TnyMimePart

Details

TnyMimePartView

typedef struct _TnyMimePartView TnyMimePartView;


TnyMimePartViewIface

typedef struct {
	GTypeInterface parent;

	TnyMimePart* (*get_part_func) (TnyMimePartView *self);
	void (*set_part_func) (TnyMimePartView *self, TnyMimePart *part);
	void (*clear_func) (TnyMimePartView *self); 
} TnyMimePartViewIface;


tny_mime_part_view_clear ()

void                tny_mime_part_view_clear            (TnyMimePartView *self);

Clear self (show nothing)

Implementors: this method should clear self (display nothing and cleanup)

self : A TnyMimePartView instance

tny_mime_part_view_set_part ()

void                tny_mime_part_view_set_part         (TnyMimePartView *self,
                                                         TnyMimePart *mime_part);

Set mime part which self should display.

Implementors: this method should cause the view self to show the mime part mime_part to the user.

Example:

static void 
tny_gtk_text_mime_part_view_set_part (TnyMimePartView *self, TnyMimePart *part)
{
     if (part)
     {
          GtkTextBuffer *buffer;
          TnyStream *dest;
          buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (self));
          if (buffer && GTK_IS_TEXT_BUFFER (buffer))
               gtk_text_buffer_set_text (buffer, "", 0);
          dest = tny_gtk_text_buffer_stream_new (buffer);
          tny_stream_reset (dest);
          tny_mime_part_decode_to_stream (part, dest);
          tny_stream_reset (dest);
          g_object_unref (G_OBJECT (dest));
          priv->part = TNY_MIME_PART (g_object_ref (part));
     }
}
static void
tny_gtk_text_mime_part_view_finalize (TnyGtkTextMimePartView *self)
{
     if (priv->part))
         g_object_unref (G_OBJECT (priv->part));
}

self : A TnyMimePartView instance
mime_part : A TnyMimePart instace

tny_mime_part_view_get_part ()

TnyMimePart*        tny_mime_part_view_get_part         (TnyMimePartView *self);

Get the current mime part of self. If self is not displaying any mime part, NULL will be returned. Else the return value must be unreferenced after use.

Implementors: this method should return the mime part this view is currently viewing. It must add a reference to the instance before returning it. If the view isn't viewing any mime part, it must return NULL.

Example:

static TnyMimePart* 
tny_gtk_text_mime_part_view_get_part (TnyMimePartView *self)
{
     return TNY_MIME_PART (g_object_ref (priv->part));
}

self : A TnyMimePartView instance
Returns : A TnyMimePart instance or NULL

See Also

TnyMimePart