summaryrefslogtreecommitdiff
path: root/ruby_1_8_6/ext/tk/lib/tk/scrollbox.rb
diff options
context:
space:
mode:
Diffstat (limited to 'ruby_1_8_6/ext/tk/lib/tk/scrollbox.rb')
-rw-r--r--ruby_1_8_6/ext/tk/lib/tk/scrollbox.rb36
1 files changed, 36 insertions, 0 deletions
diff --git a/ruby_1_8_6/ext/tk/lib/tk/scrollbox.rb b/ruby_1_8_6/ext/tk/lib/tk/scrollbox.rb
new file mode 100644
index 0000000000..fd04057fb6
--- /dev/null
+++ b/ruby_1_8_6/ext/tk/lib/tk/scrollbox.rb
@@ -0,0 +1,36 @@
+#
+# tk/scrollbox.rb - Tk Listbox with Scrollbar
+# as an example of Composite Widget
+# $Date$
+# 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