annotate gtk/plugins/perl/common/GtkBlist.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
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
7 void
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
8 gaim_gtk_blist_make_buddy_menu(menu, buddy, sub)
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
9 Gtk::Widget menu
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
10 Gaim::Buddy buddy
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
11 gboolean sub
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
12 */
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
13
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
14 /* This can't work at the moment since I don't have a typemap for Gdk::Pixbuf.
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
15 * 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
16 * about doing that.
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
17
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
18 GdkPixbuf
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
19 gaim_gtk_blist_get_status_icon(node, size)
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
20 Gaim::BuddyList::Node node
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
21 Gaim::Status::IconSize size
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
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
28 void
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
29 gaim_gtk_append_blist_node_proto_menu(menu, gc, node)
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
30 Gtk::Widget menu
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
31 Gaim::Connection gc
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
32 Gaim::BuddyList::Node node
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
33
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
34 void
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
35 gaim_gtk_append_blist_node_extended_menu(menu, node)
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
36 Gtk::Widget menu
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
37 Gaim::Connection gc
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
38 Gaim::BuddyList::Node node
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
39 */
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 MODULE = Gaim::Gtk::BuddyList PACKAGE = Gaim::Gtk::BuddyList PREFIX = gaim_gtk_blist_
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
42 PROTOTYPES: ENABLE
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
43
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
44 void *
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
45 gaim_gtk_blist_get_handle()
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
46
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
47 Gaim::Gtk::BuddyList
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
48 gaim_gtk_blist_get_default_gtk_blist()
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
49
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
50 void
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
51 gaim_gtk_blist_refresh(list)
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
52 Gaim::BuddyList list
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
53
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_gtk_blist_update_toolbar()
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
56
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
57 void
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
58 gaim_gtk_blist_update_columns()
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_gtk_blist_update_refresh_timeout()
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 gboolean
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
64 gaim_gtk_blist_node_is_contact_expanded(node)
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
65 Gaim::BuddyList::Node node
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 void
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
68 gaim_gtk_blist_toggle_visibility()
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
69
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
70 void
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
71 gaim_gtk_blist_visibility_manager_add()
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
72
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
73 void
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
74 gaim_gtk_blist_visibility_manager_remove()
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 void
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
77 gaim_gtk_blist_get_sort_methods()
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
78 PREINIT:
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
79 GList *l;
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
80 PPCODE:
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
81 for (l = gaim_gtk_blist_get_sort_methods(); l != NULL; l = l->next) {
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
82 XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::Gtk::BuddyList::SortMethod")));
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
83 }
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
84
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
85 void
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
86 gaim_gtk_blist_sort_method_reg(id, name, func)
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
87 const char * id
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
88 const char * name
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
89 Gaim::Gtk::BuddyList::SortFunction func
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
90
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
91 void
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
92 gaim_gtk_blist_sort_method_unreg(id)
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
93 const char * id
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
94
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
95 void
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
96 gaim_gtk_blist_sort_method_set(id)
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
97 const char * id
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
98
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
99 void
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
100 gaim_gtk_blist_setup_sort_methods()
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
101
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
102 void
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
103 gaim_gtk_blist_update_accounts_menu()
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
104
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
105 void
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
106 gaim_gtk_blist_update_plugin_actions()
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
107
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
108 void
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
109 gaim_gtk_blist_update_sort_methods()
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
110
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
111 gboolean
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
112 gaim_gtk_blist_joinchat_is_showable()
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
113
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
114 void
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
115 gaim_gtk_blist_joinchat_show()
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
116
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
117 void
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
118 gaim_gtk_blist_update_account_error_state(account, message)
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
119 Gaim::Account account
eeca8be382a5 [gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff changeset
120 const char * message