Modified webpage: now tinymail repository is in gitorious.
[modest] / src / widgets / modest-mail-header-view.h
index d949bdc..975fe09 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2007, Nokia Corporation
+/* Copyright (c) 2008, Nokia Corporation
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#ifndef MODEST_MAIL_HEADER_VIEW_H
-#define MODEST_MAIL_HEADER_VIEW_H
-
-#include <gtk/gtk.h>
-#include <glib-object.h>
+#ifndef __MODEST_MAIL_HEADER_VIEW_H__
+#define __MODEST_MAIL_HEADER_VIEW_H__
 
 #include <tny-header-view.h>
-#include <modest-recpt-view.h>
+#include <gtk/gtk.h>
 
 G_BEGIN_DECLS
 
-#define MODEST_TYPE_MAIL_HEADER_VIEW             (modest_mail_header_view_get_type ())
-#define MODEST_MAIL_HEADER_VIEW(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), MODEST_TYPE_MAIL_HEADER_VIEW, ModestMailHeaderView))
-#define MODEST_MAIL_HEADER_VIEW_CLASS(vtable)    (G_TYPE_CHECK_CLASS_CAST ((vtable), MODEST_TYPE_MAIL_HEADER_VIEW, ModestMailHeaderViewClass))
-#define MODEST_IS_MAIL_HEADER_VIEW(obj)          (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEST_TYPE_MAIL_HEADER_VIEW))
-#define MODEST_IS_MAIL_HEADER_VIEW_CLASS(vtable) (G_TYPE_CHECK_CLASS_TYPE ((vtable), MODEST_TYPE_MAIL_HEADER_VIEW))
-#define MODEST_MAIL_HEADER_VIEW_GET_CLASS(inst)  (G_TYPE_INSTANCE_GET_CLASS ((inst), MODEST_TYPE_MAIL_HEADER_VIEW, ModestMailHeaderViewClass))
+/* convenience macros */
+#define MODEST_TYPE_MAIL_HEADER_VIEW             (modest_mail_header_view_get_type())
+#define MODEST_MAIL_HEADER_VIEW(obj)             (G_TYPE_CHECK_INSTANCE_CAST((obj),MODEST_TYPE_MAIL_HEADER_VIEW,ModestMailHeaderView))
+#define MODEST_IS_MAIL_HEADER_VIEW(obj)          (G_TYPE_CHECK_INSTANCE_TYPE((obj),MODEST_TYPE_MAIL_HEADER_VIEW))
+#define MODEST_MAIL_HEADER_VIEW_GET_IFACE(obj)   (G_TYPE_INSTANCE_GET_INTERFACE((obj),MODEST_TYPE_MAIL_HEADER_VIEW,ModestMailHeaderViewIface))
 
-typedef struct _ModestMailHeaderView ModestMailHeaderView;
-typedef struct _ModestMailHeaderViewClass ModestMailHeaderViewClass;
+typedef struct _ModestMailHeaderView      ModestMailHeaderView;
+typedef struct _ModestMailHeaderViewIface ModestMailHeaderViewIface;
 
-struct _ModestMailHeaderView
-{
-       GtkHBox parent;
+struct _ModestMailHeaderViewIface {
+       GTypeInterface parent;
 
+       TnyHeaderFlags (*get_priority) (ModestMailHeaderView *self);
+       void (*set_priority) (ModestMailHeaderView *self, TnyHeaderFlags flags);
+       const GtkWidget *(*add_custom_header) (ModestMailHeaderView *self,
+                                              const gchar *label,
+                                              GtkWidget *custom_widget,
+                                              gboolean with_expander,
+                                              gboolean start);
+       void (*set_loading) (ModestMailHeaderView *self, gboolean is_loading);
+       gboolean (*get_loading) (ModestMailHeaderView *self);
+       void (*set_branding) (ModestMailHeaderView *self, const gchar *brand_name, const GdkPixbuf *brand_icon);
+       
+       /* signals */
+       void (*show_details) (ModestMailHeaderView *msgview,
+                             gpointer user_data);
+       void (*recpt_activated)    (ModestMailHeaderView *msgview, const gchar *address,
+                                   gpointer user_data);
 };
 
-struct _ModestMailHeaderViewClass
-{
-       GtkHBoxClass parent_class;
 
-       /* virtual methods */
-       void (*set_header_func) (TnyHeaderView *self, TnyHeader *header);
-       void (*clear_func) (TnyHeaderView *self);
+/**
+ *
+ * modest_mail_header_view_get_type
+ *
+ * get the GType for the this interface
+ *
+ * Returns: the GType for this interface
+ */
+GType        modest_mail_header_view_get_type    (void) G_GNUC_CONST;
 
-       /* signals */
-       void (*recpt_activated) (ModestRecptView *recpt_view);
-};
+TnyHeaderFlags modest_mail_header_view_get_priority (ModestMailHeaderView *self);
+void modest_mail_header_view_set_priority (ModestMailHeaderView *self, TnyHeaderFlags flags);
+const GtkWidget *modest_mail_header_view_add_custom_header (ModestMailHeaderView *header_view,
+                                                           const gchar *label,
+                                                           GtkWidget *custom_widget,
+                                                           gboolean with_expander,
+                                                           gboolean start);
+void modest_mail_header_view_set_loading (ModestMailHeaderView *self, gboolean is_loading);
+gboolean modest_mail_header_view_get_loading (ModestMailHeaderView *self);
+void modest_mail_header_view_set_branding (ModestMailHeaderView *self, const gchar *brand_name, const GdkPixbuf *brand_icon);
 
-GType modest_mail_header_view_get_type (void);
-TnyHeaderView* modest_mail_header_view_new (void);
 
 G_END_DECLS
 
-#endif
+#endif /* __MODEST_MAIL_HEADER_VIEW_H__ */