Mercurial > pidgin
annotate gtk/plugins/perl/common/GtkConv.xs @ 14447:e88aae4f4c40
[gaim-migrate @ 17161]
Make the Perl GTK+ stuff work in wingaim.
committer: Tailor Script <tailor@pidgin.im>
author | Daniel Atallah <daniel.atallah@gmail.com> |
---|---|
date | Mon, 04 Sep 2006 23:00:13 +0000 |
parents | eeca8be382a5 |
children | 8783ae8f649a |
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 |
14447
e88aae4f4c40
[gaim-migrate @ 17161]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14416
diff
changeset
|
53 #if 0 |
14416
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
54 void |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
55 gaim_gtkconv_update_tabs() |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
56 |
14447
e88aae4f4c40
[gaim-migrate @ 17161]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14416
diff
changeset
|
57 #endif |
e88aae4f4c40
[gaim-migrate @ 17161]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
14416
diff
changeset
|
58 |
14416
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
59 void |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
60 gaim_gtkconv_update_buttons_by_protocol(conv) |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
61 Gaim::Conversation conv |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
62 |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
63 void |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
64 gaim_gtkconv_present_conversation(conv) |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
65 Gaim::Conversation conv |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
66 |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
67 Gaim::Gtk::Conversation::Window |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
68 gaim_gtkconv_get_window(conv) |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
69 Gaim::Gtk::Conversation conv |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
70 |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
71 void |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
72 gaim_gtkconv_new(conv) |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
73 Gaim::Conversation conv |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
74 |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
75 gboolean |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
76 gaim_gtkconv_is_hidden(gtkconv) |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
77 Gaim::Gtk::Conversation gtkconv |
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 MODULE = Gaim::Gtk::Conversation PACKAGE = Gaim::Gtk::Conversations PREFIX = gaim_gtk_conversations_ |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
80 PROTOTYPES: ENABLE |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
81 |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
82 void |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
83 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
|
84 Gaim::ConversationType type |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
85 Gaim::UnseenState min_state |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
86 gboolean hidden_only |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
87 guint max_count |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
88 |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
89 void * |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
90 gaim_gtk_conversations_get_handle() |