Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-current.git;a=commitdiff;h=18bf026097e2b9c3b96ea6f26b2a5b8fc229b32c

commit 18bf026097e2b9c3b96ea6f26b2a5b8fc229b32c
Author: bouleetbil <bouleet...@frogdev.info>
Date:   Wed Jul 22 21:37:39 2009 +0200

ruby-gnome2-0.19.0-1-i686
*version bump
*delete useless patch
*fixed conflicts with gtk-ruby
*fixed depends

diff --git a/source/gnome-extra/ruby-gnome2/CVE-2007-6183.diff 
b/source/gnome-extra/ruby-gnome2/CVE-2007-6183.diff
deleted file mode 100644
index 9687e94..0000000
--- a/source/gnome-extra/ruby-gnome2/CVE-2007-6183.diff
+++ /dev/null
@@ -1,12 +0,0 @@
---- ruby-gnome2/gtk/src/rbgtkmessagedialog.c   2007/11/26 12:37:33     2719
-+++ ruby-gnome2/gtk/src/rbgtkmessagedialog.c   2007/11/27 11:40:12     2720
-@@ -28,7 +28,8 @@
-                                RVAL2GFLAGS(flags, GTK_TYPE_DIALOG_FLAGS),
-                                RVAL2GENUM(type, GTK_TYPE_MESSAGE_TYPE),
-                                RVAL2GENUM(buttons, GTK_TYPE_BUTTONS_TYPE),
--                               (const gchar*)(NIL_P(message) ? "": 
RVAL2CSTR(message)));
-+                               "%s",
-+                               NIL_P(message) ? "": RVAL2CSTR(message));
-     RBGTK_INITIALIZE(self, w);
-     return Qnil;
- }
diff --git a/source/gnome-extra/ruby-gnome2/FrugalBuild 
b/source/gnome-extra/ruby-gnome2/FrugalBuild
index e1a1d41..c5815a8 100644
--- a/source/gnome-extra/ruby-gnome2/FrugalBuild
+++ b/source/gnome-extra/ruby-gnome2/FrugalBuild
@@ -2,39 +2,50 @@
# Maintainer: Bence Nagy <nagybe...@tipogral.hu>

pkgname=ruby-gnome2
-pkgver=0.16.0
-pkgrel=6
+pkgver=0.19.0
+pkgrel=1
pkgdesc="Ruby language bindings for Gnome environment"
_F_sourceforge_name="$pkgname-all"
_F_sourceforge_dirname="$pkgname"
_F_sourceforge_realname=$pkgname
Finclude sourceforge
url="http://ruby-gnome2.sourceforge.jp/";
-source=(${sour...@]} missing_nil_check.patch 
ruby-gnome2-all-0.16.0-newpoppler.patch CVE-2007-6183.diff)
depends=('gnome-panel>=2.26.1' 'gtksourceview>=2.2.1' 'ruby' 'libgtkhtml' 
'ruby-gtk2>=0.16.0' \
-       'dbus-glib>=0.74' 'vte>=0.20.4' 'libcroco>=0.6.1-4' 'ncurses' 
'poppler-glib>=0.8.0')
+       'dbus-glib>=0.74' 'vte>=0.20.4' 'libcroco>=0.6.1-4' 'ncurses' 
'poppler-glib>=0.8.0' \
+       'gtkglext' 'ruby-gtk2' 'firefox')
groups=('gnome-extra')
options=('scriptlet')
archs=('i686' 'x86_64')
-sha1sums=('488f6c1f139060e005f336c9c854c4dc5b3e6b7c' \
-          'f8e21b087b8d182c5aafdeed18a98ebe17095ab0' \
-          '0e3457c6fdbe41d15ef7a96ae88fac29cb411df4' \
-          'a54edcac9bb7af17d8a9eaff49e4747d82bf9c31')
-
-## NOTE: gtkglext and firefox could be added to depends too but not sure yet - 
crazy -
+sha1sums=('59e20b43a2592d63373bba72430e72ffd84e4f68')
+_F_cd_path=$_F_sourceforge_name-$pkgver
+RubyVer=1.8

build() {
-       Fcd $_F_sourceforge_name-$pkgver
-       Fpatchall
-       Fconf
-       Fsed ' atk ' ' ' Makefile
-       Fsed ' gdkpixbuf ' ' ' Makefile
-       Fsed ' glib ' ' ' Makefile
-       Fsed ' gtk ' ' ' Makefile
-       Fsed ' pango ' ' ' Makefile
-       make || Fdie
-       find */* -name \*.rb -exec sed -i -e 
's|/usr/local/bin/ruby|/usr/bin/ruby|' {} \; || Fdie
-       make DESTDIR=$Fdestdir libdir=$Fdestdir/lib install || Fdie
+       Fbuild
+       #provided by ruby-gtk2
+       Frm usr/lib/ruby/site_ruby/$RubyVer/atk.rb
+       Frm usr/lib/ruby/site_ruby/$RubyVer/gdk_pixbuf2.rb
+       Frm usr/lib/ruby/site_ruby/$RubyVer/glib-mkenums.rb
+       Frm usr/lib/ruby/site_ruby/$RubyVer/glib2.rb
+       Frm usr/lib/ruby/site_ruby/$RubyVer/gtk2.rb
+       Frm usr/lib/ruby/site_ruby/$RubyVer/gtk2/base.rb
+       Frm usr/lib/ruby/site_ruby/$RubyVer/$CARCH-linux/atk.so
+       Frm usr/lib/ruby/site_ruby/$RubyVer/$CARCH-linux/gdk_pixbuf2.so
+       Frm usr/lib/ruby/site_ruby/$RubyVer/$CARCH-linux/glib-enum-types.h
+       Frm usr/lib/ruby/site_ruby/$RubyVer/$CARCH-linux/glib2.so
+       Frm usr/lib/ruby/site_ruby/$RubyVer/$CARCH-linux/gtk2.so
+       Frm usr/lib/ruby/site_ruby/$RubyVer/$CARCH-linux/pango.so
+       Frm usr/lib/ruby/site_ruby/$RubyVer/$CARCH-linux/rbatk.h
+       Frm usr/lib/ruby/site_ruby/$RubyVer/$CARCH-linux/rbatkversion.h
+       Frm usr/lib/ruby/site_ruby/$RubyVer/$CARCH-linux/rbgcompat.h
+       Frm usr/lib/ruby/site_ruby/$RubyVer/$CARCH-linux/rbglib.h
+       Frm usr/lib/ruby/site_ruby/$RubyVer/$CARCH-linux/rbgobject.h
+       Frm usr/lib/ruby/site_ruby/$RubyVer/$CARCH-linux/rbgtk.h
+       Frm usr/lib/ruby/site_ruby/$RubyVer/$CARCH-linux/rbgtkconversions.h
+       Frm usr/lib/ruby/site_ruby/$RubyVer/$CARCH-linux/rbgutil.h
+       Frm usr/lib/ruby/site_ruby/$RubyVer/$CARCH-linux/rbpango.h
+       Frm usr/lib/ruby/site_ruby/$RubyVer/$CARCH-linux/rbpangoversion.h
+       Frm usr/lib/ruby/site_ruby/$RubyVer/mkmf-gnome2.rb
+       Frm usr/lib/ruby/site_ruby/$RubyVer/pango.rb
+       Frm usr/lib/ruby/site_ruby/$RubyVer/pkg-config.rb
}
-
-# optimization OK
diff --git a/source/gnome-extra/ruby-gnome2/missing_nil_check.patch 
b/source/gnome-extra/ruby-gnome2/missing_nil_check.patch
deleted file mode 100644
index 07f814a..0000000
--- a/source/gnome-extra/ruby-gnome2/missing_nil_check.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff -Naur ruby-gnome2-all-0.16.0/libglade/lib/libglade2.rb 
ruby-gnome2-all-0.16.0-p/libglade/lib/libglade2.rb
---- ruby-gnome2-all-0.16.0/libglade/lib/libglade2.rb   2006-12-29 
14:17:28.000000000 +0100
-+++ ruby-gnome2-all-0.16.0-p/libglade/lib/libglade2.rb 2007-01-19 
11:51:05.000000000 +0100
-@@ -5,7 +5,7 @@
-   Copyright (c) 2002-2004 Ruby-GNOME2 Project Team
-   This program is licenced under the same licence as Ruby-GNOME2.
-
--  $Id: libglade2.rb,v 1.17 2006/11/08 00:57:16 ktou Exp $
-+  $Id: libglade2.rb,v 1.18 2006/12/31 03:39:27 ktou Exp $
- =end
-
- require 'gtk2'
-@@ -100,6 +100,7 @@
-   end
-
-   def guard_source_from_gc(source)
-+    return if source.nil?
-     @sources ||= {}
-     @sources[source.object_id] = source
-     source.signal_connect("destroy") do |object|
diff --git 
a/source/gnome-extra/ruby-gnome2/ruby-gnome2-all-0.16.0-newpoppler.patch 
b/source/gnome-extra/ruby-gnome2/ruby-gnome2-all-0.16.0-newpoppler.patch
deleted file mode 100644
index 68c2aba..0000000
--- a/source/gnome-extra/ruby-gnome2/ruby-gnome2-all-0.16.0-newpoppler.patch
+++ /dev/null
@@ -1,889 +0,0 @@
---- ruby-gnome2-all-0.16.0/poppler/src/rbpoppler.h.newpoppler  2006-12-29 
22:17:28.000000000 +0900
-+++ ruby-gnome2-all-0.16.0/poppler/src/rbpoppler.h     2008-03-20 
13:37:29.000000000 +0900
-@@ -38,16 +38,27 @@
- #define REGION2RVAL(obj) (BOXED2RVAL(obj, GDK_TYPE_REGION))
- #define RVAL2DEST(obj) ((PopplerDest *)RVAL2BOXED(obj, POPPLER_TYPE_DEST))
- #define DEST2RVAL(obj) (BOXED2RVAL(obj, POPPLER_TYPE_DEST))
-+#define TRANS2RVAL(obj) (BOXED2RVAL(obj, POPPLER_TYPE_PAGE_TRANSITION))
-+#define RVAL2TRANS(obj) ((PopplerPageTransition *)RVAL2BOXED(obj, 
POPPLER_TYPE_PAGE_TRANSITION))
-+
- #define DESTTYPE2RVAL(obj) (GENUM2RVAL(obj, POPPLER_TYPE_DEST_TYPE))
- #define ACTIONTYPE2RVAL(obj) (GENUM2RVAL(obj, POPPLER_TYPE_ACTION_TYPE))
- #define RVAL2ACTIONTYPE(obj) (RVAL2GENUM(obj, POPPLER_TYPE_ACTION_TYPE))
-+#define SELSTYLE2RVAL(obj) (GENUM2RVAL(obj, POPPLER_TYPE_SELECTION_STYLE))
-+#define RVAL2SELSTYLE(obj) (RVAL2GENUM(obj, POPPLER_TYPE_SELECTION_STYLE))
- #define RVAL2COLOR(obj) ((GdkColor *)RVAL2BOXED(obj, GDK_TYPE_COLOR))
-
- #define ACTION2RVAL(obj) (rb_poppler_ruby_object_from_action(obj))
- #define RVAL2ACTION(obj) (rb_poppler_action_from_ruby_object(obj))
-+#define FF2RVAL(obj) (rb_poppler_ruby_object_from_form_field(obj))
-
- extern VALUE rb_poppler_ruby_object_from_action(PopplerAction *action);
- extern PopplerAction *rb_poppler_action_from_ruby_object(VALUE action);
-+#if POPPLER_CHECK_VERSION(0, 5, 9)
-+extern VALUE rb_poppler_ruby_object_from_form_field(PopplerFormField *field);
-+#endif
-+
-+#define RVAL2GDK_PIXBUF(pixbuf) (GDK_PIXBUF(RVAL2GOBJ(pixbuf)))
-
-
- extern void Init_poppler_document(VALUE mPoppler);
---- ruby-gnome2-all-0.16.0/poppler/src/rbpoppler-page.c.newpoppler     
2006-12-29 22:17:28.000000000 +0900
-+++ ruby-gnome2-all-0.16.0/poppler/src/rbpoppler-page.c        2008-03-20 
14:32:40.000000000 +0900
-@@ -4,7 +4,7 @@
-   rbpoppler-page.c -
-
-   $Author: ktou $
--  $Date: 2006/09/06 02:25:35 $
-+  $Date: 2007/09/08 15:06:45 $
-
-   Copyright (C) 2006 Ruby-GNOME2 Project Team
-
-@@ -12,16 +12,39 @@
-
- #include "rbpoppler.h"
-
-+#define SELF(self) (POPPLER_PAGE(RVAL2GOBJ(self)))
- #define RVAL2LM(obj) ((PopplerLinkMapping *)RVAL2BOXED(obj, 
POPPLER_TYPE_LINK_MAPPING))
-+#define RVAL2IM(obj) ((PopplerImageMapping *)RVAL2BOXED(obj, 
POPPLER_TYPE_IMAGE_MAPPING))
-+#define RVAL2FFM(obj) ((PopplerFormFieldMapping *)RVAL2BOXED(obj, 
POPPLER_TYPE_FORM_FIELD_MAPPING))
-+#define RVAL2FF(obj) (POPPLER_FORM_FIELD(RVAL2GOBJ(obj)))
-+#define RVAL2TF(obj) RVAL2FF(obj)
-+#define RVAL2BF(obj) RVAL2FF(obj)
-+#define RVAL2CF(obj) RVAL2FF(obj)
-+
-+#define TT2RVAL(obj) (GENUM2RVAL(obj, POPPLER_TYPE_PAGE_TRANSITION_TYPE))
-+#define RVAL2TT(obj) (RVAL2GENUM(obj, POPPLER_TYPE_PAGE_TRANSITION_TYPE))
-+#define TA2RVAL(obj) (GENUM2RVAL(obj, POPPLER_TYPE_PAGE_TRANSITION_ALIGNMENT))
-+#define RVAL2TA(obj) (RVAL2GENUM(obj, POPPLER_TYPE_PAGE_TRANSITION_ALIGNMENT))
-+#define TD2RVAL(obj) (GENUM2RVAL(obj, POPPLER_TYPE_PAGE_TRANSITION_DIRECTION))
-+#define RVAL2TD(obj) (RVAL2GENUM(obj, POPPLER_TYPE_PAGE_TRANSITION_DIRECTION))
-+#define FFT2RVAL(obj) (GENUM2RVAL(obj, POPPLER_TYPE_FORM_FIELD_TYPE))
-+#define RVAL2FFT(obj) (RVAL2GENUM(obj, POPPLER_TYPE_FORM_FIELD_TYPE))
-+#define FBT2RVAL(obj) (GENUM2RVAL(obj, POPPLER_TYPE_FORM_BUTTON_TYPE))
-+#define FTT2RVAL(obj) (GENUM2RVAL(obj, POPPLER_TYPE_FORM_TEXT_TYPE))
-+#define FCT2RVAL(obj) (GENUM2RVAL(obj, POPPLER_TYPE_FORM_CHOICE_TYPE))
-
--static VALUE cPSFile;
-+static VALUE cPSFile, cRectangle;
-+
-+#if POPPLER_CHECK_VERSION(0, 5, 9)
-+VALUE cUnknownField, cTextField, cButtonField, cChoiceField, cSignatureField;
-+#endif
-
- static VALUE
- page_render_to_pixbuf(VALUE self, VALUE src_x, VALUE src_y, VALUE src_width,
-                       VALUE src_height, VALUE scale, VALUE rotation,
-                       VALUE pixbuf)
- {
--    poppler_page_render_to_pixbuf(RVAL2GOBJ(self), NUM2INT(src_x),
-+    poppler_page_render_to_pixbuf(SELF(self), NUM2INT(src_x),
-                                   NUM2INT(src_y), NUM2INT(src_width),
-                                   NUM2INT(src_height), NUM2DBL(scale),
-                                   NUM2INT(rotation), RVAL2GOBJ(pixbuf));
-@@ -32,7 +55,7 @@
- static VALUE
- page_render(VALUE self, VALUE cairo)
- {
--    poppler_page_render(RVAL2GOBJ(self), RVAL2CRCONTEXT(cairo));
-+    poppler_page_render(SELF(self), RVAL2CRCONTEXT(cairo));
-     return Qnil;
- }
- #endif
-@@ -40,7 +63,7 @@
- static VALUE
- page_render_to_ps(VALUE self, VALUE ps_file)
- {
--    poppler_page_render_to_ps(RVAL2GOBJ(self), RVAL2GOBJ(ps_file));
-+    poppler_page_render_to_ps(SELF(self), RVAL2GOBJ(ps_file));
-     return Qnil;
- }
-
-@@ -48,7 +71,7 @@
- page_render_generic(int argc, VALUE *argv, VALUE self)
- {
-     if (argc == 1) {
--        if (RTEST(rb_obj_is_kind_of(argv[0], cPSFile))) {
-+        if (RVAL2CBOOL(rb_obj_is_kind_of(argv[0], cPSFile))) {
-             return page_render_to_ps(self, argv[0]);
-         } else {
- #ifdef RB_POPPLER_CAIRO_AVAILABLE
-@@ -70,20 +93,34 @@
- page_get_size(VALUE self)
- {
-     double width, height;
--    poppler_page_get_size(RVAL2GOBJ(self), &width, &height);
-+    poppler_page_get_size(SELF(self), &width, &height);
-     return rb_ary_new3(2, rb_float_new(width), rb_float_new(height));
- }
-
- static VALUE
- page_get_index(VALUE self)
- {
--    return INT2NUM(poppler_page_get_index(RVAL2GOBJ(self)));
-+    return INT2NUM(poppler_page_get_index(SELF(self)));
-+}
-+
-+#if POPPLER_CHECK_VERSION(0, 5, 9)
-+static VALUE
-+page_get_duration(VALUE self)
-+{
-+    return rb_float_new(poppler_page_get_duration(SELF(self)));
- }
-
- static VALUE
-+page_get_transition(VALUE self)
-+{
-+    return TRANS2RVAL(poppler_page_get_transition(SELF(self)));
-+}
-+#endif
-+
-+static VALUE
- page_get_thumbnail(VALUE self)
- {
--    return GOBJ2RVAL(poppler_page_get_thumbnail(RVAL2GOBJ(self)));
-+    return GOBJ2RVAL(poppler_page_get_thumbnail(SELF(self)));
- }
-
- static VALUE
-@@ -91,7 +128,7 @@
- {
-     int width, height;
-
--    if (poppler_page_get_thumbnail_size(RVAL2GOBJ(self), &width, &height))
-+    if (poppler_page_get_thumbnail_size(SELF(self), &width, &height))
-         return rb_ary_new3(2, INT2NUM(width), INT2NUM(height));
-     else
-         return Qnil;
-@@ -100,17 +137,60 @@
- static VALUE
- page_find_text(VALUE self, VALUE text)
- {
--    return GLIST2ARY2F(poppler_page_find_text(RVAL2GOBJ(self), 
RVAL2CSTR(text)),
-+    return GLIST2ARY2F(poppler_page_find_text(SELF(self), RVAL2CSTR(text)),
-                        POPPLER_TYPE_RECTANGLE);
- }
-
- static VALUE
--page_get_text(VALUE self, VALUE rect)
-+page_get_text(int argc, VALUE *argv, VALUE self)
- {
-     gchar *text;
--    VALUE rb_text;
-+#if POPPLER_CHECK_VERSION(0, 5, 9)
-+    PopplerSelectionStyle style = POPPLER_SELECTION_GLYPH;
-+#endif
-+    VALUE rb_text, arg1, arg2, rb_rect;
-+    PopplerPage *page;
-+
-+    rb_scan_args(argc, argv, "02", &arg1, &arg2);
-+
-+    page = SELF(self);
-+    if (NIL_P(arg1)) {
-+        rb_rect = arg2;
-+    } else {
-+        if (RTEST(rb_obj_is_kind_of(arg2, cRectangle))) {
-+            rb_rect = arg2;
-+        } else {
-+            rb_rect = Qnil;
-+#if POPPLER_CHECK_VERSION(0, 5, 9)
-+            if (!NIL_P(arg2)) {
-+                style = RVAL2SELSTYLE(arg2);
-+            }
-+#endif
-+        }
-+    }
-+
-+    if (NIL_P(rb_rect)) {
-+        PopplerRectangle rect;
-+        double width, height;
-+
-+        rect.x1 = 0;
-+        rect.y1 = 0;
-+        poppler_page_get_size(page, &width, &height);
-+        rect.x2 = width;
-+        rect.y2 = height;
-+        text = poppler_page_get_text(page,
-+#if POPPLER_CHECK_VERSION(0, 5, 9)
-+                                     style,
-+#endif
-+                                     &rect);
-+    } else {
-+        text = poppler_page_get_text(page,
-+#if POPPLER_CHECK_VERSION(0, 5, 9)
-+                                     style,
-+#endif
-+                                     RVAL2RECT(rb_rect));
-+    }
-
--    text = poppler_page_get_text(RVAL2GOBJ(self), RVAL2RECT(rect));
-     rb_text = CSTR2RVAL(text);
-     g_free(text);
-     return rb_text;
-@@ -119,15 +199,50 @@
- static VALUE
- page_get_link_mapping(VALUE self)
- {
--    return GLIST2ARY2F(poppler_page_get_link_mapping(RVAL2GOBJ(self)),
-+    return GLIST2ARY2F(poppler_page_get_link_mapping(SELF(self)),
-                        POPPLER_TYPE_LINK_MAPPING);
- }
-
-+#if POPPLER_CHECK_VERSION(0, 5, 9)
-+static VALUE
-+page_get_image_mapping(VALUE self)
-+{
-+    return GLIST2ARY2F(poppler_page_get_image_mapping(SELF(self)),
-+                       POPPLER_TYPE_IMAGE_MAPPING);
-+}
-+
-+static VALUE
-+page_get_form_field_mapping(VALUE self)
-+{
-+    return GLIST2ARY2F(poppler_page_get_form_field_mapping(SELF(self)),
-+                       POPPLER_TYPE_FORM_FIELD_MAPPING);
-+}
-+#endif
-+
- static VALUE
--page_get_selection_region(VALUE self, VALUE scale, VALUE selection)
-+page_get_selection_region(int argc, VALUE *argv, VALUE self)
- {
--    return REGION2RVAL(poppler_page_get_selection_region(RVAL2GOBJ(self),
-+#if POPPLER_CHECK_VERSION(0, 5, 9)
-+    PopplerSelectionStyle style = POPPLER_SELECTION_GLYPH;
-+#endif
-+    VALUE arg2, arg3, scale, selection;
-+
-+    rb_scan_args(argc, argv, "21", &scale, &arg2, &arg3);
-+
-+    if (NIL_P(arg3)) {
-+        selection = arg2;
-+    } else {
-+#if POPPLER_CHECK_VERSION(0, 5, 9)
-+        style = RVAL2SELSTYLE(arg2);
-+#endif
-+        selection = arg3;
-+    }
-+
-+    return REGION2RVAL(poppler_page_get_selection_region(SELF(self),
-                                                          NUM2DBL(scale),
-+#if POPPLER_CHECK_VERSION(0, 5, 9)
-+                                                         style,
-+#endif
-                                                          
RVAL2RECT(selection)));
- }
-
-@@ -136,15 +251,16 @@
- static VALUE
- page_render_selection(VALUE self, VALUE cairo,
-                       VALUE selection, VALUE rb_old_selection,
--                      VALUE glyph_color, VALUE background_color)
-+                      VALUE style, VALUE glyph_color, VALUE background_color)
- {
-     PopplerRectangle *old_selection = NULL;
-
-     if (!NIL_P(rb_old_selection))
-         old_selection = RVAL2RECT(rb_old_selection);
--    poppler_page_render_selection(RVAL2GOBJ(self), RVAL2CRCONTEXT(cairo),
-+    poppler_page_render_selection(SELF(self), RVAL2CRCONTEXT(cairo),
-                                   RVAL2RECT(selection),
-                                   old_selection,
-+                                  RVAL2SELSTYLE(style),
-                                   RVAL2COLOR(glyph_color),
-                                   RVAL2COLOR(background_color));
-     return Qnil;
-@@ -159,17 +275,24 @@
- page_render_selection_to_pixbuf(VALUE self, VALUE scale, VALUE rotation,
-                                 VALUE pixbuf, VALUE selection,
-                                 VALUE rb_old_selection,
-+#ifdef HAVE_POPPLER_PAGE_RENDER_SELECTION_TO_PIXBUF
-+                                VALUE style,
-+#endif
-                                 VALUE glyph_color, VALUE background_color)
- {
-     PopplerRectangle *old_selection = NULL;
-
-     if (!NIL_P(rb_old_selection))
-         old_selection = RVAL2RECT(rb_old_selection);
--    poppler_page_render_selection_to_pixbuf(RVAL2GOBJ(self), NUM2DBL(scale),
-+    poppler_page_render_selection_to_pixbuf(SELF(self),
-+                                            NUM2DBL(scale),
-                                             NUM2INT(rotation),
-                                             RVAL2GOBJ(pixbuf),
-                                             RVAL2RECT(selection),
-                                             old_selection,
-+#ifdef HAVE_POPPLER_PAGE_RENDER_SELECTION_TO_PIXBUF
-+                                            RVAL2SELSTYLE(style),
-+#endif
-                                             RVAL2COLOR(glyph_color),
-                                             RVAL2COLOR(background_color));
-     return Qnil;
-@@ -178,24 +301,86 @@
- static VALUE
- page_render_selection_generic(int argc, VALUE *argv, VALUE self)
- {
--    if (argc == 5) {
-+    if (argc == 6) {
- #if defined(RB_POPPLER_CAIRO_AVAILABLE) && \
-       defined(HAVE_POPPLER_PAGE_RENDER_SELECTION_TO_PIXBUF)
-         return page_render_selection(self, argv[0], argv[1], argv[2],
--                                     argv[3], argv[4]);
-+                                     argv[3], argv[4], argv[5]);
- #else
-         rb_raise(rb_eArgError, "cairo is not available");
- #endif
-+#ifdef HAVE_POPPLER_PAGE_RENDER_SELECTION_TO_PIXBUF
-+    } else if (argc == 8) {
-+        return page_render_selection_to_pixbuf(self, argv[0], argv[1],
-+                                               argv[2], argv[3], argv[4],
-+                                               argv[5], argv[6], argv[7]);
-+#else
-     } else if (argc == 7) {
-         return page_render_selection_to_pixbuf(self, argv[0], argv[1],
-                                                argv[2], argv[3], argv[4],
-                                                argv[5], argv[6]);
-+#endif
-     } else {
-         rb_raise(rb_eArgError,
--                 "wrong number of arguments (%d for 5 or 7)", argc);
-+                 "wrong number of arguments (%d for 5 or %d)", argc,
-+#ifdef HAVE_POPPLER_PAGE_RENDER_SELECTION_TO_PIXBUF
-+                 8
-+#else
-+                 7
-+#endif
-+                );
-     }
- }
-
-+#if POPPLER_CHECK_VERSION(0, 5, 9)
-+static VALUE
-+page_get_crop_box(VALUE self)
-+{
-+    PopplerRectangle rect;
-+
-+    poppler_page_get_crop_box(SELF(self), &rect);
-+    return RECT2RVAL(&rect);
-+}
-+#endif
-+
-+
-+#define DEF_READER(prefix, name, member, self_to_c, member_to_rb)       \
-+static VALUE                                                            \
-+prefix ## _get_ ## name(VALUE self)                                     \
-+{                                                                       \
-+    return member_to_rb((self_to_c(self))->member);                     \
-+}
-+
-+#define DEF_WRITER(prefix, name, member, self_to_c, value_to_c) \
-+static VALUE                                                    \
-+prefix ## _set_ ## name(VALUE self, VALUE value)                \
-+{                                                               \
-+    (self_to_c(self))->member = value_to_c(value);              \
-+    return Qnil;                                                \
-+}
-+
-+#define DEF_WRITER_WITH_SETTER(prefix, name, member,    \
-+                               self_to_c, value_setter) \
-+static VALUE                                            \
-+prefix ## _set_ ## name(VALUE self, VALUE value)        \
-+{                                                       \
-+    value_setter((self_to_c(self))->member, value);     \
-+    return Qnil;                                        \
-+}
-+
-+#define DEF_ACCESSOR(prefix, member, self_to_c, member_to_rb, value_to_c) \
-+    DEF_READER(prefix, member, member, self_to_c, member_to_rb)         \
-+    DEF_WRITER(prefix, member, member, self_to_c, value_to_c)           \
-+
-+#define DEF_ACCESSOR_WITH_SETTER(prefix, member, self_to_c,             \
-+                                 member_to_rb, value_setter)            \
-+    DEF_READER(prefix, member, member, self_to_c, member_to_rb)         \
-+    DEF_WRITER_WITH_SETTER(prefix, member, member, self_to_c, value_setter)
-+
-+#define DEF_ACCESSOR_WITH_NAME(prefix, name, member, self_to_c, \
-+                               member_to_rb, value_to_c)        \
-+    DEF_READER(prefix, name, member, self_to_c, member_to_rb)   \
-+    DEF_WRITER(prefix, name, member, self_to_c, value_to_c)
-
-
- /* A rectangle on a page, with coordinates in PDF points. */
-@@ -213,107 +398,324 @@
-     return Qnil;
- }
-
-+DEF_ACCESSOR(rectangle, x1, RVAL2RECT, rb_float_new, NUM2DBL)
-+DEF_ACCESSOR(rectangle, y1, RVAL2RECT, rb_float_new, NUM2DBL)
-+DEF_ACCESSOR(rectangle, x2, RVAL2RECT, rb_float_new, NUM2DBL)
-+DEF_ACCESSOR(rectangle, y2, RVAL2RECT, rb_float_new, NUM2DBL)
-+
- static VALUE
--rectangle_get_x1(VALUE self)
-+rectangle_to_a(VALUE self)
- {
--    return rb_float_new(RVAL2RECT(self)->x1);
-+    PopplerRectangle *rectangle = RVAL2RECT(self);
-+    return rb_ary_new3(4,
-+                       rb_float_new(rectangle->x1),
-+                       rb_float_new(rectangle->y1),
-+                       rb_float_new(rectangle->x2),
-+                       rb_float_new(rectangle->y2));
- }
-
--static VALUE
--rectangle_get_y1(VALUE self)
-+
-+/* Mapping between areas on the current page and PopplerActions */
-+#define RECT_ENTITY2RVAL(rect) RECT2RVAL(&(rect))
-+#define RECT_ENTITY_SET(rect, rb_rect) rectangle_set(&(rect), rb_rect)
-+static void
-+rectangle_set(PopplerRectangle *rect, VALUE rb_rect)
- {
--    return rb_float_new(RVAL2RECT(self)->y1);
-+    *rect = *(RVAL2RECT(rb_rect));
- }
-
--static VALUE
--rectangle_get_x2(VALUE self)
-+DEF_ACCESSOR_WITH_SETTER(link_mapping, area,
-+                         RVAL2LM, RECT_ENTITY2RVAL, RECT_ENTITY_SET)
-+DEF_ACCESSOR(link_mapping, action, RVAL2LM, ACTION2RVAL, RVAL2ACTION)
-+
-+#if POPPLER_CHECK_VERSION(0, 5, 9)
-+
-+/* Page Transition */
-+DEF_ACCESSOR(page_trans, type, RVAL2TRANS, RVAL2TT, TT2RVAL)
-+DEF_ACCESSOR(page_trans, alignment, RVAL2TRANS, RVAL2TA, TA2RVAL)
-+DEF_ACCESSOR(page_trans, direction, RVAL2TRANS, RVAL2TD, TD2RVAL)
-+DEF_ACCESSOR(page_trans, duration, RVAL2TRANS, NUM2INT, INT2NUM)
-+DEF_ACCESSOR(page_trans, angle, RVAL2TRANS, NUM2INT, INT2NUM)
-+DEF_ACCESSOR(page_trans, scale, RVAL2TRANS, NUM2DBL, rb_float_new)
-+DEF_ACCESSOR(page_trans, rectangular, RVAL2TRANS, RVAL2CBOOL, CBOOL2RVAL)
-+
-+
-+/* Mapping between areas on the current page and images */
-+DEF_ACCESSOR_WITH_SETTER(image_mapping, area,
-+                         RVAL2IM, RECT_ENTITY2RVAL, RECT_ENTITY_SET)
-+#if POPPLER_CHECK_VERSION(0, 7, 2)
-+DEF_ACCESSOR(image_mapping, image_id, RVAL2IM, NUM2INT, INT2NUM)
-+#else
-+DEF_ACCESSOR(image_mapping, image, RVAL2IM, GOBJ2RVAL, RVAL2GDK_PIXBUF)
-+#endif
-+
-+
-+/* Mapping between areas on the current page and form fields */
-+VALUE
-+rb_poppler_ruby_object_from_form_field(PopplerFormField *field)
-+{
-+    VALUE obj;
-+
-+    obj = rbgobj_ruby_object_from_instance2(field, FALSE);
-+    if (NIL_P(obj)) {
-+      switch (poppler_form_field_get_field_type(field)) {
-+        case POPPLER_FORM_FIELD_UNKNOWN:
-+          obj = rbgobj_create_object(cUnknownField);
-+          break;
-+        case POPPLER_FORM_FIELD_BUTTON:
-+          obj = rbgobj_create_object(cButtonField);
-+          break;
-+        case POPPLER_FORM_FIELD_TEXT:
-+          obj = rbgobj_create_object(cTextField);
-+          break;
-+        case POPPLER_FORM_FIELD_CHOICE:
-+          obj = rbgobj_create_object(cChoiceField);
-+          break;
-+        case POPPLER_FORM_FIELD_SIGNATURE:
-+          obj = rbgobj_create_object(cSignatureField);
-+          break;
-+      }
-+      g_object_ref(field);
-+      G_INITIALIZE(obj, (gpointer)field);
-+    }
-+
-+    return obj;
-+}
-+
-+DEF_ACCESSOR_WITH_SETTER(form_field_mapping, area,
-+                         RVAL2FFM, RECT_ENTITY2RVAL, RECT_ENTITY_SET)
-+DEF_ACCESSOR(form_field_mapping, field, RVAL2FFM, FF2RVAL, RVAL2FF)
-+
-+/* FormField */
-+VALUE
-+form_field_get_id(VALUE self)
- {
--    return rb_float_new(RVAL2RECT(self)->x2);
-+    return INT2NUM(poppler_form_field_get_id(RVAL2FF(self)));
- }
-
--static VALUE
--rectangle_get_y2(VALUE self)
-+VALUE
-+form_field_get_font_size(VALUE self)
- {
--    return rb_float_new(RVAL2RECT(self)->y2);
-+    return rb_float_new(poppler_form_field_get_font_size(RVAL2FF(self)));
- }
-
-+VALUE
-+form_field_is_read_only(VALUE self)
-+{
-+    return CBOOL2RVAL(poppler_form_field_is_read_only(RVAL2FF(self)));
-+}
-
--static VALUE
--rectangle_set_x1(VALUE self, VALUE x1)
-+/* Button Field */
-+VALUE
-+button_field_get_button_type(VALUE self)
- {
--    RVAL2RECT(self)->x1 = NUM2DBL(x1);
-+    return FBT2RVAL(poppler_form_field_button_get_button_type(RVAL2FF(self)));
-+}
-+
-+VALUE
-+button_field_get_state(VALUE self)
-+{
-+    return CBOOL2RVAL(poppler_form_field_button_get_state(RVAL2BF(self)));
-+}
-+
-+VALUE
-+button_field_set_state(VALUE self, VALUE state)
-+{
-+    poppler_form_field_button_set_state(RVAL2BF(self), RVAL2CBOOL(state));
-     return Qnil;
- }
-
--static VALUE
--rectangle_set_y1(VALUE self, VALUE y1)
-+/* Text Field */
-+VALUE
-+text_field_get_text_type(VALUE self)
- {
--    RVAL2RECT(self)->y1 = NUM2DBL(y1);
-+    return FTT2RVAL(poppler_form_field_text_get_text_type(RVAL2TF(self)));
-+}
-+
-+VALUE
-+text_field_get_text(VALUE self)
-+{
-+    return CSTR2RVAL(poppler_form_field_text_get_text(RVAL2TF(self)));
-+}
-+
-+VALUE
-+text_field_set_text(VALUE self, VALUE text)
-+{
-+    poppler_form_field_text_set_text(RVAL2TF(self), RVAL2CSTR2(text));
-     return Qnil;
- }
-
--static VALUE
--rectangle_set_x2(VALUE self, VALUE x2)
-+VALUE
-+text_field_get_max_length(VALUE self)
-+{
-+    return INT2NUM(poppler_form_field_text_get_max_len(RVAL2TF(self)));
-+}
-+
-+VALUE
-+text_field_do_spell_check(VALUE self)
-+{
-+    return CBOOL2RVAL(poppler_form_field_text_do_spell_check(RVAL2TF(self)));
-+}
-+
-+VALUE
-+text_field_do_scroll(VALUE self)
-+{
-+    return CBOOL2RVAL(poppler_form_field_text_do_scroll(RVAL2TF(self)));
-+}
-+
-+VALUE
-+text_field_is_rich_text(VALUE self)
-+{
-+    return CBOOL2RVAL(poppler_form_field_text_is_rich_text(RVAL2TF(self)));
-+}
-+
-+VALUE
-+text_field_is_password(VALUE self)
-+{
-+    return CBOOL2RVAL(poppler_form_field_text_is_password(RVAL2TF(self)));
-+}
-+
-+
-+/* Choice Field */
-+VALUE
-+choice_field_get_choice_type(VALUE self)
-+{
-+    return FCT2RVAL(poppler_form_field_choice_get_choice_type(RVAL2CF(self)));
-+}
-+
-+VALUE
-+choice_field_is_editable(VALUE self)
-+{
-+    return CBOOL2RVAL(poppler_form_field_choice_is_editable(RVAL2CF(self)));
-+}
-+
-+VALUE
-+choice_field_can_select_multiple(VALUE self)
-+{
-+    return 
CBOOL2RVAL(poppler_form_field_choice_can_select_multiple(RVAL2CF(self)));
-+}
-+
-+VALUE
-+choice_field_do_spell_check(VALUE self)
-+{
-+    return 
CBOOL2RVAL(poppler_form_field_choice_do_spell_check(RVAL2CF(self)));
-+}
-+
-+VALUE
-+choice_field_commit_on_change(VALUE self)
-+{
-+    return 
CBOOL2RVAL(poppler_form_field_choice_commit_on_change(RVAL2CF(self)));
-+}
-+
-+VALUE
-+choice_field_get_n_items(VALUE self)
-+{
-+    return INT2NUM(poppler_form_field_choice_get_n_items(RVAL2CF(self)));
-+}
-+
-+VALUE
-+choice_field_get_item(VALUE self, VALUE index)
-+{
-+    return CSTR2RVAL(poppler_form_field_choice_get_item(RVAL2CF(self),
-+                                                        NUM2INT(index)));
-+}
-+
-+VALUE
-+choice_field_is_item_selected(VALUE self, VALUE index)
-+{
-+    return 
CBOOL2RVAL(poppler_form_field_choice_is_item_selected(RVAL2CF(self),
-+                                                                 
NUM2INT(index)));
-+}
-+
-+VALUE
-+choice_field_select_item(VALUE self, VALUE index)
- {
--    RVAL2RECT(self)->x2 = NUM2DBL(x2);
-+    poppler_form_field_choice_select_item(RVAL2CF(self), NUM2INT(index));
-     return Qnil;
- }
-
--static VALUE
--rectangle_set_y2(VALUE self, VALUE y2)
-+VALUE
-+choice_field_unselect_all(VALUE self)
- {
--    RVAL2RECT(self)->y2 = NUM2DBL(y2);
-+    poppler_form_field_choice_unselect_all(RVAL2CF(self));
-     return Qnil;
- }
-
--static VALUE
--rectangle_to_a(VALUE self)
-+VALUE
-+choice_field_toggle_item(VALUE self, VALUE index)
- {
--    PopplerRectangle *rectangle = RVAL2RECT(self);
--    return rb_ary_new3(4,
--                       rb_float_new(rectangle->x1),
--                       rb_float_new(rectangle->y1),
--                       rb_float_new(rectangle->x2),
--                       rb_float_new(rectangle->y2));
-+    poppler_form_field_choice_toggle_item(RVAL2CF(self), NUM2INT(index));
-+    return Qnil;
- }
-
--
--/* Mapping between areas on the current page and PopplerActions */
--static VALUE
--link_mapping_get_area(VALUE self)
-+VALUE
-+choice_field_set_text(VALUE self, VALUE text)
- {
--    return RECT2RVAL(&(RVAL2LM(self)->area));
-+    poppler_form_field_choice_set_text(RVAL2CF(self), RVAL2CSTR2(text));
-+    return Qnil;
- }
-
--static VALUE
--link_mapping_get_action(VALUE self)
-+VALUE
-+choice_field_get_text(VALUE self)
- {
--    return ACTION2RVAL(RVAL2LM(self)->action);
-+    return CSTR2RVAL(poppler_form_field_choice_get_text(RVAL2CF(self)));
- }
-+#endif
-
- void
- Init_poppler_page(VALUE mPoppler)
- {
--    VALUE cPage, cRectangle, cLinkMapping;
-+    VALUE cPage, cLinkMapping;
-+#if POPPLER_CHECK_VERSION(0, 5, 9)
-+    VALUE cPageTransition, cImageMapping, cFormFieldMapping, cFormField;
-+#endif
-
-     cPage = G_DEF_CLASS(POPPLER_TYPE_PAGE, "Page", mPoppler);
-     cRectangle = G_DEF_CLASS(POPPLER_TYPE_RECTANGLE, "Rectangle", mPoppler);
-     cLinkMapping = G_DEF_CLASS(POPPLER_TYPE_LINK_MAPPING, "LinkMapping",
-                                mPoppler);
-+#if POPPLER_CHECK_VERSION(0, 5, 9)
-+    cPageTransition = G_DEF_CLASS(POPPLER_TYPE_PAGE_TRANSITION,
-+                                  "PageTransition", mPoppler);
-+    cImageMapping = G_DEF_CLASS(POPPLER_TYPE_IMAGE_MAPPING,
-+                                "ImageMapping", mPoppler);
-+    cFormFieldMapping = G_DEF_CLASS(POPPLER_TYPE_FORM_FIELD_MAPPING,
-+                                    "FormFieldMapping", mPoppler);
-+
-+    cFormField = G_DEF_CLASS(POPPLER_TYPE_FORM_FIELD, "FormField", mPoppler);
-+    cUnknownField = rb_define_class_under(mPoppler, "UnknownField", 
cFormField);
-+    cTextField = rb_define_class_under(mPoppler, "TextField", cFormField);
-+    cButtonField = rb_define_class_under(mPoppler, "ButtonField", cFormField);
-+    cChoiceField = rb_define_class_under(mPoppler, "ChoiceField", cFormField);
-+    cSignatureField = rb_define_class_under(mPoppler, "SignatureField",
-+                                            cFormField);
-+#endif
-     cPSFile = rb_const_get(mPoppler, rb_intern("PSFile"));
-
-     rb_define_method(cPage, "render", page_render_generic, -1);
-     rb_define_method(cPage, "size", page_get_size, 0);
-     rb_define_method(cPage, "index", page_get_index, 0);
-+#if POPPLER_CHECK_VERSION(0, 5, 9)
-+    rb_define_method(cPage, "duration", page_get_duration, 0);
-+    rb_define_method(cPage, "transition", page_get_transition, 0);
-+#endif
-     rb_define_method(cPage, "thumbnail", page_get_thumbnail, 0);
-     rb_define_method(cPage, "thumbnail_size", page_get_thumbnail_size, 0);
-     rb_define_method(cPage, "find_text", page_find_text, 1);
--    rb_define_method(cPage, "get_text", page_get_text, 1);
-+    rb_define_method(cPage, "get_text", page_get_text, -1);
-     rb_define_method(cPage, "link_mapping", page_get_link_mapping, 0);
-+#if POPPLER_CHECK_VERSION(0, 5, 9)
-+    rb_define_method(cPage, "image_mapping", page_get_image_mapping, 0);
-+    rb_define_method(cPage, "form_field_mapping",
-+                     page_get_form_field_mapping, 0);
-+#endif
-     rb_define_method(cPage, "get_selection_region",
--                     page_get_selection_region, 2);
-+                     page_get_selection_region, -1);
-     rb_define_method(cPage, "render_selection",
-                      page_render_selection_generic, -1);
-+#if POPPLER_CHECK_VERSION(0, 5, 9)
-+    rb_define_method(cPage, "crop_box", page_get_crop_box, 0);
-+#endif
-
-     G_DEF_SETTERS(cPage);
-
-@@ -335,5 +737,110 @@
-     rb_define_method(cLinkMapping, "area", link_mapping_get_area, 0);
-     rb_define_method(cLinkMapping, "action", link_mapping_get_action, 0);
-
-+    rb_define_method(cLinkMapping, "set_area", link_mapping_set_area, 1);
-+    rb_define_method(cLinkMapping, "set_action", link_mapping_set_action, 1);
-+
-     G_DEF_SETTERS(cLinkMapping);
-+
-+#if POPPLER_CHECK_VERSION(0, 5, 9)
-+/* Page Transition */
-+    rb_define_method(cPageTransition, "type", page_trans_get_type, 0);
-+    rb_define_method(cPageTransition, "alignment", page_trans_get_alignment, 
0);
-+    rb_define_method(cPageTransition, "direction", page_trans_get_direction, 
0);
-+    rb_define_method(cPageTransition, "duration", page_trans_get_duration, 0);
-+    rb_define_method(cPageTransition, "angle", page_trans_get_angle, 0);
-+    rb_define_method(cPageTransition, "scale", page_trans_get_scale, 0);
-+    rb_define_method(cPageTransition, "rectangular",
-+                     page_trans_get_rectangular, 0);
-+
-+    rb_define_method(cPageTransition, "set_type", page_trans_set_type, 1);
-+    rb_define_method(cPageTransition, "set_alignment",
-+                     page_trans_set_alignment, 1);
-+    rb_define_method(cPageTransition, "set_direction",
-+                     page_trans_set_direction, 1);
-+    rb_define_method(cPageTransition, "set_duration",
-+                     page_trans_set_duration, 1);
-+    rb_define_method(cPageTransition, "set_angle", page_trans_set_angle, 1);
-+    rb_define_method(cPageTransition, "set_scale", page_trans_set_scale, 1);
-+    rb_define_method(cPageTransition, "set_rectangular",
-+                     page_trans_set_rectangular, 1);
-+
-+    G_DEF_SETTERS(cPageTransition);
-+
-+
-+/* Mapping between areas on the current page and images */
-+    rb_define_method(cImageMapping, "area", image_mapping_get_area, 0);
-+#if POPPLER_CHECK_VERSION(0, 7, 2)
-+    rb_define_method(cImageMapping, "image_id", image_mapping_get_image_id, 
0);
-+#else
-+    rb_define_method(cImageMapping, "image", image_mapping_get_image, 0);
-+#endif
-+
-+    rb_define_method(cImageMapping, "set_area", image_mapping_set_area, 1);
-+#if POPPLER_CHECK_VERSION(0, 7, 2)
-+    rb_define_method(cImageMapping, "set_image_id", 
image_mapping_set_image_id, 1);
-+#else
-+    rb_define_method(cImageMapping, "set_image", image_mapping_set_image, 1);
-+#endif
-+
-+    G_DEF_SETTERS(cImageMapping);
-+
-+
-+/* Mapping between areas on the current page and form fields */
-+    rb_define_method(cFormFieldMapping, "area", form_field_mapping_get_area, 
0);
-+    rb_define_method(cFormFieldMapping, "field", form_field_mapping_get_field,
-+                     0);
-+
-+    rb_define_method(cFormFieldMapping, "set_area",
-+                     form_field_mapping_set_area, 1);
-+    rb_define_method(cFormFieldMapping, "set_field",
-+                     form_field_mapping_set_field, 1);
-+
-+    G_DEF_SETTERS(cFormFieldMapping);
-+
-+/* FormField */
-+    rb_define_method(cFormField, "id", form_field_get_id, 0);
-+    rb_define_method(cFormField, "font_size", form_field_get_font_size, 0);
-+    rb_define_method(cFormField, "read_only?", form_field_is_read_only, 0);
-+
-+    G_DEF_SETTERS(cFormField);
-+
-+
-+    rb_define_method(cButtonField, "active?", button_field_get_state, 0);
-+    rb_define_method(cButtonField, "set_active", button_field_set_state, 1);
-+
-+    G_DEF_SETTERS(cButtonField);
-+
-+
-+    rb_define_method(cTextField, "type", text_field_get_text_type, 0);
-+    rb_define_method(cTextField, "text", text_field_get_text, 0);
-+    rb_define_method(cTextField, "set_text", text_field_set_text, 1);
-+    rb_define_method(cTextField, "max_length", text_field_get_max_length, 0);
-+    rb_define_method(cTextField, "spell_check?", text_field_do_spell_check, 
0);
-+    rb_define_method(cTextField, "scroll?", text_field_do_scroll, 0);
-+    rb_define_method(cTextField, "rich_text?", text_field_is_rich_text, 0);
-+    rb_define_method(cTextField, "password?", text_field_is_password, 0);
-+
-+    G_DEF_SETTERS(cTextField);
-+
-+
-+    rb_define_method(cChoiceField, "type", choice_field_get_choice_type, 0);
-+    rb_define_method(cChoiceField, "editable?", choice_field_is_editable, 0);
-+    rb_define_method(cChoiceField, "select_multiple?",
-+                     choice_field_can_select_multiple, 0);
-+    rb_define_method(cChoiceField, "spell_check?",
-+                     choice_field_do_spell_check, 0);
-+    rb_define_method(cChoiceField, "commit_on_change?",
-+                     choice_field_commit_on_change, 0);
-+    rb_define_method(cChoiceField, "n_items", choice_field_get_n_items, 0);
-+    rb_define_method(cChoiceField, "[]", choice_field_get_item, 1);
-+    rb_define_method(cChoiceField, "selected?",
-+                     choice_field_is_item_selected, 1);
-+    rb_define_method(cChoiceField, "select", choice_field_select_item, 1);
-+    rb_define_method(cChoiceField, "unselect_all", choice_field_unselect_all, 
0);
-+    rb_define_method(cChoiceField, "text", choice_field_get_text, 0);
-+    rb_define_method(cChoiceField, "set_text", choice_field_set_text, 1);
-+
-+    G_DEF_SETTERS(cChoiceField);
-+#endif
- }
_______________________________________________
Frugalware-git mailing list
Frugalware-git@frugalware.org
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to