gtk/plugins/perl/common/GtkPrefs.xs

changeset 14641
a55ef032e889
parent 14629
1a0cd727c121
equal deleted inserted replaced
14640:9f0f2bbbc4e2 14641:a55ef032e889
1 #include "gtkmodule.h" 1 #include "gtkmodule.h"
2
3 /* This can't work at the moment since I don't have a typemap for Gtk::Widget.
4 * I thought about using the one from libgtk2-perl but wasn't sure how to go
5 * about doing that.
6 Gtk::Widget
7 gaim_gtk_prefs_checkbox(title, key, page)
8 const char * title
9 const char * key
10 Gtk::Widget page
11
12 Gtk::Widget
13 gaim_gtk_prefs_labeled_spin_button(page, title, key, min, max, sg)
14 Gtk::Widget page
15 const gchar * title
16 const char * key
17 int min
18 int max
19 Gtk::Size::Group sg
20
21 Gtk::Widget
22 gaim_gtk_prefs_labeled_entry(page, title, key, sg)
23 Gtk::Widget page
24 const gchar * title
25 const char * key
26 Gtk::Size::Group sg
27
28 TODO Test this carefully, I'm not at all confident in the loop.
29 Gtk::Widget
30 gaim_gtk_prefs_dropdown(page, title, type, key, ...)
31 Gtk::Widget page
32 const gchar * title
33 Gaim::Pref::Type type
34 const char * key
35 PREINIT:
36 GList *t_GL;
37 int i;
38 CODE:
39 t_GL = NULL;
40 for (i = 0; i < items; i++) {
41 if (type == GAIM_PREF_INT || type == GAIM_PREF_BOOLEAN) {
42 t_GL = g_list_append(t_GL, SvIV(ST(i+1)));
43 else {
44 t_GL = g_list_append(t_GL, SvPV(ST(i+1)));
45 }
46 }
47
48 Gtk::Widget
49 gaim_gtk_prefs_dropdown_from_list(page, title, type, key, menuitems)
50 Gtk::Widget page
51 const gchar * title
52 Gaim::Pref::Type type
53 const char * key
54 SV *menuitems
55 PREINIT:
56 GList *t_GL;
57 int i, t_len;
58 CODE:
59 t_GL = NULL;
60 t_len = av_len((AV *)SvRV(menuitems));
61
62 for ( i = 0; i < t_len; i++) {
63 STRLEN t_sl;
64 t_GL = g_list_append(t_GL, SvPV(*av_fetch((AV *)SvRV(menuitems), i, 0), t_sl));
65 RETVAL = gaim_gtk_prefs_dropdown_from_list(page, title, type, key, t_GL);
66 OUTPUT:
67 RETVAL
68 */
69 2
70 MODULE = Gaim::GtkUI::Prefs PACKAGE = Gaim::GtkUI::Prefs PREFIX = gaim_gtk_prefs_ 3 MODULE = Gaim::GtkUI::Prefs PACKAGE = Gaim::GtkUI::Prefs PREFIX = gaim_gtk_prefs_
71 PROTOTYPES: ENABLE 4 PROTOTYPES: ENABLE
72 5
73 void 6 void

mercurial