annotate gtk/plugins/perl/common/GtkConv.xs @ 14416:eeca8be382a5

[gaim-migrate @ 17124] This is a Gaim::Gtk perl module for use by gaim plugins to get access to the gtkgaim interface functions. It isn't complete because anything dealing with Gtk widgets themselves doesn't work yet (I need to figure out the best way to do that). To use this a perl plugin just needs to include 'use Gaim::Gtk;' either on top of 'use Gaim;' or instead of it. I'm not done with this yet. At the moment you have to 'use Gaim;' or 'use Gaim::Gtk;' which loads all the parts, I'm planning to let you actually say 'use Gaim::Gtk::Debug;' to just get the gtkdebug.h functions. Though 'use Gaim' would work the same way as always. committer: Tailor Script <tailor@pidgin.im>
author Etan Reisner <pidgin@unreliablesource.net>
date Sat, 02 Sep 2006 05:31:10 +0000
parents
children e88aae4f4c40
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
14416
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
1 #include "gtkmodule.h"
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
2
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
3 /* This can't work at the moment since I don't have a typemap for Gtk::Widget.
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
4 * I thought about using the one from libgtk2-perl but wasn't sure how to go
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
5 * about doing that.
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
6 guint
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
7 gaim_gtk_conversations_fill_menu(menu, convs)
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
8 Gtk::Widget menu
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
9 SV *convs
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
10 PREINIT:
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
11 GList *t_GL;
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
12 int i, t_len;
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
13 PPCODE:
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
14 t_GL = NULL;
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
15 t_len = av_len((AV *)SvRV(convs));
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
16
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
17 for (i = 0; i < t_len; i++) {
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
18 STRLEN t_sl;
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
19 t_GL = g_list_append(t_GL, SvPV(*av_fetch((AV *)SvRV(convs), i, 0), t_sl));
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
20 }
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
21 gaim_gtk_conversations_fill_menu(menu, t_GL);
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
22 */
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
23
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
24 /* This can't work at the moment since I don't have a typemap for Gtk::Widget.
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
25 * I thought about using the one from libgtk2-perl but wasn't sure how to go
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
26 * about doing that.
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
27 GdkPixbuf
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
28 gaim_gtkconv_get_tab_icon(conv, small_icon)
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
29 Gaim::Conversation conv
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
30 gboolean small_icon
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
31 */
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
32
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
33 /* This can't work at the moment since I don't have a typemap for gboolean *.
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
34 int
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
35 gaim_gtkconv_get_tab_at_xy(win, x, y, to_right)
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
36 Gaim::Gtk::Conversation::Window win
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
37 int x
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
38 int y
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
39 gboolean * to_right
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
40 */
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
41
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
42 MODULE = Gaim::Gtk::Conversation PACKAGE = Gaim::Gtk::Conversation PREFIX = gaim_gtkconv_
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
43 PROTOTYPES: ENABLE
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
44
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
45 void
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
46 gaim_gtkconv_update_buddy_icon(conv)
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
47 Gaim::Conversation conv
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
48
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
49 void
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
50 gaim_gtkconv_switch_active_conversation(conv)
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
51 Gaim::Conversation conv
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
52
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
53 void
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
54 gaim_gtkconv_update_tabs()
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
55
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
56 void
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
57 gaim_gtkconv_update_buttons_by_protocol(conv)
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
58 Gaim::Conversation conv
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
59
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
60 void
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
61 gaim_gtkconv_present_conversation(conv)
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
62 Gaim::Conversation conv
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
63
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
64 Gaim::Gtk::Conversation::Window
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
65 gaim_gtkconv_get_window(conv)
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
66 Gaim::Gtk::Conversation conv
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
67
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
68 void
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
69 gaim_gtkconv_new(conv)
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
70 Gaim::Conversation conv
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
71
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
72 gboolean
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
73 gaim_gtkconv_is_hidden(gtkconv)
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
74 Gaim::Gtk::Conversation gtkconv
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
75
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
76 MODULE = Gaim::Gtk::Conversation PACKAGE = Gaim::Gtk::Conversations PREFIX = gaim_gtk_conversations_
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
77 PROTOTYPES: ENABLE
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
78
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
79 void
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
80 gaim_gtk_conversations_find_unseen_list(type, min_state, hidden_only, max_count)
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
81 Gaim::ConversationType type
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
82 Gaim::UnseenState min_state
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
83 gboolean hidden_only
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
84 guint max_count
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
85
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
86 void *
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
87 gaim_gtk_conversations_get_handle()