gntconv.h

Go to the documentation of this file.
00001 
00025 #ifndef _GNT_CONV_H
00026 #define _GNT_CONV_H
00027 
00028 #include <gnt.h>
00029 #include <gntwidget.h>
00030 #include <gntmenuitem.h>
00031 
00032 #include "conversation.h"
00033 
00034 /* Grabs the conv out of a PurpleConverstation */
00035 #define FINCH_CONV(conv) ((FinchConv *)(conv)->ui_data)
00036 
00037 /***************************************************************************
00038  * @name GNT Conversations API
00039  ***************************************************************************/
00042 typedef struct _FinchConv FinchConv;
00043 typedef struct _FinchConvChat FinchConvChat;
00044 typedef struct _FinchConvIm FinchConvIm;
00045 
00046 struct _FinchConv
00047 {
00048     GList *list;
00049     PurpleConversation *active_conv;
00050 
00051     GntWidget *window;        /* the container */
00052     GntWidget *entry;         /* entry */
00053     GntWidget *tv;            /* text-view */
00054     GntWidget *menu;
00055     GntWidget *info;
00056     void *pad;
00057 
00058     union
00059     {
00060         FinchConvChat *chat;
00061         FinchConvIm *im;
00062     } u;
00063 };
00064 
00065 struct _FinchConvChat
00066 {
00067     GntWidget *userlist;       /* the userlist */
00068     void *pad1;
00069     void *pad2;
00070 };
00071 
00072 struct _FinchConvIm
00073 {
00074     GntMenuItem *sendto;
00075     void *something_for_later;
00076 };
00077 
00083 PurpleConversationUiOps *finch_conv_get_ui_ops(void);
00084 
00088 void finch_conversation_init(void);
00089 
00093 void finch_conversation_uninit(void);
00094 
00100 void finch_conversation_set_active(PurpleConversation *conv);
00101 
00109 void finch_conversation_set_info_widget(PurpleConversation *conv, GntWidget *widget);
00110 
00113 #endif