mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
edc03a2912
class, are changed to 'private' git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5152 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
30 lines
817 B
Ruby
30 lines
817 B
Ruby
#
|
|
# tkscrollbox.rb - Tk Listbox with Scrollbar
|
|
# as an example of Composite Widget
|
|
# $Date$
|
|
# by Yukihiro Matsumoto <matz@netlab.co.jp>
|
|
|
|
require 'tk.rb'
|
|
|
|
class TkScrollbox<TkListbox
|
|
include TkComposite
|
|
def initialize_composite(keys=nil)
|
|
list = TkListbox.new(@frame)
|
|
scroll = TkScrollbar.new(@frame)
|
|
@path = list.path
|
|
|
|
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'
|
|
|
|
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
|