gtk/plugins/perl/common/GtkThemes.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 /* This can't work at the moment since I don't have a typemap for Gtk::Widget.
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
4 * I thought about using the one from libgtk2-perl but wasn't sure how to go
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
5 * about doing that.
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
6 void
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
7 gaim_gtkthemes_smiley_themeize(widget)
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
8 Gtk::Widget * widget
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
9 */
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
10
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
11 MODULE = Gaim::Gtk::Themes PACKAGE = Gaim::Gtk::Themes PREFIX = gaim_gtkthemes_
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
12 PROTOTYPES: ENABLE
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
13
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
14 void
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
15 gaim_gtkthemes_init()
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 gboolean
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
18 gaim_gtkthemes_smileys_disabled()
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
19
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
20 void
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
21 gaim_gtkthemes_smiley_theme_probe()
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
22
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
23 void
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
24 gaim_gtkthemes_load_smiley_theme(file, load)
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
25 const char * file
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
26 gboolean load
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
27
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
28 void
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
29 gaim_gtkthemes_get_proto_smileys(id)
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
30 const char * id
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
31 PREINIT:
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
32 GSList *l;
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
33 PPCODE:
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
34 for (l = gaim_gtkthemes_get_proto_smileys(id); l != NULL; l = l->next) {
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
35 XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gtk::IMHtml::Smiley")));
a6b831ab1d13 [gaim-migrate @ 17124]
Etan Reisner <deryni@pidgin.im>
parents:
diff changeset
36 }

mercurial