mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
61 lines
1.4 KiB
Ruby
61 lines
1.4 KiB
Ruby
|
## image1.rb
|
||
|
#
|
||
|
# This demonstration script displays two image widgets.
|
||
|
#
|
||
|
# two image widgets demo (called by 'widget')
|
||
|
#
|
||
|
|
||
|
# toplevel widget
|
||
|
if defined?($image1_demo) && $image1_demo
|
||
|
$image1_demo.destroy
|
||
|
$image1_demo = nil
|
||
|
end
|
||
|
|
||
|
# demo toplevel widget
|
||
|
$image1_demo = TkToplevel.new {|w|
|
||
|
title('Image Demonstration #1')
|
||
|
iconname("Image1")
|
||
|
positionWindow(w)
|
||
|
}
|
||
|
|
||
|
# label
|
||
|
msg = TkLabel.new($image1_demo) {
|
||
|
font $font
|
||
|
wraplength '4i'
|
||
|
justify 'left'
|
||
|
text "This demonstration displays two images, each in a separate label widget."
|
||
|
}
|
||
|
msg.pack('side'=>'top')
|
||
|
|
||
|
# frame
|
||
|
TkFrame.new($image1_demo) {|frame|
|
||
|
TkButton.new(frame) {
|
||
|
text 'Dismiss'
|
||
|
command proc{
|
||
|
tmppath = $image1_demo
|
||
|
$image1_demo = nil
|
||
|
tmppath.destroy
|
||
|
}
|
||
|
}.pack('side'=>'left', 'expand'=>'yes')
|
||
|
|
||
|
TkButton.new(frame) {
|
||
|
text 'Show Code'
|
||
|
command proc{showCode 'image1'}
|
||
|
}.pack('side'=>'left', 'expand'=>'yes')
|
||
|
|
||
|
}.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m')
|
||
|
|
||
|
# image
|
||
|
image1a = \
|
||
|
TkPhotoImage.new('file'=>[$demo_dir,
|
||
|
'images','earth.gif'].join(File::Separator))
|
||
|
image1b = \
|
||
|
TkPhotoImage.new('file'=>[$demo_dir,
|
||
|
'images','earthris.gif'].join(File::Separator))
|
||
|
|
||
|
# label
|
||
|
[ TkLabel.new($image1_demo, 'image'=>image1a, 'bd'=>1, 'relief'=>'sunken'),
|
||
|
TkLabel.new($image1_demo, 'image'=>image1b, 'bd'=>1, 'relief'=>'sunken')
|
||
|
].each{|w| w.pack('side'=>'top', 'padx'=>'.5m', 'pady'=>'.5m')}
|
||
|
|