diff --git a/swig/ruby/yui.gemspec.in b/swig/ruby/yui.gemspec.in index 2bfb3c0..ec564a1 100644 --- a/swig/ruby/yui.gemspec.in +++ b/swig/ruby/yui.gemspec.in @@ -1,4 +1,8 @@ # -*- encoding: utf-8 -*- +if RUBY_VERSION =~ /1.9/ + Encoding.default_external = Encoding::UTF_8 + Encoding.default_internal = Encoding::UTF_8 +end Gem::Specification.new do |s| s.name = "yui" diff --git a/swig/yui.i b/swig/yui.i index 8c07f25..bb7a687 100644 --- a/swig/yui.i +++ b/swig/yui.i @@ -58,6 +58,7 @@ SWIGEXPORT void Init__yui(void) { #include "yui/YFrame.h" #include "yui/YImage.h" #include "yui/YInputField.h" +#include "yui/YItem.h" #include "yui/YLogView.h" #include "yui/YMacro.h" #include "yui/YMacroPlayer.h" @@ -122,6 +123,7 @@ class intrusive_ptr { %include "exception.i" %include "std_string.i" %include "std_list.i" +%include "std_vector.i" #if defined(SWIGPERL5) /* %include "std/std_set.i" # doesn't compile ?! */ @@ -252,6 +254,13 @@ class Exception; } #endif +namespace std { + %template(YItemCollection) vector<YItem *>; +} + +using namespace std; +typedef std::vector<YItem *> YItemCollection; + %extend YWidget { #if defined(SWIGPERL5) int __eq__( YWidget *w )