Mercurial > pidgin
annotate src/gtkconvwin.h @ 13920:73cd68ae7c43
[gaim-migrate @ 16432]
Fixes potential segfaults.
committer: Tailor Script <tailor@pidgin.im>
author | Aaron Sheldon <aaronsheldon> |
---|---|
date | Wed, 05 Jul 2006 17:41:37 +0000 |
parents | fc464a0abccc |
children |
rev | line source |
---|---|
11581 | 1 /** |
2 * @file gtkconvwin.h GTK+ Conversation Window API | |
3 * @ingroup gtkui | |
4 * | |
5 * gaim | |
6 * | |
7 * Gaim is the legal property of its developers, whose names are too numerous | |
8 * to list here. Please refer to the COPYRIGHT file distributed with this | |
9 * source distribution. | |
10 * | |
11 * This program is free software; you can redistribute it and/or modify | |
12 * it under the terms of the GNU General Public License as published by | |
13 * the Free Software Foundation; either version 2 of the License, or | |
14 * (at your option) any later version. | |
15 * | |
16 * This program is distributed in the hope that it will be useful, | |
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
19 * GNU General Public License for more details. | |
20 * | |
21 * You should have received a copy of the GNU General Public License | |
22 * along with this program; if not, write to the Free Software | |
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
24 */ | |
25 #ifndef _GAIM_GTKCONVERSATION_WINDOW_H_ | |
26 #define _GAIM_GTKCONVERSATION_WINDOW_H_ | |
27 | |
28 typedef struct _GaimGtkWindow GaimGtkWindow; | |
29 | |
30 | |
31 /************************************************************************** | |
32 * @name Structures | |
33 **************************************************************************/ | |
34 /*@{*/ | |
35 | |
36 /** | |
37 * A GTK+ representation of a graphical window containing one or more | |
38 * conversations. | |
39 */ | |
40 struct _GaimGtkWindow | |
41 { | |
42 GtkWidget *window; /**< The window. */ | |
43 GtkWidget *notebook; /**< The notebook of conversations. */ | |
44 GList *gtkconvs; | |
45 | |
46 struct | |
47 { | |
48 GtkWidget *menubar; | |
49 | |
50 GtkWidget *view_log; | |
51 | |
52 GtkWidget *send_file; | |
53 GtkWidget *add_pounce; | |
54 GtkWidget *get_info; | |
55 GtkWidget *invite; | |
56 | |
57 GtkWidget *alias; | |
58 GtkWidget *block; | |
59 GtkWidget *add; | |
60 GtkWidget *remove; | |
61 | |
62 GtkWidget *insert_link; | |
63 GtkWidget *insert_image; | |
64 | |
65 GtkWidget *logging; | |
66 GtkWidget *sounds; | |
67 GtkWidget *show_formatting_toolbar; | |
68 GtkWidget *show_timestamps; | |
69 GtkWidget *show_icon; | |
70 | |
11594 | 71 GtkWidget *send_to; |
11581 | 72 |
73 GtkWidget *tray; | |
74 | |
75 GtkWidget *typing_icon; | |
76 | |
77 GtkItemFactory *item_factory; | |
78 | |
79 } menu; | |
80 | |
81 /* Tab dragging stuff. */ | |
82 gboolean in_drag; | |
83 gboolean in_predrag; | |
84 | |
85 gint drag_tab; | |
86 | |
87 gint drag_min_x, drag_max_x, drag_min_y, drag_max_y; | |
88 | |
89 gint drag_motion_signal; | |
90 gint drag_leave_signal; | |
91 }; | |
92 | |
93 /*@}*/ | |
94 | |
95 /************************************************************************** | |
96 * @name GTK+ Conversation Window API | |
97 **************************************************************************/ | |
98 /*@{*/ | |
99 | |
12323
fc464a0abccc
[gaim-migrate @ 14627]
Richard Laager <rlaager@wiktel.com>
parents:
11594
diff
changeset
|
100 GaimGtkWindow * gaim_gtk_conv_window_new(void); |
11581 | 101 void gaim_gtk_conv_window_destroy(GaimGtkWindow *win); |
12323
fc464a0abccc
[gaim-migrate @ 14627]
Richard Laager <rlaager@wiktel.com>
parents:
11594
diff
changeset
|
102 GList *gaim_gtk_conv_windows_get_list(void); |
11581 | 103 void gaim_gtk_conv_window_show(GaimGtkWindow *win); |
104 void gaim_gtk_conv_window_hide(GaimGtkWindow *win); | |
105 void gaim_gtk_conv_window_raise(GaimGtkWindow *win); | |
106 void gaim_gtk_conv_window_switch_gtkconv(GaimGtkWindow *win, GaimGtkConversation *gtkconv); | |
107 void gaim_gtk_conv_window_add_gtkconv(GaimGtkWindow *win, GaimGtkConversation *gtkconv); | |
108 void gaim_gtk_conv_window_remove_gtkconv(GaimGtkWindow *win, GaimGtkConversation *gtkconv); | |
109 GaimGtkConversation *gaim_gtk_conv_window_get_gtkconv_at_index(const GaimGtkWindow *win, int index); | |
110 GaimGtkConversation *gaim_gtk_conv_window_get_active_gtkconv(const GaimGtkWindow *win); | |
111 GaimConversation *gaim_gtk_conv_window_get_active_conversation(const GaimGtkWindow *win); | |
112 gboolean gaim_gtk_conv_window_is_active_conversation(const GaimConversation *conv); | |
113 gboolean gaim_gtk_conv_window_has_focus(GaimGtkWindow *win); | |
114 GaimGtkWindow *gaim_gtk_conv_window_get_at_xy(int x, int y); | |
115 GList *gaim_gtk_conv_window_get_gtkconvs(GaimGtkWindow *win); | |
116 guint gaim_gtk_conv_window_get_gtkconv_count(GaimGtkWindow *win); | |
117 | |
118 GaimGtkWindow *gaim_gtk_conv_window_first_with_type(GaimConversationType type); | |
119 GaimGtkWindow *gaim_gtk_conv_window_last_with_type(GaimConversationType type); | |
120 | |
121 /*@}*/ | |
122 | |
123 /************************************************************************** | |
124 * @name GTK+ Conversation Placement API | |
125 **************************************************************************/ | |
126 /*@{*/ | |
127 | |
128 typedef void (*GaimConvPlacementFunc)(GaimGtkConversation *); | |
129 | |
130 GList *gaim_gtkconv_placement_get_options(void); | |
131 void gaim_gtkconv_placement_add_fnc(const char *id, const char *name, GaimConvPlacementFunc fnc); | |
132 void gaim_gtkconv_placement_remove_fnc(const char *id); | |
133 const char *gaim_gtkconv_placement_get_name(const char *id); | |
134 GaimConvPlacementFunc gaim_gtkconv_placement_get_fnc(const char *id); | |
135 void gaim_gtkconv_placement_set_current_func(GaimConvPlacementFunc func); | |
136 GaimConvPlacementFunc gaim_gtkconv_placement_get_current_func(void); | |
137 void gaim_gtkconv_placement_place(GaimGtkConversation *gtkconv); | |
138 | |
139 /*@}*/ | |
140 | |
141 #endif /* _GAIM_GTKCONVERSATION_WINDOW_H_ */ |