mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00

* ext/tk/lib/tk.rb: better operation for SIGINT when processing callbacks. * ext/tk/lib/tk/msgcat.rb: ditto. * ext/tk/lib/tk/variable.rb: ditto. * ext/tk/lib/tk/timer.rb: ditto. * ext/tk/lib/tk/validation.rb: add Tk::ValidateConfigure.__def_validcmd() to define validatecommand methods easier * ext/tk/lib/tk.rb (_genobj_for_tkwidget): support autoload Tk ext classes * ext/tk/lib/tk/canvas.rb and so on: remove the parent widget type check for items (e.g. canvas items; depends on the class) to avoid some troubles on Tk extension widget class definition. * ext/tk/lib/tkextlib/: add Iwidget and TkTable extension support * ext/tk/sample/tkextlib/: add samples of Iwidget and TkTable git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6630 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
30 lines
889 B
Ruby
30 lines
889 B
Ruby
#!/usr/bin/env ruby
|
|
require 'tk'
|
|
require 'tkextlib/iwidgets'
|
|
|
|
# Create the tabnotebook widget and pack it.
|
|
nb = Tk::Iwidgets::Notebook.new(:width=>100, :height=>100)
|
|
nb.pack(:anchor=>:nw, :fill=>:both, :expand=>true,
|
|
:side=>:top, :padx=>10, :pady=>0)
|
|
|
|
# Add two pages to the tabnotebook,
|
|
# labelled "Page One" and "Page Two"
|
|
nb.add(:label=>'Page One')
|
|
nb.add(:label=>'Page Two')
|
|
|
|
# Get the child site frames of these two pages.
|
|
page1CS = nb.child_site(0)
|
|
page2CS = nb.child_site('Page Two')
|
|
|
|
# Create buttons on each page of the tabnotebook.
|
|
TkButton.new(page1CS, :text=>'Button One').pack
|
|
TkButton.new(page2CS, :text=>'Button Two').pack
|
|
|
|
# Select the first page of the tabnotebook.
|
|
nb.select(0)
|
|
|
|
# Create the scrollbar and associate teh scrollbar
|
|
# and the notebook together, then pack the scrollbar
|
|
nb.xscrollbar(TkScrollbar.new).pack(:fill=>:x, :expand=>true, :padx=>10)
|
|
|
|
Tk.mainloop
|