1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/ext/tk/sample/demos-jp/widget

541 lines
19 KiB
Text
Raw Normal View History

#!/usr/bin/env ruby
# tk <20>ط<EFBFBD><D8B7><EFBFBD>֥<EFBFBD><D6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɤ߹<C9A4><DFB9><EFBFBD>
require 'tk'
require 'tkafter'
# widget demo directory <20><><EFBFBD>֤γ<D6A4><CEB3><EFBFBD>
$demo_dir = File.dirname($0)
# root <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
$root = TkRoot.new{title "Widget Demonstration"}
# tk <20>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>μ<EFBFBD><CEBC><EFBFBD>
$tk_version = Tk::TK_VERSION
# tcl_platform <20><><EFBFBD><EFBFBD><EFBFBD>ؤΥ<D8A4><CEA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֥<EFBFBD><D6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
$tk_platform = TkVarAccess.new('tcl_platform')
# <20>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
$font = TkFont.new('-*-Helvetica-Medium-R-Normal--*-140-*-*-*-*-*-*', nil)
knjfont = '-*-r-*--16-*-jisx0208.1983-0'
$kanji_font = TkFont.new('-*-Helvetica-Medium-R-Normal--*-140-*-*-*-*-*-*',
knjfont)
TkOption.add('*kanjiFont', knjfont, 'startupFile')
$msg_kanji_font = TkFont.new('-*-Helvetica-Medium-R-Normal--*-140-*-*-*-*-*-*',
'-*-r-*--24-*-jisx0208.1983-0')
#######
#case($tk_version)
#when /^4.*/
# $font = '-*-Helvetica-Medium-R-Normal--*-140-*-*-*-*-*-*'
# $kanji_font = '-*--16-*-jisx0208.1983-0'
# $msg_kanji_font = '-*--24-*-jisx0208.1983-0'
# $knjfont_opt = 'kanjifont'
# TkOption.add('*kanjiFont', $kanji_font, 'startupFile')
#
#when /^8.*/
# Tk.tk_call('font', 'create', '@ascii',
# '-copy', '-*-Helvetica-Medium-R-Normal--*-140-*-*-*-*-*-*')
# Tk.tk_call('font', 'create', '@kanji',
# '-copy', '-*--16-*-jisx0208.1983-0')
# Tk.tk_call('font', 'create', '@msg_knj',
# '-copy', '-*--24-*-jisx0208.1983-0')
# Tk.tk_call('font', 'create', '@cFont', '-compound', '@ascii @kanji')
# Tk.tk_call('font', 'create', '@cMsgFont', '-compound', '@ascii @msg_knj')
# $font = '-*-Helvetica-Medium-R-Normal--*-140-*-*-*-*-*-*'
# $kanji_font = '@cFont'
# $msg_kanji_font = '@cMsgFont'
# $knjfont_opt = 'font'
#end
#######
# <20><><EFBFBD>˥塼<CBA5><E5A1BC><EFBFBD><EFBFBD>
TkMenubar.new($root,
[[['File', 0],
['About ... ', proc{aboutBox}, 0, '<F1>'],
'---',
['Quit', proc{exit}, 0, 'Meta-Q']
]]).pack('side'=>'top', 'fill'=>'x')
$root.bind('F1', proc{aboutBox})
=begin
TkFrame.new($root){|frame|
TkMenubutton.new(frame){|button|
m = TkMenu.new(button) {
add 'command', 'label'=>'Quit', 'command'=>proc{exit}, 'underline'=>0
}
menu m
text 'File'
underline 0
}.pack('side'=>'left')
}.pack('side'=>'top', 'fill'=>'x')
=end
# <20>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>ȥܥå<DCA5><C3A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if $tk_version =~ /^4\.[01]/
scr = TkScrollbar.new($root, 'orient'=>'vertical')
txt = TkText.new($root) {
#wrap 'word'
wrap 'char'
width 60
height 30
font $font
setgrid 'yes'
yscrollcommand proc{|first,last| scr.set first,last}
}
scr.command(proc{|*args| txt.yview(*args)})
scr.pack('side'=>'right', 'fill'=>'y')
txt.pack('expand'=>'yes', 'fill'=>'both')
else
textFrame = TkFrame.new($root)
scr = TkScrollbar.new($root, 'orient'=>'vertical',
'highlightthickness'=>0, 'takefocus'=>1) {
pack('in'=>textFrame, 'side'=>'right', 'fill'=>'y', 'padx'=>1)
}
txt = TkText.new($root) {
#wrap 'word'
wrap 'char'
width 60
height 30
font $font
setgrid 'yes'
highlightthickness 0
padx 4
pady 2
takefocus 0
yscrollcommand proc{|first,last| scr.set first,last}
}
scr.command(proc{|*args| txt.yview(*args)})
# txt.pack('in'=>textFrame, 'expand'=>'yes', 'fill'=>'both', 'padx'=>1)
txt.pack('in'=>textFrame, 'expand'=>'yes', 'fill'=>'both')
# textFrame.pack('expand'=>'yes', 'fill'=>'both', 'padx'=>1, 'pady'=>2)
textFrame.pack('expand'=>'yes', 'fill'=>'both')
statusBar = TkFrame.new($root) {|f|
$statusBarLabel = \
TkLabel.new(f, 'text'=>" ", 'relief'=>'sunken', 'bd'=>1, 'anchor'=>'w',
'font'=>'-*-Helvetica-Medium-R-Normal--*-120-*-*-*-*-*-*') \
.pack('side'=>'left', 'padx'=>2, 'expand'=>'yes', 'fill'=>'both')
TkLabel.new(f, 'width'=>8, 'relief'=>'sunken', 'bd'=>1, 'anchor'=>'w',
'font'=>'-*-Helvetica-Medium-R-Normal--*-120-*-*-*-*-*-*') \
.pack('side'=>'left', 'padx'=>2)
}.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>2)
end
# <20>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
tag_title = TkTextTag.new(txt, 'font'=>'-*-Helvetica-Bold-R-Normal--*-180-*-*-*-*-*-*')
tag_kanji_title = TkTextTag.new(txt, 'kanjifont'=>$msg_kanji_font)
tag_middle = TkTextTag.new(txt, 'kanjifont'=>$kanji_font)
tag_demospace = TkTextTag.new(txt, 'lmargin1'=>'1c', 'lmargin2'=>'1c')
if TkWinfo.depth($root) == '1'
tag_demo = TkTextTag.new(txt, 'lmargin1'=>'1c', 'lmargin2'=>'1c',
'underline'=>1)
$tag_visited = TkTextTag.new(txt, 'lmargin1'=>'1c', 'lmargin2'=>'1c',
'underline'=>1)
tag_hot = TkTextTag.new(txt, 'background'=>'black', 'foreground'=>'white')
else
tag_demo = TkTextTag.new(txt, 'lmargin1'=>'1c', 'lmargin2'=>'1c',
'foreground'=>'blue', 'underline'=>1)
$tag_visited = TkTextTag.new(txt, 'lmargin1'=>'1c', 'lmargin2'=>'1c',
'foreground'=>'#303080', 'underline'=>1)
# tag_hot = TkTextTag.new(txt, 'relief'=>'raised', 'borderwidth'=>1,
# 'background'=>'SeaGreen3')
tag_hot = TkTextTag.new(txt, 'borderwidth'=>1, 'foreground'=>'red')
end
#tag_demo.bind('Button-1', proc{invoke txt, txt.index('current')})
tag_demo.bind('ButtonRelease-1',
proc{|x,y|invoke txt, txt.index("@#{x},#{y}")}, '%x %y')
lastLine = TkVariable.new("")
newLine = TkVariable.new("")
tag_demo.bind('Enter', proc{|x,y|
lastLine.value = txt.index("@#{x},#{y} linestart")
tag_hot.add(lastLine.value, "#{lastLine.value} lineend")
showStatus txt, txt.index("@#{x},#{y}")
},
'%x %y')
tag_demo.bind('Leave',
proc{
tag_hot.remove('1.0','end')
txt.configure('cursor','xterm')
$statusBarLabel.configure('text'=>"")
})
tag_demo.bind('Motion', proc{|x, y|
newLine.value = txt.index("@#{x},#{y} linestart")
if newLine.value != lastLine.value
tag_hot.remove('1.0','end')
lastLine.value = newLine.value
if ( txt.tag_names("@#{x},#{y}").find{|t|
t.kind_of?(String) && t =~ /^demo-/
} )
tag_hot.add(lastLine.value,
"#{lastLine.value} lineend -1 chars")
end
end
showStatus txt, txt.index("@#{x},#{y}")
},
'%x %y')
# <20>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
txt.insert('end', 'Ruby/Tk : Widget', tag_title)
#txt.insert('end', " <20>ǥ<EFBFBD><C7A5>󥹥ȥ졼<C8A5><ECA1BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n", tag_middle)
txt.insert('end', " <20>ǥ<EFBFBD><C7A5>󥹥ȥ졼<C8A5><ECA1BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n", tag_kanji_title)
txt.insert('end', <<"EOT")
<EFBFBD><EFBFBD><EFBFBD>Υ<EFBFBD><EFBFBD>ץꥱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϡ<EFBFBD>Tk Widget <20><><EFBFBD>Ѥ<EFBFBD><D1A4>ƤɤΤ<CEA4>ʤ<EFBFBD><CAA4>Ȥ<EFBFBD><C8A4>Ǥ<EFBFBD><C7A4>뤫\
<EFBFBD>򼨤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ρ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĥ<EFBFBD><EFBFBD>ξ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ץȤ<EFBFBD><EFBFBD>Ф<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ե<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɤ<EFBFBD><EFBFBD><EFBFBD>\
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʲ<EFBFBD><EFBFBD>˽<EFBFBD><EFBFBD>֤˵󤲤<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǥ<EFBFBD><EFBFBD>󥹥ȥ졼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¹<EFBFBD>\
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤϥޥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>å<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǥ<EFBFBD><EFBFBD>󥹥ȥ졼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Υ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\
<EFBFBD>ɥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>ǥ<EFBFBD><EFBFBD>󥹥ȥ졼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ruby/Tk <20>Υ<EFBFBD><CEA5><EFBFBD><EFBFBD>ɤ<EFBFBD><C9A4><EFBFBD>\
<EFBFBD>뤿<EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD>"<22><><EFBFBD><EFBFBD><EFBFBD>ɻ<EFBFBD><C9BB><EFBFBD>"<22>ܥ<EFBFBD><DCA5><EFBFBD><EFBFBD>򥯥<EFBFBD><F2A5AFA5>å<EFBFBD><C3A5><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4>Ǥ<EFBFBD><C7A4>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><CAA4><EFBFBD>\
˾<EFBFBD><EFBFBD><EFBFBD>ʤ顢<EFBFBD><EFBFBD><EFBFBD>Υ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɤǥǥ<EFBFBD>\
<EFBFBD>󥹥ȥ졼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƽ¹Ԥ<EFBFBD><EFBFBD>뤿<EFBFBD><EFBFBD><EFBFBD>ˤϡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɤ<EFBFBD><EFBFBD>񤫤줿<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɥ<EFBFBD><EFBFBD><EFBFBD>\
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"<22>ǥ<EFBFBD><C7A5>Ƽ¹<C6BC>" <20>ܥ<EFBFBD><DCA5><EFBFBD><EFBFBD>򥯥<EFBFBD><F2A5AFA5>å<EFBFBD><C3A5><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Υǥ<EFBFBD><EFBFBD>Ǥϡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ū<EFBFBD>Ƕ<EFBFBD><EFBFBD>ΥС<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Tk <20>Ǥʤ<C7A4><CAA4><EFBFBD><EFBFBD>Х<EFBFBD><D0A5>ݡ<EFBFBD><DDA1>Ȥ<EFBFBD><C8A4><EFBFBD>\
<EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD><EFBFBD>ǽ<EFBFBD><EFBFBD><EFBFBD>ȤäƼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD>ޤ<EFBFBD>(<28><EFBFBD><E3A4A8> Tk8.4 <20>ʾ<EFBFBD><CABE>ʤ<EFBFBD>)<29><><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD><CEA4>ᡤ\
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD> Tk <20><EFBFBD>֥<EFBFBD><D6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȤäƤ<C3A4><C6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤϡ<CBA4><CFA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\
<EFBFBD>ǥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD>󡥤<EFBFBD><EFBFBD>Τ<EFBFBD>ʵ<EFBFBD>ǽ<EFBFBD><EFBFBD>ɬ<EFBFBD>פǤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򥵥ݡ<EFBFBD><EFBFBD><EFBFBD>\
<EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD> Tk <20><EFBFBD>֥<EFBFBD><D6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD>ˡ<EFBFBD>tcltklib <20>򥳥<EFBFBD><F2A5B3A5>ѥ<EFBFBD><D1A5><EFBFBD>ʤ<EFBFBD><CAA4><EFBFBD><EFBFBD><EFBFBD>\
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
EOT
#txt.insert('end',"<22><><EFBFBD>٥<EFBFBD>, <20>ܥ<EFBFBD><DCA5><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD>å<EFBFBD><C3A5>ܥ<EFBFBD><DCA5><EFBFBD>, <20><EFBFBD><E9A5B8><EFBFBD>ܥ<EFBFBD><DCA5><EFBFBD>\n",tag_middle)
txt.insert('end', "<22><><EFBFBD>٥<EFBFBD>, <20>ܥ<EFBFBD><DCA5><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD>å<EFBFBD><C3A5>ܥ<EFBFBD><DCA5><EFBFBD>, <20><EFBFBD><E9A5B8><EFBFBD>ܥ<EFBFBD><DCA5><EFBFBD>\n",
tag_kanji_title)
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "1. <20><><EFBFBD>٥<EFBFBD> (<28>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD>, <20>ӥåȥޥå<DEA5>)\n",
tag_demo, "demo-label")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "2. <20>ܥ<EFBFBD><DCA5><EFBFBD> \n", tag_demo, "demo-button")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "3. <20><><EFBFBD><EFBFBD><EFBFBD>å<EFBFBD><C3A5>ܥ<EFBFBD><DCA5><EFBFBD><><CAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǽ)\n",
tag_demo, "demo-check")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "4. <20><EFBFBD><E9A5B8><EFBFBD>ܥ<EFBFBD><DCA5><EFBFBD><>դΰ<D5A4><CEB0>Ĥ<EFBFBD><C4A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǽ)\n",
tag_demo, "demo-radio")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "5. <20><EFBFBD><E9A5B8><EFBFBD>ܥ<EFBFBD><DCA5><EFBFBD> (<28><>ǽ<EFBFBD><C7BD><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Tk<54><6B>ɬ<EFBFBD><C9AC>)\n",
tag_demo, "demo-radio2")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "6. <20>ܥ<EFBFBD><DCA5><EFBFBD><EFBFBD>Ǻ<EFBFBD><C7BA><EFBFBD><EFBFBD>줿15-<2D>ѥ<EFBFBD><D1A5><EFBFBD><EBA5B2><EFBFBD><EFBFBD>\n",
tag_demo, "demo-puzzle")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "7. <20>ӥåȥޥåפ<C3A5><D7A4><EFBFBD><EFBFBD>Ѥ<EFBFBD><D1A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܥ<EFBFBD><DCA5><EFBFBD>\n",
tag_demo, "demo-icon")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "8. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĤΥ<C4A4><CEA5>٥<EFBFBD>\n",
tag_demo, "demo-image1")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "9. <20><><EFBFBD><EFBFBD><EFBFBD>򸫤뤿<F2B8ABA4><EBA4BF><EFBFBD>δ<EFBFBD>ñ<EFBFBD>ʥ桼<CAA5><E6A1BC><EFBFBD><EFBFBD><EFBFBD>󥿡<EFBFBD><F3A5BFA1>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD>\n",
tag_demo, "demo-image2")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "10. <20><><EFBFBD><EFBFBD><EFBFBD>򸫤뤿<F2B8ABA4><EBA4BF><EFBFBD>δ<EFBFBD>ñ<EFBFBD>ʥ桼<CAA5><E6A1BC><EFBFBD><EFBFBD><EFBFBD>󥿡<EFBFBD><F3A5BFA1>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD> (<28><>ǽ<EFBFBD><C7BD><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Tk<54><6B>ɬ<EFBFBD><C9AC>)\n",
tag_demo, "demo-image3")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "11. <20><><EFBFBD>٥<EFBFBD><D9A5>դ<EFBFBD><D5A4>ե졼<D5A5><ECA1BC> (<28><>ǽ<EFBFBD><C7BD><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Tk<54><6B>ɬ<EFBFBD><C9AC>)\n",
tag_demo, "demo-labelframe")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "\n")
#txt.insert('end', "<22><EFBFBD>ȥܥå<DCA5><C3A5><EFBFBD>\n", tag_middle)
txt.insert('end', "<22><EFBFBD>ȥܥå<DCA5><C3A5><EFBFBD>\n", tag_kanji_title)
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "1. <20><>ƻ<EFBFBD>ܸ<EFBFBD>.\n", tag_demo, "demo-states")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "2. <20><>: <20><><EFBFBD>ץꥱ<D7A5><EAA5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD><CEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۿ<EFBFBD><DBBF><EFBFBD><EFBFBD>Ѥ<EFBFBD><D1A4><EFBFBD>\n",
"#{tag_demo.id} demo-colors")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "3. <20>ʸ<EFBFBD><CAB8><EFBFBD>\n", tag_demo, "demo-sayings")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "\n")
#txt.insert('end', "<22><><EFBFBD><EFBFBD><EFBFBD>ȥ<EFBFBD><C8A5>ȥ<EFBFBD><C8A5>ԥ<EFBFBD><D4A5>ܥå<DCA5><C3A5><EFBFBD>\n", tag_middle)
txt.insert('end', "<22><><EFBFBD><EFBFBD><EFBFBD>ȥ<EFBFBD>\n", tag_kanji_title)
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "1. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1>ʤ<EFBFBD>\n", tag_demo, "demo-entry1")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "2. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD>\n", tag_demo, "demo-entry2")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "3. ǧ<>ڽ<EFBFBD><DABD><EFBFBD><EFBFBD>դ<EFBFBD><D5A4>Υ<EFBFBD><CEA5><EFBFBD><EFBFBD>ȥ<EFBFBD><C8A5>ܥå<DCA5><C3A5><EFBFBD><EFBFBD>ȥѥ<C8A5><D1A5><EFBFBD>ɥե<C9A5><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><>ǽ<EFBFBD><C7BD><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Tk<54><6B>ɬ<EFBFBD><C9AC>)\n",
tag_demo, "demo-entry3")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "4. <20><><EFBFBD>ԥ<EFBFBD><D4A5>ܥå<DCA5><C3A5><EFBFBD> (<28><>ǽ<EFBFBD><C7BD><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Tk<54><6B>ɬ<EFBFBD><C9AC>)\n",
tag_demo, "demo-spin")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "5. <20><>ñ<EFBFBD>ʥե<CAA5><D5A5><EFBFBD><EFBFBD><EFBFBD>\n", tag_demo, "demo-form")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "\n")
#txt.insert('end', "<22>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD>\n", tag_middle)
txt.insert('end', "<22>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD>\n", tag_kanji_title)
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "1. <20><><EFBFBD><EFBFBD>Ū<EFBFBD>ʥƥ<CAA5><C6A5><EFBFBD><EFBFBD><EFBFBD>\n", tag_demo, "demo-text")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "2. ɽ<><C9BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.\n", tag_demo, "demo-style")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "3. <20>ϥ<EFBFBD><CFA5>ѡ<EFBFBD><D1A1>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD>Х<EFBFBD><D0A5><EFBFBD><EFBFBD><EFBFBD>).\n",
tag_demo, "demo-bind")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "4. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɥ<EFBFBD><C9A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD>\n",
tag_demo, "demo-twind")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "5. <20><><EFBFBD><EFBFBD>\n", tag_demo, "demo-search")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "\n")
#txt.insert('end', "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Х<EFBFBD>\n", tag_middle)
txt.insert('end', "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Х<EFBFBD>\n", tag_kanji_title)
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "1. <20><><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5>η<EFBFBD>\n", tag_demo, "demo-items")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "2. 2 <20><><EFBFBD><EFBFBD><EFBFBD>Υץ<CEA5><D7A5>å<EFBFBD>\n", tag_demo, "demo-plot")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "3. <20>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD>\n", tag_demo, "demo-ctext")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "4. <20><><EFBFBD><EFBFBD><EFBFBD>η<EFBFBD>\n", tag_demo, "demo-arrow")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "5. <20><EFBFBD>顼\n", tag_demo, "demo-ruler")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "6. <20>ե<EFBFBD><D5A5><EFBFBD><EFBFBD>ץ<EFBFBD><D7A5><EFBFBD>\n", tag_demo, "demo-floor")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "7. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǽ<EFBFBD>ʥ<EFBFBD><CAA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Х<EFBFBD>\n",
tag_demo, "demo-cscroll")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "\n")
#txt.insert('end', "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n", tag_middle)
txt.insert('end', "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n", tag_kanji_title)
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "1. <20><>ľ\n", tag_demo.id, "demo-vscale")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "2. <20><>ʿ\n", tag_demo.id, "demo-hscale")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "\n")
txt.insert('end', "<22>ڥ<EFBFBD><DAA5><EFBFBD><EFBFBD>ɥ<EFBFBD><C9A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɥ<EFBFBD>\n", tag_kanji_title)
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "1. <20><>ʿ<EFBFBD><CABF><EFBFBD><EFBFBD> (<28><>ǽ<EFBFBD><C7BD><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Tk<54><6B>ɬ<EFBFBD><C9AC>)\n",
tag_demo.id, "demo-paned1")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "2. <20><>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD> (<28><>ǽ<EFBFBD><C7BD><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Tk<54><6B>ɬ<EFBFBD><C9AC>)\n",
tag_demo.id, "demo-paned2")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "\n")
#txt.insert('end', "<22><><EFBFBD>˥塼\n", tag_middle)
txt.insert('end', "<22><><EFBFBD>˥塼\n", tag_kanji_title)
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "1. <20><><EFBFBD>˥塼<CBA5>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɤ<EFBFBD><C9A4>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɥ<EFBFBD>\n",
tag_demo, "demo-menu")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "2. <20><><EFBFBD>˥塼<CBA5>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɤ<EFBFBD><C9A4>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɥ<EFBFBD> (Tk8.x <20><><EFBFBD><EFBFBD>)\n",
tag_demo, "demo-menu8x")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "3. <20><> (<28><>ǽ<EFBFBD><C7BD><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Tk<54><6B>ɬ<EFBFBD><C9AC>)\n",
tag_demo, "demo-menu84")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "4. <20><><EFBFBD>˥塼<CBA5>ܥ<EFBFBD><DCA5><EFBFBD> (Tk8.x <20><><EFBFBD><EFBFBD>)\n",
tag_demo, "demo-menubu")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "\n")
#txt.insert('end', "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɥ<EFBFBD>\n", tag_middle)
txt.insert('end', "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɥ<EFBFBD>\n", tag_kanji_title)
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "1. <20><><EFBFBD>å<EFBFBD><C3A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܥå<DCA5><C3A5><EFBFBD>\n", tag_demo, "demo-msgbox")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "2. <20>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n", tag_demo, "demo-filebox")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "3. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n", tag_demo, "demo-clrpick")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "\n")
#txt.insert('end', "<22><><EFBFBD><EFBFBD>¾\n", tag_middle)
txt.insert('end', "<22><><EFBFBD><EFBFBD>¾\n", tag_kanji_title)
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "1. <20>Ȥ߹<C8A4><DFB9>ߤΥӥåȥޥå<DEA5>\n", tag_demo, "demo-bitmap")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "2. <20><EFBFBD><E2A1BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBA5B0><EFBFBD><EFBFBD>)\n",
tag_demo, "demo-dialog1")
txt.insert('end', " \n ", tag_demospace)
txt.insert('end', "3. <20><EFBFBD><E2A1BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Х<D0A5><EBA5B0><EFBFBD><EFBFBD>)\n",
tag_demo, "demo-dialog2")
txt.insert('end', " \n ", tag_demospace)
txt.state('disabled')
scr.focus
################################
# method <20><><EFBFBD><EFBFBD>
################################
def positionWindow(w)
w.geometry('+300+300')
end
# <20>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>åȤȡ<C8A4><C8A1>ѿ<EFBFBD>̾<EFBFBD><CCBE> TkVariable <20>Ȥ<EFBFBD><C8A4><EFBFBD>(<28><><EFBFBD><EFBFBD>)<29><><EFBFBD>¤Ӥ<C2A4><D3A4>Ϥ<EFBFBD>
$showVarsWin = {}
def showVars (parent, *args)
if $showVarsWin[parent.path]
begin
$showVarsWin[parent.path].destroy
rescue
end
end
w = TkToplevel.new(parent) {|w|
title "Variable values"
TkLabel.new(w) {
text "<22>ѿ<EFBFBD><D1BF><EFBFBD>:"
width 20
anchor 'center'
font '-Adobe-helvetica-medium-r-normal--*-180-*-*-*-*-*-*'
}.pack('side'=>'top', 'fill'=>'x')
len = 1
args.each{|vnam,vbody|
len = vnam.to_s.length if vnam.to_s.length > len
}
args.each{|vnam,vbody|
TkFrame.new(w){|f|
#TkLabel.new(f, 'text'=>"#{vnam}: ").pack('side'=>'left')
TkLabel.new(f, 'text'=>"#{vnam}: ",'width'=>len+2).pack('side'=>'left')
TkLabel.new(f, 'textvariable'=>vbody, 'anchor'=>'w')\
.pack('side'=>'left', 'expand'=>'yes', 'fill'=>'x')
}.pack('side'=>'top', 'anchor'=>'w', 'fill'=>'x')
}
TkButton.new(w) {
text "λ<><CEBB>"
command proc{w.destroy}
}.pack('side'=>'bottom', 'pady'=>2)
}
$showVarsWin[parent.path] = w
end
# <20>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>Ⱦ<EFBFBD><C8BE>Ǥ<EFBFBD> click <20><><EFBFBD>Ф<EFBFBD><D0A4><EFBFBD>ư<EFBFBD><C6B0>
def invoke (txt, index)
tag = txt.tag_names(index).find{|t| t.kind_of?(String) && t =~ /^demo-/}
return unless tag
cursor = txt.cget('cursor')
txt.cursor('watch')
Tk.update
# eval `cat #{tag[5..-1]}.rb`
eval `cat #{[$demo_dir, tag[5..-1]].join(File::Separator)}.rb`
Tk.update
# txt.cursor('xterm')
txt.cursor(cursor)
$tag_visited.add("#{index} linestart +1 chars", "#{index} lineend +1 chars")
end
# <20><><EFBFBD><EFBFBD>ɽ<EFBFBD><C9BD>
def showStatus (txt, index)
tag = txt.tag_names(index).find{|t| t.kind_of?(String) && t =~ /^demo-/}
cursor = txt.cget('cursor')
unless tag
$statusBarLabel.configure('text', " ")
newcursor = 'xterm'
else
demoname = tag[5..-1]
$statusBarLabel.configure('text',
"<22><><EFBFBD><EFBFBD><EFBFBD>ץ<EFBFBD><D7A5>ץ<EFBFBD><D7A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \"#{demoname}\" <20>μ¹<CEBC> ")
newcursor = 'hand2'
end
txt.configure('cursor'=>newcursor) if cursor != newcursor
end
# <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɤ<EFBFBD>ɽ<EFBFBD><C9BD>
def showCode (demo)
file = "#{demo}.rb"
$code_window = nil unless defined? $code_window
if $code_window == nil || TkWinfo.exist?($code_window) == '0'
$code_window = TkToplevel.new(nil)
f = TkFrame.new($code_window)
TkButton.new(f) {
text "λ<><CEBB>"
command proc{
$code_window.destroy
$code_window = nil
}
}.pack('side'=>'left', 'expand'=>'yes', 'pady'=>2)
TkButton.new(f) {
text "<22>Ƽ¹<C6BC>"
command proc{eval($code_text.get('1.0','end'))}
}.pack('side'=>'left', 'expand'=>'yes', 'pady'=>2)
# f.pack('side'=>'bottom', 'expand'=>'yes', 'fill'=>'x')
f.pack('side'=>'bottom', 'fill'=>'x')
if $tk_version =~ /^4\.[01]/
s = TkScrollbar.new($code_window, 'orient'=>'vertical')
$code_text = TkText.new($code_window) {
height 40
setgrid 'yes'
yscrollcommand proc{|first,last| s.set first,last}
}
s.command(proc{|*args| $code_text.yview(*args)})
s.pack('side'=>'right', 'fill'=>'y')
$code_text.pack('side'=>'left', 'expand'=>'yes', 'fill'=>'both')
else
TkFrame.new($code_window) {|f|
pack('expand'=>'yes', 'fill'=>'both', 'padx'=>1, 'pady'=>1)
hs = TkScrollbar.new($code_window, 'highlightthickness'=>0,
'orient'=>'horizontal')
vs = TkScrollbar.new($code_window, 'highlightthickness'=>0,
'orient'=>'vertical')
$code_text = TkText.new($code_window) {|t|
height 40
#wrap 'word'
wrap 'char'
xscrollcommand proc{|first,last| hs.set first,last}
yscrollcommand proc{|first,last| vs.set first,last}
setgrid 'yes'
highlightthickness 0
pady 2
padx 3
hs.command(proc{|*args| $code_text.xview(*args)})
vs.command(proc{|*args| $code_text.yview(*args)})
}
$code_text.grid('in'=>f, 'padx'=>1, 'pady'=>1, 'row'=>0, 'column'=>0,
'rowspan'=>1, 'columnspan'=>1, 'sticky'=>'news')
vs.grid('in'=>f, 'padx'=>1, 'pady'=>1, 'row'=>0, 'column'=>1,
'rowspan'=>1, 'columnspan'=>1, 'sticky'=>'news')
# xs.grid('in'=>f, 'padx'=>1, 'pady'=>1, 'row'=>1, 'column'=>0,
# 'rowspan'=>1, 'columnspan'=>1, 'sticky'=>'news')
TkGrid.rowconfigure(f, 0, 'weight'=>1, 'minsize'=>0)
TkGrid.columnconfigure(f, 0, 'weight'=>1, 'minsize'=>0)
}
end
else
$code_window.deiconify
$code_window.raise
end
$code_window.title("Demo code: #{file}")
$code_window.iconname(file)
# fid = open(file, 'r')
fid = open([$demo_dir, file].join(File::Separator), 'r')
$code_text.delete('1.0', 'end')
#$code_text.insert('1.0', `cat #{file}`)
$code_text.insert('1.0', fid.read)
#$code_mark = TkTextMark.new($code_text, '1.0')
#$code_text.set_insert('1.0')
TkTextMarkInsert.new($code_text,'1.0')
fid.close
end
# aboutBox
#
# Pops up a message box with an "about" message
#
def aboutBox
Tk.messageBox('icon'=>'info', 'type'=>'ok', 'title'=>'About Widget Demo',
'message'=>"Ruby/Tk <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>åȥǥ<C8A5> Ver.1.3.2-jp\n\n( based on Tk <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>åȥǥ<C8A5> :: Copyright (c) 1996-1997 Sun Microsystems, Inc. )\n\nRunning Version :: Ruby#{VERSION}/Tk#{$tk_version}#{(Tk::JAPANIZED_TK)? 'jp': ''}")
end
################################
# <20><><EFBFBD>٥<EFBFBD><D9A5><EFBFBD><EFBFBD>Ԥ<EFBFBD><D4A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Tk.mainloop