Mercurial > pidgin
annotate gtk/plugins/perl/common/Gtk.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 |
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 /* |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
4 #define GAIM_PERL_BOOT_PROTO(x) \ |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
5 void boot_Gaim__##x(pTHX_ CV *cv); |
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 #define GAIM_PERL_BOOT(x) \ |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
8 gaim_perl_callXS(boot_Gaim__##x, cv, mark) |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
9 |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
10 static void |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
11 gaim_perl_callXS(void (*subaddr)(pTHX_ CV *cv), CV *cv, SV **mark) |
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 dSP; |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
14 |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
15 PUSHMARK(mark); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
16 (*subaddr)(aTHX_ cv); |
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 PUTBACK; |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
19 } |
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 |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
22 /* Prototypes for the BOOT section below. */ |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
23 GAIM_PERL_BOOT_PROTO(Gtk__Account); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
24 GAIM_PERL_BOOT_PROTO(Gtk__BuddyList); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
25 GAIM_PERL_BOOT_PROTO(Gtk__Connection); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
26 GAIM_PERL_BOOT_PROTO(Gtk__Conversation); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
27 GAIM_PERL_BOOT_PROTO(Gtk__Conversation__Window); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
28 GAIM_PERL_BOOT_PROTO(Gtk__Debug); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
29 GAIM_PERL_BOOT_PROTO(Gtk__Dialogs); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
30 GAIM_PERL_BOOT_PROTO(Gtk__IMHtml); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
31 GAIM_PERL_BOOT_PROTO(Gtk__IMHtmlToolbar); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
32 GAIM_PERL_BOOT_PROTO(Gtk__Log); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
33 GAIM_PERL_BOOT_PROTO(Gtk__MenuTray); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
34 GAIM_PERL_BOOT_PROTO(Gtk__Plugin); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
35 GAIM_PERL_BOOT_PROTO(Gtk__PluginPref); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
36 GAIM_PERL_BOOT_PROTO(Gtk__Pounce); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
37 GAIM_PERL_BOOT_PROTO(Gtk__Prefs); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
38 GAIM_PERL_BOOT_PROTO(Gtk__Privacy); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
39 GAIM_PERL_BOOT_PROTO(Gtk__Roomlist); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
40 GAIM_PERL_BOOT_PROTO(Gtk__Status); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
41 GAIM_PERL_BOOT_PROTO(Gtk__Session); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
42 GAIM_PERL_BOOT_PROTO(Gtk__Sound); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
43 GAIM_PERL_BOOT_PROTO(Gtk__StatusBox); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
44 GAIM_PERL_BOOT_PROTO(Gtk__Themes); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
45 GAIM_PERL_BOOT_PROTO(Gtk__Utils); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
46 GAIM_PERL_BOOT_PROTO(Gtk__Xfer); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
47 |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
48 MODULE = Gaim::Gtk PACKAGE = Gaim::Gtk PREFIX = gaim_gtk_ |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
49 PROTOTYPES: ENABLE |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
50 |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
51 BOOT: |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
52 GAIM_PERL_BOOT(Gtk__Debug); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
53 GAIM_PERL_BOOT(Gtk__Account); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
54 GAIM_PERL_BOOT(Gtk__BuddyList); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
55 GAIM_PERL_BOOT(Gtk__Connection); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
56 GAIM_PERL_BOOT(Gtk__Conversation); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
57 GAIM_PERL_BOOT(Gtk__Conversation__Window); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
58 GAIM_PERL_BOOT(Gtk__Debug); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
59 GAIM_PERL_BOOT(Gtk__Dialogs); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
60 GAIM_PERL_BOOT(Gtk__IMHtml); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
61 GAIM_PERL_BOOT(Gtk__IMHtmlToolbar); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
62 GAIM_PERL_BOOT(Gtk__Log); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
63 GAIM_PERL_BOOT(Gtk__MenuTray); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
64 GAIM_PERL_BOOT(Gtk__Plugin); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
65 GAIM_PERL_BOOT(Gtk__PluginPref); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
66 GAIM_PERL_BOOT(Gtk__Pounce); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
67 GAIM_PERL_BOOT(Gtk__Prefs); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
68 GAIM_PERL_BOOT(Gtk__Privacy); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
69 GAIM_PERL_BOOT(Gtk__Roomlist); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
70 GAIM_PERL_BOOT(Gtk__Status); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
71 GAIM_PERL_BOOT(Gtk__Session); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
72 GAIM_PERL_BOOT(Gtk__Sound); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
73 GAIM_PERL_BOOT(Gtk__StatusBox); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
74 GAIM_PERL_BOOT(Gtk__Themes); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
75 GAIM_PERL_BOOT(Gtk__Utils); |
eeca8be382a5
[gaim-migrate @ 17124]
Etan Reisner <pidgin@unreliablesource.net>
parents:
diff
changeset
|
76 GAIM_PERL_BOOT(Gtk__Xfer); |