pidgin/gtkconv.h

branch
soc.2013.gobjectification.plugins
changeset 37125
5c997dd3ae29
parent 37123
9c245220151d
parent 35614
d06ccc815e2f
child 38744
48a376346964
equal deleted inserted replaced
37124:301131c1844c 37125:5c997dd3ae29
26 * @section_id: pidgin-gtkconv 26 * @section_id: pidgin-gtkconv
27 * @short_description: <filename>gtkconv.h</filename> 27 * @short_description: <filename>gtkconv.h</filename>
28 * @title: Conversation API 28 * @title: Conversation API
29 * @see_also: <link linkend="chapter-signals-gtkconv">Conversation signals</link> 29 * @see_also: <link linkend="chapter-signals-gtkconv">Conversation signals</link>
30 */ 30 */
31
32 #define PIDGIN_TYPE_CONVERSATION (pidgin_conversation_get_type())
31 33
32 typedef struct _PidginImPane PidginImPane; 34 typedef struct _PidginImPane PidginImPane;
33 typedef struct _PidginChatPane PidginChatPane; 35 typedef struct _PidginChatPane PidginChatPane;
34 typedef struct _PidginConversation PidginConversation; 36 typedef struct _PidginConversation PidginConversation;
35 37
85 * 87 *
86 * A GTK+ conversation pane. 88 * A GTK+ conversation pane.
87 */ 89 */
88 struct _PidginConversation 90 struct _PidginConversation
89 { 91 {
92 gint box_count;
93
90 PurpleConversation *active_conv; 94 PurpleConversation *active_conv;
91 PurpleConversation *last_conversed; 95 PurpleConversation *last_conversed;
92 GList *convs; 96 GList *convs;
93 GList *send_history; 97 GList *send_history;
94 98
154 /************************************************************************** 158 /**************************************************************************
155 * GTK+ Conversation API 159 * GTK+ Conversation API
156 **************************************************************************/ 160 **************************************************************************/
157 161
158 /** 162 /**
163 * pidgin_conversation_get_type:
164 *
165 * Returns: The #GType for the #PidginConversation boxed structure.
166 */
167 GType pidgin_conversation_get_type(void);
168
169 /**
159 * pidgin_conversations_get_conv_ui_ops: 170 * pidgin_conversations_get_conv_ui_ops:
160 * 171 *
161 * Returns the UI operations structure for GTK+ conversations. 172 * Returns the UI operations structure for GTK+ conversations.
162 * 173 *
163 * Returns: The GTK+ conversation operations structure. 174 * Returns: The GTK+ conversation operations structure.
198 void pidgin_conv_update_buttons_by_protocol(PurpleConversation *conv); 209 void pidgin_conv_update_buttons_by_protocol(PurpleConversation *conv);
199 210
200 /** 211 /**
201 * pidgin_conversations_get_unseen_all: 212 * pidgin_conversations_get_unseen_all:
202 * @min_state: The minimum unseen state. 213 * @min_state: The minimum unseen state.
203 * @hidden_only: If TRUE, only consider hidden conversations. 214 * @hidden_only: If %TRUE, only consider hidden conversations.
204 * @max_count: Maximum number of conversations to return, or 0 for 215 * @max_count: Maximum number of conversations to return, or 0 for
205 * no maximum. 216 * no maximum.
206 * 217 *
207 * Returns a list of conversations of any type which have an unseen 218 * Returns a list of conversations of any type which have an unseen
208 * state greater than or equal to the specified minimum state. Using the 219 * state greater than or equal to the specified minimum state. Using the
209 * hidden_only parameter, this search can be limited to hidden 220 * hidden_only parameter, this search can be limited to hidden
210 * conversations. The max_count parameter will limit the total number of 221 * conversations. The max_count parameter will limit the total number of
211 * converations returned if greater than zero. The returned list should 222 * converations returned if greater than zero. The returned list should
212 * be freed by the caller. 223 * be freed by the caller.
213 * 224 *
214 * Returns: List of PurpleConversation matching criteria, or %NULL. 225 * Returns: List of PurpleConversation matching criteria, or %NULL.
215 */ 226 */
216 GList * 227 GList *
217 pidgin_conversations_get_unseen_all(PidginUnseenState min_state, 228 pidgin_conversations_get_unseen_all(PidginUnseenState min_state,
218 gboolean hidden_only, 229 gboolean hidden_only,
219 guint max_count); 230 guint max_count);
220 231
221 /** 232 /**
222 * pidgin_conversations_get_unseen_ims: 233 * pidgin_conversations_get_unseen_ims:
223 * @min_state: The minimum unseen state. 234 * @min_state: The minimum unseen state.
224 * @hidden_only: If TRUE, only consider hidden conversations. 235 * @hidden_only: If %TRUE, only consider hidden conversations.
225 * @max_count: Maximum number of conversations to return, or 0 for 236 * @max_count: Maximum number of conversations to return, or 0 for
226 * no maximum. 237 * no maximum.
227 * 238 *
228 * Returns a list of IM conversations which have an unseen state greater 239 * Returns a list of IM conversations which have an unseen state greater
229 * than or equal to the specified minimum state. Using the hidden_only 240 * than or equal to the specified minimum state. Using the hidden_only
230 * parameter, this search can be limited to hidden IM conversations. The 241 * parameter, this search can be limited to hidden IM conversations. The
231 * max_count parameter will limit the total number of IM converations 242 * max_count parameter will limit the total number of IM converations
232 * returned if greater than zero. The returned list should be freed by the 243 * returned if greater than zero. The returned list should be freed by the
233 * caller. 244 * caller.
234 * 245 *
235 * Returns: List of PurpleIMConversation matching criteria, 246 * Returns: List of PurpleIMConversation matching criteria, or %NULL.
236 * or %NULL.
237 */ 247 */
238 GList * 248 GList *
239 pidgin_conversations_get_unseen_ims(PidginUnseenState min_state, 249 pidgin_conversations_get_unseen_ims(PidginUnseenState min_state,
240 gboolean hidden_only, 250 gboolean hidden_only,
241 guint max_count); 251 guint max_count);
242 252
243 /** 253 /**
244 * pidgin_conversations_get_unseen_chats: 254 * pidgin_conversations_get_unseen_chats:
245 * @min_state: The minimum unseen state. 255 * @min_state: The minimum unseen state.
246 * @hidden_only: If TRUE, only consider hidden conversations. 256 * @hidden_only: If %TRUE, only consider hidden conversations.
247 * @max_count: Maximum number of conversations to return, or 0 for 257 * @max_count: Maximum number of conversations to return, or 0 for
248 * no maximum. 258 * no maximum.
249 * 259 *
250 * Returns a list of chat conversations which have an unseen state greater 260 * Returns a list of chat conversations which have an unseen state greater
251 * than or equal to the specified minimum state. Using the hidden_only 261 * than or equal to the specified minimum state. Using the hidden_only
252 * parameter, this search can be limited to hidden chat conversations. The 262 * parameter, this search can be limited to hidden chat conversations. The
253 * max_count parameter will limit the total number of chat converations 263 * max_count parameter will limit the total number of chat converations
254 * returned if greater than zero. The returned list should be freed by the 264 * returned if greater than zero. The returned list should be freed by the
255 * caller. 265 * caller.
256 * 266 *
257 * Returns: List of PurpleChatConversation matching criteria, 267 * Returns: List of PurpleChatConversation matching criteria, or %NULL.
258 * or NULL.
259 */ 268 */
260 GList * 269 GList *
261 pidgin_conversations_get_unseen_chats(PidginUnseenState min_state, 270 pidgin_conversations_get_unseen_chats(PidginUnseenState min_state,
262 gboolean hidden_only, 271 gboolean hidden_only,
263 guint max_count); 272 guint max_count);
291 * 300 *
292 * Returns: Wheter Pidgin UI was successfully attached. 301 * Returns: Wheter Pidgin UI was successfully attached.
293 */ 302 */
294 gboolean pidgin_conv_attach_to_conversation(PurpleConversation *conv); 303 gboolean pidgin_conv_attach_to_conversation(PurpleConversation *conv);
295 304
305 /**
306 * pidgin_conv_get_window:
307 * @gtkconv: The GTK+ conversation.
308 *
309 * Returns: The window the conversation belongs to.
310 */
296 PidginConvWindow *pidgin_conv_get_window(PidginConversation *gtkconv); 311 PidginConvWindow *pidgin_conv_get_window(PidginConversation *gtkconv);
312
313 /**
314 * pidgin_conv_get_tab_icon:
315 * @conv: The conversation.
316 * @small_icon: Whether to get the small icon.
317 *
318 * Returns: The tab icon.
319 */
297 GdkPixbuf *pidgin_conv_get_tab_icon(PurpleConversation *conv, gboolean small_icon); 320 GdkPixbuf *pidgin_conv_get_tab_icon(PurpleConversation *conv, gboolean small_icon);
321
322 /**
323 * pidgin_conv_new:
324 * @conv: The conversation.
325 *
326 * Creates a new GTK+ conversation for a given #PurpleConversation.
327 */
298 void pidgin_conv_new(PurpleConversation *conv); 328 void pidgin_conv_new(PurpleConversation *conv);
329
330 /**
331 * pidgin_conv_get_tab_at_xy:
332 * @win: The conversation window.
333 * @x: X-coordinate to look up.
334 * @y: Y-coordinate to look up.
335 * @to_right: (out): Return address for a boolean which will be %TRUE if the
336 * coordinates are on the right side of the tab (or bottom in case of
337 * a vertical notebook), %FALSE otherwise.
338 *
339 * Returns: The tab index of a conversation in @win at (@x, @y).
340 */
299 int pidgin_conv_get_tab_at_xy(PidginConvWindow *win, int x, int y, gboolean *to_right); 341 int pidgin_conv_get_tab_at_xy(PidginConvWindow *win, int x, int y, gboolean *to_right);
342
343 /**
344 * pidgin_conv_is_hidden:
345 * @gtkconv: The GTK+ conversation.
346 *
347 * Returns: %TRUE if the conversation is hidden, %FALSE otherwise.
348 */
300 gboolean pidgin_conv_is_hidden(PidginConversation *gtkconv); 349 gboolean pidgin_conv_is_hidden(PidginConversation *gtkconv);
301 350
302 /**************************************************************************/ 351 /**************************************************************************/
303 /* GTK+ Conversations Subsystem */ 352 /* GTK+ Conversations Subsystem */
304 /**************************************************************************/ 353 /**************************************************************************/

mercurial