藤本です。

From: matz / netlab.co.jp (Yukihiro Matsumoto)
Subject: [ruby-list:7745] ruby-gtk 0.06 (Re:  Re: How to install beta versions)
Date: Mon, 27 Apr 1998 19:12:43 +0900

> まつもと ゆきひろです
> 
> |その他にもちょっといじったので0.06をリリースします.
> 
> 今リリースしました.お試し下さい.

  使ってみました。CPU timeの方もばっちり改善されてますね \(^^)/。

  Gtk::Entryで使いたいメソッドがなかったので、Entryのメソッドで足りな
い分を書き足してみました。よろしければお使いください。

=============================================================
 藤本尚邦  FUJIMOTO Hisakuni                hisa / imasy.or.jp
=============================================================

--- gtk.c.orig	Mon Apr 27 19:07:36 1998
+++ gtk.c	Mon Apr 27 21:46:54 1998
@@ -4584,2 +4584,52 @@
 static VALUE
+entry_append_text(self, text)
+    VALUE self, text;
+{
+    gtk_entry_append_text(GTK_ENTRY(get_widget(self)), STR2CSTR(text));
+    return self;
+}
+
+static VALUE
+entry_prepend_text(self, text)
+    VALUE self, text;
+{
+    gtk_entry_prepend_text(GTK_ENTRY(get_widget(self)), STR2CSTR(text));
+    return self;
+}
+
+static VALUE
+entry_set_position(self, position)
+    VALUE self, position;
+{
+    gtk_entry_set_position(GTK_ENTRY(get_widget(self)), NUM2INT(position));
+    return self;
+}
+
+static VALUE
+entry_get_text(self)
+    VALUE self;
+{
+    gchar* text;
+    text = gtk_entry_get_text(GTK_ENTRY(get_widget(self)));
+    return str_new2(text);
+}
+
+static VALUE
+entry_select_region(self, start, end)
+    VALUE self, start, end;
+{
+    gtk_entry_select_region(GTK_ENTRY(get_widget(self)), 
+			    NUM2INT(start), NUM2INT(end));
+    return self;
+}
+
+static VALUE
+entry_set_visibility(self, visibility)
+    VALUE self, visibility;
+{
+    gtk_entry_set_visibility(GTK_ENTRY(get_widget(self)), RTEST(visibility));
+    return self;
+}
+
+static VALUE
 entry_set_editable(self, editable)
@@ -4592,2 +4642,10 @@
 static VALUE
+entry_set_max_length(self, max)
+    VALUE self, max;
+{
+    gtk_entry_set_max_length(GTK_ENTRY(get_widget(self)), NUM2INT(max));
+    return self;
+}
+
+static VALUE
 eventbox_initialize(self)
@@ -6253,3 +6311,10 @@
     rb_define_method(gEntry, "set_text", entry_set_text, 1);
+    rb_define_method(gEntry, "append_text", entry_append_text, 1);
+    rb_define_method(gEntry, "prepend_text", entry_prepend_text, 1);
+    rb_define_method(gEntry, "set_position", entry_set_position, 1);
+    rb_define_method(gEntry, "get_text", entry_get_text, 0);
+    rb_define_method(gEntry, "select_region", entry_select_region, 2);
+    rb_define_method(gEntry, "set_visibility", entry_set_visibility, 1);
     rb_define_method(gEntry, "set_editable", entry_set_editable, 1);
+    rb_define_method(gEntry, "set_max_length", entry_set_max_length, 1);