* Pidgin is the legal property of its developers, whose names are too numerous * to list here. Please refer to the COPYRIGHT file distributed with this * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA #ifndef _PIDGIN_CONVERSATION_WINDOW_H_ #define _PIDGIN_CONVERSATION_WINDOW_H_ * @section_id: pidgin-gtkconvwin * @short_description: <filename>gtkconvwin.h</filename> * @title: Conversation Window API #define PIDGIN_TYPE_CONV_WINDOW (pidgin_conv_window_get_type()) typedef struct _PidginConvWindowMenu PidginConvWindowMenu; typedef struct _PidginConvWindow PidginConvWindow; /************************************************************************** **************************************************************************/ struct _PidginConvWindowMenu GtkAction *audio_video_call; GtkAction *get_attention; GtkAction *show_formatting_toolbar; * @notebook: The notebook of conversations. * @notebook_menu: The menu on the notebook. * @clicked_tab: The menu currently clicked. * A GTK+ representation of a graphical window containing one or more GtkWidget *notebook_menu; PidginConversation *clicked_tab; PidginConvWindowMenu *menu; /* Tab dragging stuff. */ gint drag_min_x, drag_max_x, drag_min_y, drag_max_y; /************************************************************************** * GTK+ Conversation Window API **************************************************************************/ * pidgin_conv_window_get_type: * Returns: The #GType for the #PidginConvWindow boxed structure. GType pidgin_conv_window_get_type(void); * pidgin_conv_window_new: * Returns: A new #PidginConvWindow. PidginConvWindow * pidgin_conv_window_new(void); * pidgin_conv_window_destroy: * @win: The conversation window to destroy void pidgin_conv_window_destroy(PidginConvWindow *win); * pidgin_conv_windows_get_list: * Returns: (transfer none) (element-type Pidgin.ConvWindow): The list of GList *pidgin_conv_windows_get_list(void); * pidgin_conv_window_show: * @win: The conversation window to show void pidgin_conv_window_show(PidginConvWindow *win); * pidgin_conv_window_hide: * @win: The conversation window to hide void pidgin_conv_window_hide(PidginConvWindow *win); * pidgin_conv_window_raise: * @win: The conversation window to raise void pidgin_conv_window_raise(PidginConvWindow *win); * pidgin_conv_window_switch_gtkconv: * @win: The conversation window * @gtkconv: The pidgin conversation to switch to void pidgin_conv_window_switch_gtkconv(PidginConvWindow *win, PidginConversation *gtkconv); * pidgin_conv_window_add_gtkconv: * @win: The conversation window * @gtkconv: The pidgin conversation to add void pidgin_conv_window_add_gtkconv(PidginConvWindow *win, PidginConversation *gtkconv); * pidgin_conv_window_remove_gtkconv: * @win: The conversation window * @gtkconv: The pidgin conversation to remove void pidgin_conv_window_remove_gtkconv(PidginConvWindow *win, PidginConversation *gtkconv); * pidgin_conv_window_get_gtkconv_at_index: * @win: The conversation window * @index: The index in the window to get the conversation from * Returns: The conversation in @win at @index PidginConversation *pidgin_conv_window_get_gtkconv_at_index(const PidginConvWindow *win, int index); * pidgin_conv_window_get_active_gtkconv: * @win: The conversation window * Returns: The active #PidginConversation in @win. PidginConversation *pidgin_conv_window_get_active_gtkconv(const PidginConvWindow *win); * pidgin_conv_window_get_active_conversation: * @win: The conversation window * Returns: (transfer none): The active #PurpleConversation in @win. PurpleConversation *pidgin_conv_window_get_active_conversation(const PidginConvWindow *win); * pidgin_conv_window_is_active_conversation: * @conv: The conversation * Returns: %TRUE if @conv is the active conversation, %FALSE otherwise. gboolean pidgin_conv_window_is_active_conversation(const PurpleConversation *conv); * pidgin_conv_window_has_focus: * @win: The conversation window * Returns: %TRUE if @win has focus, %FALSE otherwise. gboolean pidgin_conv_window_has_focus(PidginConvWindow *win); * pidgin_conv_window_get_at_event: * Returns: The #PidginConvWindow on which @event occured. PidginConvWindow *pidgin_conv_window_get_at_event(GdkEvent *event); * pidgin_conv_window_get_gtkconvs: * @win: The conversation window * Returns: (transfer none) (element-type Pidgin.Conversation): A list of * #PidginConversation's in @win. GList *pidgin_conv_window_get_gtkconvs(PidginConvWindow *win); * pidgin_conv_window_get_gtkconv_count: * @win: The conversation window * Returns: The number of conversations in @win guint pidgin_conv_window_get_gtkconv_count(PidginConvWindow *win); * pidgin_conv_window_first_im: * Returns: The window which has the first IM, %NULL if no IM is found. PidginConvWindow *pidgin_conv_window_first_im(void); * pidgin_conv_window_last_im: * Returns: The window which has the last IM, %NULL if no IM is found. PidginConvWindow *pidgin_conv_window_last_im(void); * pidgin_conv_window_first_chat: * Returns: The window which has the first chat, %NULL if no chat is found. PidginConvWindow *pidgin_conv_window_first_chat(void); * pidgin_conv_window_last_chat: * Returns: The window which has the last chat, %NULL if no chat is found. PidginConvWindow *pidgin_conv_window_last_chat(void); /************************************************************************** * GTK+ Conversation Placement API **************************************************************************/ * PidginConvPlacementFunc: (skip) typedef void (*PidginConvPlacementFunc)(PidginConversation *conv); * pidgin_conv_placement_get_options: (skip) GList *pidgin_conv_placement_get_options(void); * pidgin_conv_placement_get_name: (skip) const char *pidgin_conv_placement_get_name(const char *id); * pidgin_conv_placement_place: (skip) void pidgin_conv_placement_place(PidginConversation *gtkconv); * pidgin_conv_placement_add_fnc: (skip) void pidgin_conv_placement_add_fnc(const char *id, const char *name, PidginConvPlacementFunc fnc); * pidgin_conv_placement_remove_fnc: (skip) void pidgin_conv_placement_remove_fnc(const char *id); * pidgin_conv_placement_get_fnc: (skip) PidginConvPlacementFunc pidgin_conv_placement_get_fnc(const char *id); * pidgin_conv_placement_set_current_func: (skip) void pidgin_conv_placement_set_current_func(PidginConvPlacementFunc func); * pidgin_conv_placement_get_current_func: (skip) PidginConvPlacementFunc pidgin_conv_placement_get_current_func(void); #endif /* _PIDGIN_CONVERSATION_WINDOW_H_ */