ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/kgsueme/gtk2-perl-xs.patch
(Generate patch)

Comparing kgsueme/gtk2-perl-xs.patch (file contents):
Revision 1.1 by pcg, Sun Jun 1 06:07:11 2003 UTC vs.
Revision 1.5 by pcg, Tue Jun 3 04:45:42 2003 UTC

1 1
2Gtk2
3 * xs/GtkAdjustment.xs: add accors/mutators for struct values.
4 * xs/GtkTextTag.xs: add GtkTextTagTable + some methods.
5 * gtk-demo/textview.pl: fix demo to actually use unicode
6 as opposed to the garbled latin1.
2 7
3Gtk2/ChangeLog 8Index: Gtk2/gtk-demo/textview.pl
42003/06/01 08:07 pcg
5
6 * xs/GtkAspectFrame.xs: fixed package name typo.
7 * xs/GtkAspectFrame.xs: renamed ->set to set_param, because ->set is more
8 universal.
9 * xs/GtkTreeSortable: fixed package name typo.
10
11Glib/ChangeLog
122003/06/01 08:07 pcg
13
14 * gperl.h: make it compile even on non-threaded perls (where aTHX is empty).
15 * GObject.xs: ->set and ->get accept more than one property pair/name.
16
17
18Index: Glib/GObject.xs
19=================================================================== 9===================================================================
20RCS file: /cvsroot/gtk2-perl/gtk2-perl-xs/Glib/GObject.xs,v 10RCS file: /cvsroot/gtk2-perl/gtk2-perl-xs/Gtk2/gtk-demo/textview.pl,v
21retrieving revision 1.2 11retrieving revision 1.4
22diff -u -p -r1.2 GObject.xs 12diff -u -p -r1.4 textview.pl
23--- Glib/GObject.xs 22 May 2003 14:23:11 -0000 1.2 13--- Gtk2/gtk-demo/textview.pl 17 May 2003 13:31:02 -0000 1.4
24+++ Glib/GObject.xs 1 Jun 2003 06:05:24 -0000 14+++ Gtk2/gtk-demo/textview.pl 2 Jun 2003 16:21:31 -0000
25@@ -390,37 +390,49 @@ g_object_get_data (object, key) 15@@ -246,10 +246,10 @@ sub insert_text {
16 $buffer->insert_with_tags_by_name ($iter, "Internationalization. ",
17 "heading");
18
19- $buffer->insert ($iter, "You can put all sorts of Unicode text in the buffer.\n\nGerman (Deutsch S\303\274d) Gr\303\274\303\237 Gott\nGreek (\316\225\316\273\316\273\316\267\316\275\316\271\316\272\316\254) \316\223\316\265\316\271\316\254 \317\203\316\261\317\202\nHebrew \327\251\327\234\327\225\327\235\nJapanese (\346\227\245\346\234\254\350\252\236)\n\nThe widget properly handles bidirectional text, word wrapping, DOS/UNIX/Unicode paragraph separators, grapheme boundaries, and so on using the Pango internationalization framework.\n");
20+ $buffer->insert ($iter, "You can put all sorts of Unicode text in the buffer.\n\nGerman (S\x{fc}ddeutschland) Gr\x{fc}\x{df} Gott\nGreek (\x{395}\x{3bb}\x{3bb}\x{3b7}\x{3bd}\x{3b9}\x{3ba}\x{3ac}) \x{393}\x{3b5}\x{3b9}\x{3ac} \x{3c3}\x{3b1}\x{3c2}\nHebrew \x{5e9}\x{5dc}\x{5d5}\x{5dd}\nJapanese (\x{65e5}\x{672c}\x{8a9e})\n\nThe widget properly handles bidirectional text, word wrapping, DOS/UNIX/Unicode paragraph separators, grapheme boundaries, and so on using the Pango internationalization framework.\n");
26 21
22 $buffer->insert ($iter, "Here's a word-wrapped quote in a right-to-left language:\n");
23- $buffer->insert_with_tags_by_name ($iter, "\331\210\331\202\330\257 \330\250\330\257\330\243 \330\253\331\204\330\247\330\253 \331\205\331\206 \330\243\331\203\330\253\330\261 \330\247\331\204\331\205\330\244\330\263\330\263\330\247\330\252 \330\252\331\202\330\257\331\205\330\247 \331\201\331\212 \330\264\330\250\331\203\330\251 \330\247\331\203\330\263\331\212\331\210\331\206 \330\250\330\261\330\247\331\205\330\254\331\207\330\247 \331\203\331\205\331\206\330\270\331\205\330\247\330\252 \331\204\330\247 \330\252\330\263\330\271\331\211 \331\204\331\204\330\261\330\250\330\255\330\214 \330\253\331\205 \330\252\330\255\331\210\331\204\330\252 \331\201\331\212 \330\247\331\204\330\263\331\206\331\210\330\247\330\252 \330\247\331\204\330\256\331\205\330\263 \330\247\331\204\331\205\330\247\330\266\331\212\330\251 \330\245\331\204\331\211 \331\205\330\244\330\263\330\263\330\247\330\252 \331\205\330\247\331\204\331\212\330\251 \331\205\331\206\330\270\331\205\330\251\330\214 \331\210\330\250\330\247\330\252\330\252 \330\254\330\262\330\241\330\247 \331\205\331\206 \330\247\331\204\331\206\330\270\330\247\331\205 \330\247\331\204\331\205\330\247\331\204\331\212 \331\201\331\212 \330\250\331\204\330\257\330\247\331\206\331\207\330\247\330\214 \331\210\331\204\331\203\331\206\331\207\330\247 \330\252\330\252\330\256\330\265\330\265 \331\201\331\212 \330\256\330\257\331\205\330\251 \331\202\330\267\330\247\330\271 \330\247\331\204\331\205\330\264\330\261\331\210\330\271\330\247\330\252 \330\247\331\204\330\265\330\272\331\212\330\261\330\251. \331\210\330\243\330\255\330\257 \330\243\331\203\330\253\330\261 \331\207\330\260\331\207 \330\247\331\204\331\205\330\244\330\263\330\263\330\247\330\252 \331\206\330\254\330\247\330\255\330\247 \331\207\331\210 \302\273\330\250\330\247\331\206\331\203\331\210\330\263\331\210\331\204\302\253 \331\201\331\212 \330\250\331\210\331\204\331\212\331\201\331\212\330\247.\n\n",
24+ $buffer->insert_with_tags_by_name ($iter, "\x{648}\x{642}\x{62f} \x{628}\x{62f}\x{623} \x{62b}\x{644}\x{627}\x{62b} \x{645}\x{646} \x{623}\x{643}\x{62b}\x{631} \x{627}\x{644}\x{645}\x{624}\x{633}\x{633}\x{627}\x{62a} \x{62a}\x{642}\x{62f}\x{645}\x{627} \x{641}\x{64a} \x{634}\x{628}\x{643}\x{629} \x{627}\x{643}\x{633}\x{64a}\x{648}\x{646} \x{628}\x{631}\x{627}\x{645}\x{62c}\x{647}\x{627} \x{643}\x{645}\x{646}\x{638}\x{645}\x{627}\x{62a} \x{644}\x{627} \x{62a}\x{633}\x{639}\x{649} \x{644}\x{644}\x{631}\x{628}\x{62d}\x{60c} \x{62b}\x{645} \x{62a}\x{62d}\x{648}\x{644}\x{62a} \x{641}\x{64a} \x{627}\x{644}\x{633}\x{646}\x{648}\x{627}\x{62a} \x{627}\x{644}\x{62e}\x{645}\x{633} \x{627}\x{644}\x{645}\x{627}\x{636}\x{64a}\x{629} \x{625}\x{644}\x{649} \x{645}\x{624}\x{633}\x{633}\x{627}\x{62a} \x{645}\x{627}\x{644}\x{64a}\x{629} \x{645}\x{646}\x{638}\x{645}\x{629}\x{60c} \x{648}\x{628}\x{627}\x{62a}\x{62a} \x{62c}\x{632}\x{621}\x{627} \x{645}\x{646} \x{627}\x{644}\x{646}\x{638}\x{627}\x{645} \x{627}\x{644}\x{645}\x{627}\x{644}\x{64a} \x{641}\x{64a} \x{628}\x{644}\x{62f}\x{627}\x{646}\x{647}\x{627}\x{60c} \x{648}\x{644}\x{643}\x{646}\x{647}\x{627} \x{62a}\x{62a}\x{62e}\x{635}\x{635} \x{641}\x{64a} \x{62e}\x{62f}\x{645}\x{629} \x{642}\x{637}\x{627}\x{639} \x{627}\x{644}\x{645}\x{634}\x{631}\x{648}\x{639}\x{627}\x{62a} \x{627}\x{644}\x{635}\x{63a}\x{64a}\x{631}\x{629}. \x{648}\x{623}\x{62d}\x{62f} \x{623}\x{643}\x{62b}\x{631} \x{647}\x{630}\x{647} \x{627}\x{644}\x{645}\x{624}\x{633}\x{633}\x{627}\x{62a} \x{646}\x{62c}\x{627}\x{62d}\x{627} \x{647}\x{648} \x{bb}\x{628}\x{627}\x{646}\x{643}\x{648}\x{633}\x{648}\x{644}\x{ab} \x{641}\x{64a} \x{628}\x{648}\x{644}\x{64a}\x{641}\x{64a}\x{627}.\n\n",
25 "rtl_quote");
26
27 $buffer->insert ($iter, "You can put widgets in the buffer: Here's a button: ");
28Index: Gtk2/xs/GtkAdjustment.xs
29===================================================================
30RCS file: /cvsroot/gtk2-perl/gtk2-perl-xs/Gtk2/xs/GtkAdjustment.xs,v
31retrieving revision 1.3
32diff -u -p -r1.3 GtkAdjustment.xs
33--- Gtk2/xs/GtkAdjustment.xs 22 May 2003 14:23:23 -0000 1.3
34+++ Gtk2/xs/GtkAdjustment.xs 2 Jun 2003 16:21:31 -0000
35@@ -58,3 +58,35 @@ gtk_adjustment_set_value (adjustment, va
36 GtkAdjustment *adjustment
37 gdouble value
27 38
28 SV * 39+gdouble
29-g_object_get (object, name) 40+value (GtkAdjustment *adjustment, gdouble newval = 0)
30+g_object_get (object, ...) 41+ ALIAS:
31 GObject * object 42+ lower = 1
32- char * name 43+ upper = 2
33 ALIAS: 44+ step_incrememt = 3
34 Glib::Object::get = 0 45+ page_incrememt = 4
35 Glib::Object::get_property = 1 46+ page_size = 5
36 PREINIT: 47+ CODE:
37 GValue value = {0,}; 48+ switch (ix) {
38- CODE: 49+ case 0: RETVAL = adjustment->value;
39- init_property_value (object, name, &value); 50+ if (items > 1) adjustment->value = newval;
40- g_object_get_property (object, name, &value); 51+ break;
41- RETVAL = gperl_sv_from_value (&value); 52+ case 1: RETVAL = adjustment->lower;
42- g_value_unset (&value); 53+ if (items > 1) adjustment->lower = newval;
43- OUTPUT: 54+ break;
44- RETVAL 55+ case 2: RETVAL = adjustment->upper;
45+ PPCODE: 56+ if (items > 1) adjustment->upper = newval;
46+ int i; 57+ break;
58+ case 3: RETVAL = adjustment->step_increment;
59+ if (items > 1) adjustment->step_increment = newval;
60+ break;
61+ case 4: RETVAL = adjustment->page_increment;
62+ if (items > 1) adjustment->page_increment = newval;
63+ break;
64+ case 5: RETVAL = adjustment->page_size;
65+ if (items > 1) adjustment->page_size = newval;
66+ break;
67+ }
68+ OUTPUT:
69+ RETVAL
47+ 70+
48+ EXTEND (SP, items); 71Index: Gtk2/xs/GtkTextTag.xs
49+ for (i = 1; i <= items; i++) { 72===================================================================
50+ char *name = SvPV_nolen (ST (i)); 73RCS file: /cvsroot/gtk2-perl/gtk2-perl-xs/Gtk2/xs/GtkTextTag.xs,v
74retrieving revision 1.3
75diff -u -p -r1.3 GtkTextTag.xs
76--- Gtk2/xs/GtkTextTag.xs 22 May 2003 14:23:24 -0000 1.3
77+++ Gtk2/xs/GtkTextTag.xs 2 Jun 2003 16:21:31 -0000
78@@ -83,3 +83,34 @@ gtk_text_attributes_copy_values (dest, s
79 ##gtk_text_attributes_ref (values)
80 ## GtkTextAttributes *values
81 ##
51+ 82+
52+ init_property_value (object, name, &value); 83+MODULE = Gtk2::TextTag PACKAGE = Gtk2::TextTagTable PREFIX = gtk_text_tag_table_
53+ g_object_get_property (object, name, &value);
54+ PUSHs (sv_2mortal (gperl_sv_from_value (&value)));
55+ g_value_unset (&value);
56+ }
57
58 void
59-g_object_set (object, name, newval)
60+g_object_set (object, ...)
61 GObject * object
62- char * name
63- SV * newval
64 ALIAS:
65 Glib::Object::set = 0
66 Glib::Object::set_property = 1
67 PREINIT:
68 GValue value = {0,};
69 CODE:
70- init_property_value (object, name, &value);
71- gperl_value_from_sv (&value, newval);
72- g_object_set_property (object, name, &value);
73- g_value_unset (&value);
74+ int i;
75+ 84+
76+ if (!(items % 2)) 85+GtkTextTagTable_noinc *
77+ croak ("set method expects name => value pairs (off number of arguments detected)"); 86+gtk_text_tag_table_new (class)
87+ SV * class
88+ C_ARGS:
78+ 89+
79+ for (i = 1; i < items; i += 2) { 90+void
80+ char *name = SvPV_nolen (ST (i)); 91+gtk_text_tag_table_add (table, tag)
81+ SV *newval = ST (i + 1); 92+ GtkTextTagTable *table
93+ GtkTextTag *tag
82+ 94+
83+ init_property_value (object, name, &value);
84+ gperl_value_from_sv (&value, newval);
85+ g_object_set_property (object, name, &value);
86+ g_value_unset (&value);
87+ }
88
89
90 void 95+void
91Index: Glib/gperl.h 96+gtk_text_tag_table_remove (table, tag)
92=================================================================== 97+ GtkTextTagTable *table
93RCS file: /cvsroot/gtk2-perl/gtk2-perl-xs/Glib/gperl.h,v 98+ GtkTextTag *tag
94retrieving revision 1.4
95diff -u -p -r1.4 gperl.h
96--- Glib/gperl.h 31 May 2003 04:00:45 -0000 1.4
97+++ Glib/gperl.h 1 Jun 2003 06:05:24 -0000
98@@ -28,6 +28,11 @@
99
100 #include <glib-object.h>
101
102+#ifndef PERL_IMPLICIT_CONTEXT
103+# undef aTHX
104+# define aTHX (void *)0
105+#endif
106+ 99+
107 /* 100+GtkTextTag *
108 * miscellaneous 101+gtk_text_tag_table_lookup (table, name)
109 */ 102+ GtkTextTagTable * table
110Index: Gtk2/xs/GtkAspectFrame.xs 103+ const gchar * name
111=================================================================== 104+
112RCS file: /cvsroot/gtk2-perl/gtk2-perl-xs/Gtk2/xs/GtkAspectFrame.xs,v 105+#void gtk_text_tag_table_foreach (GtkTextTagTable *table,
113retrieving revision 1.3 106+# GtkTextTagTableForeach func,
114diff -u -p -r1.3 GtkAspectFrame.xs 107+# gpointer data);
115--- Gtk2/xs/GtkAspectFrame.xs 22 May 2003 14:23:23 -0000 1.3 108+
116+++ Gtk2/xs/GtkAspectFrame.xs 1 Jun 2003 06:05:24 -0000 109+gint
117@@ -21,7 +21,7 @@ 110+gtk_text_tag_table_get_size (table)
118 111+ GtkTextTagTable * table
119 #include "gtk2perl.h" 112+
120
121-MODULE = Gtk2::AspectFrame PACKAGE = Gtk2::AspectFrame PREFIX = gtk_aspectframe_
122+MODULE = Gtk2::AspectFrame PACKAGE = Gtk2::AspectFrame PREFIX = gtk_aspect_frame_
123
124 ## GtkWidget* gtk_aspect_frame_new (const gchar *label, gfloat xalign, gfloat yalign, gfloat ratio, gboolean obey_child)
125 GtkWidget *
126@@ -35,9 +35,10 @@ gtk_aspect_frame_new (class, label, xali
127 C_ARGS:
128 label, xalign, yalign, ratio, obey_child
129
130+# renamed to set_params because the existing ->set method is more important
131 ## void gtk_aspect_frame_set (GtkAspectFrame *aspect_frame, gfloat xalign, gfloat yalign, gfloat ratio, gboolean obey_child)
132 void
133-gtk_aspect_frame_set (aspect_frame, xalign, yalign, ratio, obey_child)
134+gtk_aspect_frame_set_params (aspect_frame, xalign, yalign, ratio, obey_child)
135 GtkAspectFrame * aspect_frame
136 gfloat xalign
137 gfloat yalign
138Index: Gtk2/xs/GtkTreeSortable.xs
139===================================================================
140RCS file: /cvsroot/gtk2-perl/gtk2-perl-xs/Gtk2/xs/GtkTreeSortable.xs,v
141retrieving revision 1.3
142diff -u -p -r1.3 GtkTreeSortable.xs
143--- Gtk2/xs/GtkTreeSortable.xs 22 May 2003 14:23:24 -0000 1.3
144+++ Gtk2/xs/GtkTreeSortable.xs 1 Jun 2003 06:05:24 -0000
145@@ -23,7 +23,7 @@
146
147 // typedef gint (* GtkTreeIterCompareFunc) (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer user_data)
148
149-MODULE = Gtk2::TreeSortable PACKAGE = Gtk2::TreeSortable PREFIX = gtk_tre_sortable_
150+MODULE = Gtk2::TreeSortable PACKAGE = Gtk2::TreeSortable PREFIX = gtk_tree_sortable_
151
152 ## void gtk_tree_sortable_sort_column_changed (GtkTreeSortable *sortable)
153 void

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines