mirror of
https://github.com/ruby/ruby.git
synced 2025-08-15 13:39:04 +02:00

string. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14912 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
35 lines
1,005 B
Ruby
35 lines
1,005 B
Ruby
#
|
|
# tk/scrollbox.rb - Tk Listbox with Scrollbar
|
|
# as an example of Composite Widget
|
|
# by Yukihiro Matsumoto <matz@netlab.co.jp>
|
|
#
|
|
require 'tk'
|
|
require 'tk/listbox'
|
|
|
|
class TkScrollbox<TkListbox
|
|
include TkComposite
|
|
def initialize_composite(keys=nil)
|
|
list = TkListbox.new(@frame)
|
|
scroll = TkScrollbar.new(@frame)
|
|
@path = list.path
|
|
|
|
=begin
|
|
list.configure 'yscroll', scroll.path+" set"
|
|
list.pack 'side'=>'left','fill'=>'both','expand'=>'yes'
|
|
scroll.configure 'command', list.path+" yview"
|
|
scroll.pack 'side'=>'right','fill'=>'y'
|
|
=end
|
|
list.yscrollbar(scroll)
|
|
list.pack('side'=>'left','fill'=>'both','expand'=>'yes')
|
|
scroll.pack('side'=>'right','fill'=>'y')
|
|
|
|
delegate('DEFAULT', list)
|
|
delegate('foreground', list)
|
|
delegate('background', list, scroll)
|
|
delegate('borderwidth', @frame)
|
|
delegate('relief', @frame)
|
|
|
|
configure keys if keys
|
|
end
|
|
private :initialize_composite
|
|
end
|