summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>1998-05-12 08:36:46 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>1998-05-12 08:36:46 +0000
commit22f9db2795acb6c0434dda9e963cf7066a426f5f (patch)
treee1f20ab984a71dfe4589a75b0aee890c6360b377
parentdde6b7dd06268221b3e6931ca7582b2da7b52403 (diff)
README.EXT.jp
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/v1_1r@205 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--README.EXT.jp4
-rw-r--r--ext/gtk/teste.rb74
2 files changed, 76 insertions, 2 deletions
diff --git a/README.EXT.jp b/README.EXT.jp
index 1f7b1a7ce4..2ad397dde3 100644
--- a/README.EXT.jp
+++ b/README.EXT.jp
@@ -120,8 +120,8 @@ ruby.hでは構造体へキャストするマクロも「RXXXXX()」(全部大文
例えば,文字列strの長さを得るためには「RSTRING(str)->len」と
し,文字列strをchar*として得るためには「RSTRING(str)->ptr」
-とします.配列の場合には,それぞれ「RARRAT(str)->len」,
-「RARRAT(str)->ptr」となります.
+とします.配列の場合には,それぞれ「RARRAY(str)->len」,
+「RARRAY(str)->ptr」となります.
rubyの構造体を直接アクセスする時に気をつけなければならないこ
とは,配列や文字列の構造体の中身は参照するだけで,直接変更し
diff --git a/ext/gtk/teste.rb b/ext/gtk/teste.rb
new file mode 100644
index 0000000000..b5a6a2a941
--- /dev/null
+++ b/ext/gtk/teste.rb
@@ -0,0 +1,74 @@
+require 'gtk'
+
+Gtk::RC::parse_string <<EOS
+style "default"
+{
+ fontset = "-adobe-helvetica-medium-r-normal--*-120-*-*-*-*-*-*,*"
+}
+widget_class "*" style "default"
+EOS
+
+window = Gtk::Window::new(Gtk::WINDOW_TOPLEVEL)
+window.set_title("entry")
+window.border_width(0)
+
+box1 = Gtk::VBox::new(FALSE, 0)
+window.add(box1)
+box1.show
+
+box2 = Gtk::VBox::new(FALSE, 10)
+box2.border_width(10)
+box1.pack_start(box2, TRUE, TRUE, 0)
+box2.show
+
+entry = Gtk::Entry::new()
+entry.set_text("hello world")
+entry.select_region(0, -1)
+box2.pack_start(entry, TRUE, TRUE, 0)
+entry.show
+
+cb = Gtk::Combo::new()
+cb.set_popdown_strings(["item0",
+ "item1 item1",
+ "item2 item2 item2",
+ "item3 item3 item3 item3",
+ "item4 item4 item4 item4 item4",
+ "item5 item5 item5 item5 item5 item5",
+ "item6 item6 item6 item6 item6",
+ "item7 item7 item7 item7",
+ "item8 item8 item8",
+ "item9 item9"])
+cb.entry.set_text("hello world")
+cb.entry.select_region(0, -1)
+box2.pack_start(cb, TRUE, TRUE, 0)
+cb.show
+
+check = Gtk::CheckButton::new("Editable")
+box2.pack_start(check, FALSE, TRUE, 0)
+check.signal_connect("toggled") do
+ entry.set_editable(check.active)
+end
+check.set_state(false)
+check.show
+
+separator = Gtk::HSeparator::new()
+box1.pack_start(separator, FALSE, TRUE, 0)
+separator.show
+
+box2 = Gtk::VBox::new(FALSE, 10)
+box2.border_width(10)
+box1.pack_start(box2, FALSE, TRUE, 0)
+box2.show
+
+button = Gtk::Button::new("close")
+button.signal_connect("clicked") do
+ window.destroy
+ exit
+end
+box2.pack_start(button, TRUE, TRUE, 0)
+button.set_flags(Gtk::CAN_DEFAULT);
+button.grab_default
+button.show
+window.show
+
+Gtk::main()