-/* 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__ */