mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
README.EXT.jp
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/v1_1r@205 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
dde6b7dd06
commit
22f9db2795
2 changed files with 76 additions and 2 deletions
|
@ -120,8 +120,8 @@ ruby.h
|
||||||
|
|
||||||
例えば,文字列strの長さを得るためには「RSTRING(str)->len」と
|
例えば,文字列strの長さを得るためには「RSTRING(str)->len」と
|
||||||
し,文字列strをchar*として得るためには「RSTRING(str)->ptr」
|
し,文字列strをchar*として得るためには「RSTRING(str)->ptr」
|
||||||
とします.配列の場合には,それぞれ「RARRAT(str)->len」,
|
とします.配列の場合には,それぞれ「RARRAY(str)->len」,
|
||||||
「RARRAT(str)->ptr」となります.
|
「RARRAY(str)->ptr」となります.
|
||||||
|
|
||||||
rubyの構造体を直接アクセスする時に気をつけなければならないこ
|
rubyの構造体を直接アクセスする時に気をつけなければならないこ
|
||||||
とは,配列や文字列の構造体の中身は参照するだけで,直接変更し
|
とは,配列や文字列の構造体の中身は参照するだけで,直接変更し
|
||||||
|
|
74
ext/gtk/teste.rb
Normal file
74
ext/gtk/teste.rb
Normal file
|
@ -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()
|
Loading…
Add table
Add a link
Reference in a new issue