]> git.0d.be Git - empathy.git/blob - libempathy-gtk/empathy-roster-view.h
roster-view: export special group names
[empathy.git] / libempathy-gtk / empathy-roster-view.h
1
2 #ifndef __EMPATHY_ROSTER_VIEW_H__
3 #define __EMPATHY_ROSTER_VIEW_H__
4
5 #include <libempathy-gtk/egg-list-box/egg-list-box.h>
6 #include <libempathy-gtk/empathy-live-search.h>
7
8 #include <libempathy/empathy-individual-manager.h>
9
10 G_BEGIN_DECLS
11
12 #define EMPATHY_ROSTER_VIEW_GROUP_UNGROUPED _("Ungrouped")
13 #define EMPATHY_ROSTER_VIEW_GROUP_TOP_GROUP _("Top Contacts")
14 #define EMPATHY_ROSTER_VIEW_GROUP_PEOPLE_NEARBY _("People Nearby")
15
16 typedef struct _EmpathyRosterView EmpathyRosterView;
17 typedef struct _EmpathyRosterViewClass EmpathyRosterViewClass;
18 typedef struct _EmpathyRosterViewPriv EmpathyRosterViewPriv;
19
20 struct _EmpathyRosterViewClass
21 {
22   /*<private>*/
23   EggListBoxClass parent_class;
24 };
25
26 struct _EmpathyRosterView
27 {
28   /*<private>*/
29   EggListBox parent;
30   EmpathyRosterViewPriv *priv;
31 };
32
33 GType empathy_roster_view_get_type (void);
34
35 /* TYPE MACROS */
36 #define EMPATHY_TYPE_ROSTER_VIEW \
37   (empathy_roster_view_get_type ())
38 #define EMPATHY_ROSTER_VIEW(obj) \
39   (G_TYPE_CHECK_INSTANCE_CAST((obj), \
40     EMPATHY_TYPE_ROSTER_VIEW, \
41     EmpathyRosterView))
42 #define EMPATHY_ROSTER_VIEW_CLASS(klass) \
43   (G_TYPE_CHECK_CLASS_CAST((klass), \
44     EMPATHY_TYPE_ROSTER_VIEW, \
45     EmpathyRosterViewClass))
46 #define EMPATHY_IS_ROSTER_VIEW(obj) \
47   (G_TYPE_CHECK_INSTANCE_TYPE((obj), \
48     EMPATHY_TYPE_ROSTER_VIEW))
49 #define EMPATHY_IS_ROSTER_VIEW_CLASS(klass) \
50   (G_TYPE_CHECK_CLASS_TYPE((klass), \
51     EMPATHY_TYPE_ROSTER_VIEW))
52 #define EMPATHY_ROSTER_VIEW_GET_CLASS(obj) \
53   (G_TYPE_INSTANCE_GET_CLASS ((obj), \
54     EMPATHY_TYPE_ROSTER_VIEW, \
55     EmpathyRosterViewClass))
56
57 GtkWidget * empathy_roster_view_new (EmpathyIndividualManager *manager);
58
59 EmpathyIndividualManager * empathy_roster_view_get_manager (
60     EmpathyRosterView *self);
61
62 void empathy_roster_view_show_offline (EmpathyRosterView *self,
63     gboolean show);
64
65 void empathy_roster_view_show_groups (EmpathyRosterView *self,
66     gboolean show);
67
68 void empathy_roster_view_set_live_search (EmpathyRosterView *self,
69     EmpathyLiveSearch *search);
70
71 gboolean empathy_roster_view_is_empty (EmpathyRosterView *self);
72
73 gboolean empathy_roster_view_is_searching (EmpathyRosterView *self);
74
75 guint empathy_roster_view_add_event (EmpathyRosterView *self,
76     FolksIndividual *individual,
77     const gchar *icon,
78     gpointer user_data);
79
80 void empathy_roster_view_remove_event (EmpathyRosterView *self,
81     guint event_id);
82
83 FolksIndividual * empathy_roster_view_get_individual_at_y (
84     EmpathyRosterView *self,
85     gint y,
86     GtkWidget **out_child);
87
88 const gchar * empathy_roster_view_get_group_at_y (
89     EmpathyRosterView *self,
90     gint y);
91
92 FolksIndividual * empathy_roster_view_get_selected_individual (EmpathyRosterView *self);
93
94 G_END_DECLS
95
96 #endif /* #ifndef __EMPATHY_ROSTER_VIEW_H__*/