Main Page | Modules | Alphabetical List | Data Structures | File List | Data Fields | Globals | Related Pages

gtkblist.h

Go to the documentation of this file.
00001 
00026 #ifndef _GAIM_GTK_LIST_H_
00027 #define _GAIM_GTK_LIST_H_
00028 
00029 #include "blist.h"
00030 
00031 enum {
00032     STATUS_ICON_COLUMN,
00033     STATUS_ICON_VISIBLE_COLUMN,
00034     NAME_COLUMN,
00035     WARNING_COLUMN,
00036     IDLE_COLUMN,
00037     BUDDY_ICON_COLUMN,
00038     NODE_COLUMN,
00039     BLIST_COLUMNS
00040     };
00041 
00042 typedef enum {
00043     GAIM_STATUS_ICON_LARGE,
00044     GAIM_STATUS_ICON_SMALL
00045 
00046 } GaimStatusIconSize;
00047 
00048 /**************************************************************************
00049  * @name Structures
00050  **************************************************************************/
00054 typedef struct {
00055     GtkWidget *window;
00056     GtkWidget *vbox;                
00059     GtkWidget *treeview;            
00060     GtkTreeStore *treemodel;        
00061     GtkTreeViewColumn *idle_column,
00062         *warning_column,
00063         *buddy_icon_column;
00064 
00065     GtkItemFactory *ift;
00066     GtkWidget *bpmenu;              
00068     GtkWidget *bbox;                
00069     GtkTooltips *tooltips;           
00071     guint refresh_timer;            
00073     guint      timeout;              
00074     GdkRectangle tip_rect;           
00077     GdkRectangle contact_rect;       
00080     GaimBlistNode *mouseover_contact; 
00082     GtkWidget *tipwindow;            
00084     GaimBlistNode *selected_node;   
00086     GdkPixbuf *east, *south;                 
00087     GdkWindow *east_shadow, *south_shadow;   
00089 } GaimGtkBuddyList;
00090 
00091 #define GAIM_GTK_BLIST(list) ((GaimGtkBuddyList *)(list)->ui_data)
00092 #define GAIM_IS_GTK_BLIST(list) \
00093     ((list)->ui_ops == gaim_gtk_blist_get_ui_ops())
00094 
00095 /**************************************************************************
00096  * @name GTK+ Buddy List API
00097  **************************************************************************/
00098 
00102 void gaim_gtk_blist_init(void);
00103 
00109 GaimBlistUiOps *gaim_gtk_blist_get_ui_ops(void);
00110 
00118 GdkPixbuf *create_prpl_icon(GaimAccount *account);
00119 
00126 void gaim_gtk_blist_refresh(GaimBuddyList *list);
00127 
00132 void gaim_gtk_blist_update_toolbar();
00133 
00139 void gaim_gtk_blist_docklet_toggle();
00140 void gaim_gtk_blist_docklet_add();
00141 void gaim_gtk_blist_docklet_remove();
00142 void gaim_gtk_blist_update_columns();
00143 void gaim_gtk_blist_update_refresh_timeout();
00144 
00148 GdkPixbuf *gaim_gtk_blist_get_status_icon(GaimBlistNode *node,
00149         GaimStatusIconSize size);
00150 
00151 /**************************************************************************
00152  * @name GTK+ Buddy List sorting functions
00153  **************************************************************************/
00154 
00155 typedef GtkTreeIter (*gaim_gtk_blist_sort_function)(GaimBlistNode *new, GaimBuddyList *blist, GtkTreeIter group, GtkTreeIter *cur);
00156 
00157 extern GSList *gaim_gtk_blist_sort_methods;
00158 
00159 struct gaim_gtk_blist_sort_method {
00160     char *id;
00161     char *name;
00162     gaim_gtk_blist_sort_function func;
00163 };
00164 
00173 void gaim_gtk_blist_sort_method_reg(const char *id, const char *name, gaim_gtk_blist_sort_function func);
00174 
00180 void gaim_gtk_blist_sort_method_unreg(const char *id);
00181 
00187 void gaim_gtk_blist_sort_method_set(const char *id);
00188 
00192 void gaim_gtk_blist_setup_sort_methods();
00193 
00197 void gaim_gtk_blist_update_protocol_actions();
00198 
00202 void gaim_gtk_blist_show_join_chat(void);
00203 
00204 #endif /* _GAIM_GTK_LIST_H_ */

Generated on Sun Aug 29 03:45:05 2004 for gaim by doxygen 1.3.4