gtk/plugins/perl/common/GtkConvWin.xs

Sat, 02 Sep 2006 05:31:10 +0000

author
Etan Reisner <deryni@pidgin.im>
date
Sat, 02 Sep 2006 05:31:10 +0000
changeset 14478
a6b831ab1d13
child 14629
1a0cd727c121
permissions
-rw-r--r--

[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.

14478
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
1 #include "gtkmodule.h"
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
2
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
3 MODULE = Gaim::Gtk::Conversation::Window PACKAGE = Gaim::Gtk::Conversation::Window PREFIX = gaim_gtk_conv_window_
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
4 PROTOTYPES: ENABLE
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
5
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
6 Gaim::Gtk::Conversation::Window
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
7 gaim_gtk_conv_window_new()
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
8
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
9 void
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
10 gaim_gtk_conv_window_destroy(win)
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
11 Gaim::Gtk::Conversation::Window win
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
12
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
13 void
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
14 gaim_gtk_conv_window_show(win)
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
15 Gaim::Gtk::Conversation::Window win
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
16
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
17 void
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
18 gaim_gtk_conv_window_hide(win)
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
19 Gaim::Gtk::Conversation::Window win
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
20
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
21 void
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
22 gaim_gtk_conv_window_raise(win)
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
23 Gaim::Gtk::Conversation::Window win
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
24
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
25 void
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
26 gaim_gtk_conv_window_switch_gtkconv(win, gtkconv)
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
27 Gaim::Gtk::Conversation::Window win
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
28 Gaim::Gtk::Conversation gtkconv
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
29
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
30 void
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
31 gaim_gtk_conv_window_add_gtkconv(win, gtkconv)
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
32 Gaim::Gtk::Conversation::Window win
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
33 Gaim::Gtk::Conversation gtkconv
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
34
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
35 void
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
36 gaim_gtk_conv_window_remove_gtkconv(win, gtkconv)
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
37 Gaim::Gtk::Conversation::Window win
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
38 Gaim::Gtk::Conversation gtkconv
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
39
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
40 Gaim::Gtk::Conversation
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
41 gaim_gtk_conv_window_get_gtkconv_at_index(win, index)
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
42 Gaim::Gtk::Conversation::Window win
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
43 int index
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
44
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
45 Gaim::Gtk::Conversation
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
46 gaim_gtk_conv_window_get_active_gtkconv(win)
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
47 Gaim::Gtk::Conversation::Window win
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
48
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
49 Gaim::Conversation
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
50 gaim_gtk_conv_window_get_active_conversation(win)
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
51 Gaim::Gtk::Conversation::Window win
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
52
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
53 gboolean
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
54 gaim_gtk_conv_window_is_active_conversation(conv)
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
55 Gaim::Conversation conv
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
56
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
57 gboolean
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
58 gaim_gtk_conv_window_has_focus(win)
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
59 Gaim::Gtk::Conversation::Window win
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
60
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
61 Gaim::Gtk::Conversation::Window
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
62 gaim_gtk_conv_window_get_at_xy(x, y)
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
63 int x
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
64 int y
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
65
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
66 void
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
67 gaim_gtk_conv_window_get_gtkconvs(win)
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
68 Gaim::Gtk::Conversation::Window win
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
69 PREINIT:
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
70 GList *l;
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
71 PPCODE:
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
72 for (l = gaim_gtk_conv_window_get_gtkconvs(win); l != NULL; l = l->next) {
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
73 XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::Gtk::Conversation")));
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
74 }
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
75
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
76 guint
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
77 gaim_gtk_conv_window_get_gtkconv_count(win)
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
78 Gaim::Gtk::Conversation::Window win
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
79
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
80 Gaim::Gtk::Conversation::Window
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
81 gaim_gtk_conv_window_first_with_type(type)
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
82 Gaim::ConversationType type
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
83
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
84 Gaim::Gtk::Conversation::Window
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
85 gaim_gtk_conv_window_last_with_type(type)
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
86 Gaim::ConversationType type
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
87
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
88 MODULE = Gaim::Gtk::Conversation::Window PACKAGE = Gaim::Gtk::Conversation::Placement PREFIX = gaim_gtkconv_placement_
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
89 PROTOTYPES: ENABLE
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
90
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
91 void
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
92 gaim_gtkconv_placement_get_options()
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
93 PREINIT:
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
94 GList *l;
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
95 PPCODE:
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
96 for (l = gaim_gtkconv_placement_get_options(); l != NULL; l = l->next) {
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
97 XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::Gtk::Conversation::Window")));
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
98 }
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
99
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
100 void
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
101 gaim_gtkconv_placement_add_fnc(id, name, fnc)
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
102 const char * id
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
103 const char * name
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
104 Gaim::Conversation::PlacementFunc fnc
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
105
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
106 void
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
107 gaim_gtkconv_placement_remove_fnc(id)
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
108 const char * id
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
109
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
110 const char *
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
111 gaim_gtkconv_placement_get_name(id)
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
112 const char * id
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
113
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
114 Gaim::Conversation::PlacementFunc
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
115 gaim_gtkconv_placement_get_fnc(id)
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
116 const char * id
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
117
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
118 void
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
119 gaim_gtkconv_placement_set_current_func(func)
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
120 Gaim::Conversation::PlacementFunc func
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
121
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
122 Gaim::Conversation::PlacementFunc
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
123 gaim_gtkconv_placement_get_current_func()
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
124
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
125 void
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
126 gaim_gtkconv_placement_place(gtkconv)
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
127 Gaim::Gtk::Conversation gtkconv
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
128
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
129 MODULE = Gaim::Gtk::Conversation::Window PACKAGE = Gaim::Gtk::Conversation::Windows PREFIX = gaim_gtk_conv_windows_
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
130 PROTOTYPES: ENABLE
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
131
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
132 void
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
133 gaim_gtk_conv_windows_get_list()
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
134 PREINIT:
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
135 GList *l;
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
136 PPCODE:
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
137 for (l = gaim_gtk_conv_windows_get_list(); l != NULL; l = l->next) {
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
138 XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::Gtk::Conversation::Window")));
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
139 }

mercurial