diff options
Diffstat (limited to 'ext/tk/sample/demos-jp')
60 files changed, 307 insertions, 62 deletions
diff --git a/ext/tk/sample/demos-jp/anilabel.rb b/ext/tk/sample/demos-jp/anilabel.rb index 97781fbe77..c6e5c7385b 100644 --- a/ext/tk/sample/demos-jp/anilabel.rb +++ b/ext/tk/sample/demos-jp/anilabel.rb @@ -1,3 +1,4 @@ +# -*- coding: euc-jp -*- # # animated label widget demo (called by 'widget') # diff --git a/ext/tk/sample/demos-jp/aniwave.rb b/ext/tk/sample/demos-jp/aniwave.rb index 81e2d76b30..5f94add111 100644 --- a/ext/tk/sample/demos-jp/aniwave.rb +++ b/ext/tk/sample/demos-jp/aniwave.rb @@ -1,3 +1,4 @@ +# -*- coding: euc-jp -*- # # animated wave demo (called by 'widget') # diff --git a/ext/tk/sample/demos-jp/arrow.rb b/ext/tk/sample/demos-jp/arrow.rb index 477a0abf6f..b2c1067027 100644 --- a/ext/tk/sample/demos-jp/arrow.rb +++ b/ext/tk/sample/demos-jp/arrow.rb @@ -1,3 +1,4 @@ +# -*- coding: euc-jp -*- # # arrowhead widget demo (called by 'widget') # @@ -73,11 +74,19 @@ def arrowSetup(c) 'arrow'=>'both', 'arrowshape'=>v.smallTips) TkcText.new(c, v.x2-5*v.b, tmp+5, 'text'=>v.b, 'anchor'=>'n') - TkcText.new(c, v.x1, 310, 'text'=>"'width'=>#{v.width}", 'anchor'=>'w', - 'font'=>'-*-Helvetica-Medium-R-Normal--*-180-*-*-*-*-*-*') - TkcText.new(c, v.x1, 330, - 'text'=>"'arrowshape'=>[#{v.a}, #{v.b}, #{v.c}]", 'anchor'=>'w', - 'font'=>'-*-Helvetica-Medium-R-Normal--*-180-*-*-*-*-*-*') + if $tk_version =~ /^4.*/ + TkcText.new(c, v.x1, 310, 'text'=>"'width'=>#{v.width}", 'anchor'=>'w', + 'font'=>'-*-Helvetica-Medium-R-Normal--*-180-*-*-*-*-*-*') + TkcText.new(c, v.x1, 330, + 'text'=>"'arrowshape'=>[#{v.a}, #{v.b}, #{v.c}]",'anchor'=>'w', + 'font'=>'-*-Helvetica-Medium-R-Normal--*-180-*-*-*-*-*-*') + else + TkcText.new(c, v.x1, 310, 'text'=>"'width'=>#{v.width}", 'anchor'=>'w', + 'font'=>'Helvetica 18') + TkcText.new(c, v.x1, 330, + 'text'=>"'arrowshape'=>[#{v.a}, #{v.b}, #{v.c}]", + 'anchor'=>'w', 'font'=>'Helvetica 18') + end v.count += 1 end diff --git a/ext/tk/sample/demos-jp/bind.rb b/ext/tk/sample/demos-jp/bind.rb index 4f9235cfa6..3b6f6242c2 100644 --- a/ext/tk/sample/demos-jp/bind.rb +++ b/ext/tk/sample/demos-jp/bind.rb @@ -1,3 +1,4 @@ +# -*- coding: euc-jp -*- # # text (tag bindings) widget demo (called by 'widget') # @@ -40,11 +41,11 @@ def tag_binding_for_bind_demo(tag, enter_style, leave_style) end # text 生成 -TkText.new($bind_demo){|t| +txt = TkText.new($bind_demo){|t| # 生成 setgrid 'true' - width 60 - height 24 + #width 60 + #height 24 font $font wrap 'word' TkScrollbar.new($bind_demo) {|s| @@ -117,3 +118,6 @@ TkText.new($bind_demo){|t| TkTextMarkInsert.new(t, '0.0') configure('state','disabled') } + +txt.width 60 +txt.width 24 diff --git a/ext/tk/sample/demos-jp/bitmap.rb b/ext/tk/sample/demos-jp/bitmap.rb index b71c67d3fd..4594892c81 100644 --- a/ext/tk/sample/demos-jp/bitmap.rb +++ b/ext/tk/sample/demos-jp/bitmap.rb @@ -1,3 +1,4 @@ +# -*- coding: euc-jp -*- # # bitmap widget demo (called by 'widget') # diff --git a/ext/tk/sample/demos-jp/button.rb b/ext/tk/sample/demos-jp/button.rb index 20f8cae299..7e9457f5b4 100644 --- a/ext/tk/sample/demos-jp/button.rb +++ b/ext/tk/sample/demos-jp/button.rb @@ -1,3 +1,4 @@ +# -*- coding: euc-jp -*- # # button widget demo (called by 'widget') # diff --git a/ext/tk/sample/demos-jp/check.rb b/ext/tk/sample/demos-jp/check.rb index be675b9042..7545df80fa 100644 --- a/ext/tk/sample/demos-jp/check.rb +++ b/ext/tk/sample/demos-jp/check.rb @@ -1,3 +1,4 @@ +# -*- coding: euc-jp -*- # # checkbutton widget demo (called by 'widget') # diff --git a/ext/tk/sample/demos-jp/check2.rb b/ext/tk/sample/demos-jp/check2.rb index f681a4d684..90c6dd736f 100644 --- a/ext/tk/sample/demos-jp/check2.rb +++ b/ext/tk/sample/demos-jp/check2.rb @@ -1,3 +1,4 @@ +# -*- coding: euc-jp -*- # # checkbutton widget demo2 (called by 'widget') # diff --git a/ext/tk/sample/demos-jp/clrpick.rb b/ext/tk/sample/demos-jp/clrpick.rb index de8cd80fcd..d81ecebc83 100644 --- a/ext/tk/sample/demos-jp/clrpick.rb +++ b/ext/tk/sample/demos-jp/clrpick.rb @@ -1,3 +1,4 @@ +# -*- coding: euc-jp -*- # # widget demo prompts the user to select a color (called by 'widget') # diff --git a/ext/tk/sample/demos-jp/colors.rb b/ext/tk/sample/demos-jp/colors.rb index c6128f9c00..68b40e69f0 100644 --- a/ext/tk/sample/demos-jp/colors.rb +++ b/ext/tk/sample/demos-jp/colors.rb @@ -1,3 +1,4 @@ +# -*- coding: euc-jp -*- # # listbox widget demo 'colors' (called by 'widget') # diff --git a/ext/tk/sample/demos-jp/cscroll.rb b/ext/tk/sample/demos-jp/cscroll.rb index 0d6db69af6..0be26133c5 100644 --- a/ext/tk/sample/demos-jp/cscroll.rb +++ b/ext/tk/sample/demos-jp/cscroll.rb @@ -1,3 +1,4 @@ +# -*- coding: euc-jp -*- # # simple scrollable canvas widget demo (called by 'widget') # diff --git a/ext/tk/sample/demos-jp/ctext.rb b/ext/tk/sample/demos-jp/ctext.rb index 66e1fe8107..f5daf7ca05 100644 --- a/ext/tk/sample/demos-jp/ctext.rb +++ b/ext/tk/sample/demos-jp/ctext.rb @@ -1,3 +1,4 @@ +# -*- coding: euc-jp -*- # # Canvas Text widget demo (called by 'widget') # @@ -52,19 +53,28 @@ $ctext_canvas = TkCanvas.new($ctext_demo, 'relief'=>'flat', $ctext_canvas.pack('side'=>'top', 'expand'=>'yes', 'fill'=>'both') # font 設定 -textFont = '-*-Helvetica-Medium-R-Normal--*-240-*-*-*-*-*-*' +if $tk_version =~ /^4.*/ + textFont = '-*-Helvetica-Medium-R-Normal--*-240-*-*-*-*-*-*' +else + textFont = 'Helvetica 24' +end # canvas 設定 TkcRectangle.new($ctext_canvas, 245, 195, 255, 205, 'outline'=>'black', 'fill'=>'red') +ctag_text_param = { + 'text'=>"これはキャンバスwidgetのテキスト機能をデモするための文字列です。\n上で述べたような編集を可能とするためのバインディングを施しています。", + 'width'=>440, 'anchor'=>'n', 'justify'=>'left' +} +if $tk_version =~ /^4.*/ + ctag_text_param['font'] = '-*-Helvetica-Medium-R-Normal--*-240-*-*-*-*-*-*' + ctag_text_param['kanjifont'] = '-*-r-*--24-*-jisx0208.1983-0' +else + ctag_text_param['font'] = 'Helvetica 24' +end $ctag_text = TkcTag.new($ctext_canvas) -$ctag_text.withtag(TkcText.new($ctext_canvas, 250, 200, - 'text'=>"これはキャンバスwidgetのテキスト機能をデモするための文字列です。\n上で述べたような編集を可能とするためのバインディングを施しています。", - 'width'=>440, 'anchor'=>'n', - 'font'=>'-*-Helvetica-Medium-R-Normal--*-240-*-*-*-*-*-*', - 'kanjifont'=>'-*-r-*--24-*-jisx0208.1983-0', - 'justify'=>'left') ) +$ctag_text.withtag(TkcText.new($ctext_canvas, 250, 200, ctag_text_param)) $ctag_text.bind('1', proc{|x,y| textB1Press $ctext_canvas,x,y}, "%x %y") $ctag_text.bind('B1-Motion', proc{|x,y| textB1Move $ctext_canvas,x,y}, "%x %y") @@ -106,9 +116,14 @@ mkTextConfig $ctext_canvas, x+60, y+60, 'anchor', 'nw', color item = TkcRectangle.new($ctext_canvas, x+40, y+40, x+50, y+50, 'outline'=>'black', 'fill'=>'red') item.bind('1', proc{$ctag_text.configure 'anchor', 'center'}) -TkcText.new($ctext_canvas, x+45, y-5, 'text'=>'Text Position', 'anchor'=>'s', - 'font'=>'-*-times-medium-r-normal--*-240-*-*-*-*-*-*', - 'fill'=>'brown') +if $tk_version =~ /^4.*/ + TkcText.new($ctext_canvas, x+45, y-5, 'text'=>'Text Position', + 'font'=>'-*-times-medium-r-normal--*-240-*-*-*-*-*-*', + 'anchor'=>'s', 'fill'=>'brown') +else + TkcText.new($ctext_canvas, x+45, y-5, 'text'=>'Text Position', + 'font'=>'Times 24', 'anchor'=>'s', 'fill'=>'brown') +end # Lastly, create some items that allow the text's justification to be # changed. @@ -119,9 +134,14 @@ color = 'SeaGreen2' mkTextConfig $ctext_canvas, x, y, 'justify', 'left', color mkTextConfig $ctext_canvas, x+30, y, 'justify', 'center', color mkTextConfig $ctext_canvas, x+60, y, 'justify', 'right', color -TkcText.new($ctext_canvas, x+45, y-5, 'text'=>'Justification', 'anchor'=>'s', - 'font'=>'-*-times-medium-r-normal--*-240-*-*-*-*-*-*', - 'fill'=>'brown') +if $tk_version =~ /^4.*/ + TkcText.new($ctext_canvas, x+45, y-5, 'text'=>'Justification', + 'font'=>'-*-times-medium-r-normal--*-240-*-*-*-*-*-*', + 'anchor'=>'s', 'fill'=>'brown') +else + TkcText.new($ctext_canvas, x+45, y-5, 'text'=>'Justification', + 'font'=>'Times 24', 'anchor'=>'s', 'fill'=>'brown') +end $ctext_canvas.itembind('config', 'Enter', proc{textEnter $ctext_canvas}) $ctext_canvas.itembind('config', 'Leave', diff --git a/ext/tk/sample/demos-jp/dialog1.rb b/ext/tk/sample/demos-jp/dialog1.rb index 0d6181bfc6..07e50306ab 100644 --- a/ext/tk/sample/demos-jp/dialog1.rb +++ b/ext/tk/sample/demos-jp/dialog1.rb @@ -1,3 +1,4 @@ +# -*- coding: euc-jp -*- # # a dialog box with a local grab (called by 'widget') # diff --git a/ext/tk/sample/demos-jp/dialog2.rb b/ext/tk/sample/demos-jp/dialog2.rb index a934378dda..f747f8d6a8 100644 --- a/ext/tk/sample/demos-jp/dialog2.rb +++ b/ext/tk/sample/demos-jp/dialog2.rb @@ -1,3 +1,4 @@ +# -*- coding: euc-jp -*- # # a dialog box with a global grab (called by 'widget') # diff --git a/ext/tk/sample/demos-jp/entry1.rb b/ext/tk/sample/demos-jp/entry1.rb index edf3b5f71d..d794282284 100644 --- a/ext/tk/sample/demos-jp/entry1.rb +++ b/ext/tk/sample/demos-jp/entry1.rb @@ -1,3 +1,4 @@ +# -*- coding: euc-jp -*- # # entry (no scrollbars) widget demo (called by 'widget') # diff --git a/ext/tk/sample/demos-jp/entry2.rb b/ext/tk/sample/demos-jp/entry2.rb index 7d5740e663..528ad6dec4 100644 --- a/ext/tk/sample/demos-jp/entry2.rb +++ b/ext/tk/sample/demos-jp/entry2.rb @@ -1,3 +1,4 @@ +# -*- coding: euc-jp -*- # # entry (with scrollbars) widget demo (called by 'widget') # diff --git a/ext/tk/sample/demos-jp/entry3.rb b/ext/tk/sample/demos-jp/entry3.rb index f57dc13553..46426af6ae 100644 --- a/ext/tk/sample/demos-jp/entry3.rb +++ b/ext/tk/sample/demos-jp/entry3.rb @@ -1,3 +1,4 @@ +# -*- coding: euc-jp -*- # entry3.rb -- # # This demonstration script creates several entry widgets whose diff --git a/ext/tk/sample/demos-jp/filebox.rb b/ext/tk/sample/demos-jp/filebox.rb index f3608ab70f..04b4810b3b 100644 --- a/ext/tk/sample/demos-jp/filebox.rb +++ b/ext/tk/sample/demos-jp/filebox.rb @@ -1,3 +1,4 @@ +# -*- coding: euc-jp -*- # # widget demo prompts the user to select a file (called by 'widget') # diff --git a/ext/tk/sample/demos-jp/floor.rb b/ext/tk/sample/demos-jp/floor.rb index b029580bd6..b7d07bdafa 100644 --- a/ext/tk/sample/demos-jp/floor.rb +++ b/ext/tk/sample/demos-jp/floor.rb @@ -1,3 +1,4 @@ +# -*- coding: euc-jp -*- # # floorDisplay widget demo (called by 'widget') # diff --git a/ext/tk/sample/demos-jp/floor2.rb b/ext/tk/sample/demos-jp/floor2.rb index a20b31d45c..b7571a592f 100644 --- a/ext/tk/sample/demos-jp/floor2.rb +++ b/ext/tk/sample/demos-jp/floor2.rb @@ -1,3 +1,4 @@ +# -*- coding: euc-jp -*- # # floorDisplay widget demo 2 (called by 'widget') # diff --git a/ext/tk/sample/demos-jp/form.rb b/ext/tk/sample/demos-jp/form.rb index fe456d3943..637dd9a8ea 100644 --- a/ext/tk/sample/demos-jp/form.rb +++ b/ext/tk/sample/demos-jp/form.rb @@ -1,3 +1,4 @@ +# -*- coding: euc-jp -*- # # form widget demo (called by 'widget') # diff --git a/ext/tk/sample/demos-jp/goldberg.rb b/ext/tk/sample/demos-jp/goldberg.rb index 592b69f775..8bf0104c16 100644 --- a/ext/tk/sample/demos-jp/goldberg.rb +++ b/ext/tk/sample/demos-jp/goldberg.rb @@ -1,3 +1,4 @@ +# -*- coding: euc-jp -*- # # Ruby/Tk Goldverg demo (called by 'widget') # diff --git a/ext/tk/sample/demos-jp/hello b/ext/tk/sample/demos-jp/hello index 859ebd950e..08f154d499 100644 --- a/ext/tk/sample/demos-jp/hello +++ b/ext/tk/sample/demos-jp/hello @@ -1,4 +1,5 @@ #!/usr/bin/env ruby +# -*- coding: euc-jp -*- require 'tk' TkButton.new(nil, diff --git a/ext/tk/sample/demos-jp/hscale.rb b/ext/tk/sample/demos-jp/hscale.rb index 37d215435c..b636f0579f 100644 --- a/ext/tk/sample/demos-jp/hscale.rb +++ b/ext/tk/sample/demos-jp/hscale.rb @@ -1,3 +1,4 @@ +# -*- coding: euc-jp -*- require "tkcanvas" if defined?($hscale_demo) && $hscale_deom @@ -65,7 +66,6 @@ TkFrame.new($hscale_demo) {|frame| scale.set 75 }.pack('side'=>'top', 'fill'=>'x') - def setWidth(w, width) width = width + 21 x2 = width - 30 diff --git a/ext/tk/sample/demos-jp/icon.rb b/ext/tk/sample/demos-jp/icon.rb index e4fef5cae7..26382a57a7 100644 --- a/ext/tk/sample/demos-jp/icon.rb +++ b/ext/tk/sample/demos-jp/icon.rb @@ -1,3 +1,4 @@ +# -*- coding: euc-jp -*- # # iconic button widget demo (called by 'widget') # diff --git a/ext/tk/sample/demos-jp/image1.rb b/ext/tk/sample/demos-jp/image1.rb index 3d47f844e5..3b56d240dc 100644 --- a/ext/tk/sample/demos-jp/image1.rb +++ b/ext/tk/sample/demos-jp/image1.rb @@ -1,3 +1,4 @@ +# -*- coding: euc-jp -*- # # two image widgets demo (called by 'widget') # diff --git a/ext/tk/sample/demos-jp/image2.rb b/ext/tk/sample/demos-jp/image2.rb index e2e2a2b036..de627448c1 100644 --- a/ext/tk/sample/demos-jp/image2.rb +++ b/ext/tk/sample/demos-jp/image2.rb @@ -1,3 +1,4 @@ +# -*- coding: euc-jp -*- # # widget demo 'load image' (called by 'widget') # diff --git a/ext/tk/sample/demos-jp/image3.rb b/ext/tk/sample/demos-jp/image3.rb index d9f378c116..36c1823745 100644 --- a/ext/tk/sample/demos-jp/image3.rb +++ b/ext/tk/sample/demos-jp/image3.rb @@ -1,3 +1,4 @@ +# -*- coding: euc-jp -*- # image3.rb # # This demonstration script creates a simple collection of widgets diff --git a/ext/tk/sample/demos-jp/items.rb b/ext/tk/sample/demos-jp/items.rb index 38774d10d2..c173d3b57f 100644 --- a/ext/tk/sample/demos-jp/items.rb +++ b/ext/tk/sample/demos-jp/items.rb @@ -1,3 +1,4 @@ +# -*- coding: euc-jp -*- # # canvas item types widget demo (called by 'widget') # @@ -91,8 +92,13 @@ TkcLine.new(cvs, '0c', '16c', '30c', '16c', 'width'=>2) TkcLine.new(cvs, '10c', '0c', '10c', '24c', 'width'=>2) TkcLine.new(cvs, '20c', '0c', '20c', '24c', 'width'=>2) -font1 = '-Adobe-Helvetica-Medium-R-Normal--*-120-*-*-*-*-*-*' -font2 = '-Adobe-Helvetica-Bold-R-Normal--*-240-*-*-*-*-*-*' +if $tk_version =~ /^4.*/ + font1 = '-Adobe-Helvetica-Medium-R-Normal--*-120-*-*-*-*-*-*' + font2 = '-Adobe-Helvetica-Bold-R-Normal--*-240-*-*-*-*-*-*' +else + font1 = 'Helvetica 12' + font2 = 'Helvetica 24 bold' +end if TkWinfo.depth($root).to_i > 1 blue = 'DeepSkyBlue3' red = 'red' diff --git a/ext/tk/sample/demos-jp/ixset2 b/ext/tk/sample/demos-jp/ixset2 index 8947daa4b4..5b816e40b1 100644 --- a/ext/tk/sample/demos-jp/ixset2 +++ b/ext/tk/sample/demos-jp/ixset2 @@ -1,4 +1,5 @@ #!/usr/bin/env ruby +# -*- coding: euc-jp -*- # # ixset -- # A nice interface to "xset" to change X server settings diff --git a/ext/tk/sample/demos-jp/label.rb b/ext/tk/sample/demos-jp/label.rb index 59626289fc..a1ecc2ec80 100644 --- a/ext/tk/sample/demos-jp/label.rb +++ b/ext/tk/sample/demos-jp/label.rb @@ -1,3 +1,4 @@ +# -*- coding: euc-jp -*- # # label widget demo (called by 'widget') # diff --git a/ext/tk/sample/demos-jp/labelframe.rb b/ext/tk/sample/demos-jp/labelframe.rb index 23c974dcc2..f16b601ffd 100644 --- a/ext/tk/sample/demos-jp/labelframe.rb +++ b/ext/tk/sample/demos-jp/labelframe.rb @@ -1,3 +1,5 @@ +# -*- coding: euc-jp -*- +# # labelframe.rb # # This demonstration script creates a toplevel window containing diff --git a/ext/tk/sample/demos-jp/menu.rb b/ext/tk/sample/demos-jp/menu.rb index add85f7f7b..6b9e5c9e5e 100644 --- a/ext/tk/sample/demos-jp/menu.rb +++ b/ext/tk/sample/demos-jp/menu.rb @@ -1,3 +1,4 @@ +# -*- coding: euc-jp -*- # # menus widget demo (called by 'widget') # diff --git a/ext/tk/sample/demos-jp/menu84.rb b/ext/tk/sample/demos-jp/menu84.rb index 8c2a815d78..762cfa53b8 100644 --- a/ext/tk/sample/demos-jp/menu84.rb +++ b/ext/tk/sample/demos-jp/menu84.rb @@ -1,3 +1,4 @@ +# -*- coding: euc-jp -*- # # menus widget demo (called by 'widget') # diff --git a/ext/tk/sample/demos-jp/menu8x.rb b/ext/tk/sample/demos-jp/menu8x.rb index 050f0decb4..23efa7e790 100644 --- a/ext/tk/sample/demos-jp/menu8x.rb +++ b/ext/tk/sample/demos-jp/menu8x.rb @@ -1,3 +1,4 @@ +# -*- coding: euc-jp -*- # # menus widget demo (called by 'widget') # diff --git a/ext/tk/sample/demos-jp/menubu.rb b/ext/tk/sample/demos-jp/menubu.rb index aa90a3087f..e73c393aa5 100644 --- a/ext/tk/sample/demos-jp/menubu.rb +++ b/ext/tk/sample/demos-jp/menubu.rb @@ -1,3 +1,4 @@ +# -*- coding: euc-jp -*- require "tkcanvas" def optionMenu(menubutton, varName, firstValue, *rest) diff --git a/ext/tk/sample/demos-jp/msgbox.rb b/ext/tk/sample/demos-jp/msgbox.rb index 983e6b6589..0fe5db7dd6 100644 --- a/ext/tk/sample/demos-jp/msgbox.rb +++ b/ext/tk/sample/demos-jp/msgbox.rb @@ -1,3 +1,4 @@ +# -*- coding: euc-jp -*- # # message boxes widget demo (called by 'widget') # diff --git a/ext/tk/sample/demos-jp/paned1.rb b/ext/tk/sample/demos-jp/paned1.rb index 8d16d03c08..137e187417 100644 --- a/ext/tk/sample/demos-jp/paned1.rb +++ b/ext/tk/sample/demos-jp/paned1.rb @@ -1,3 +1,5 @@ +# -*- coding: euc-jp -*- +# # paned1.rb # # This demonstration script creates a toplevel window containing diff --git a/ext/tk/sample/demos-jp/paned2.rb b/ext/tk/sample/demos-jp/paned2.rb index 1e82eddda4..b394432b1c 100644 --- a/ext/tk/sample/demos-jp/paned2.rb +++ b/ext/tk/sample/demos-jp/paned2.rb @@ -1,3 +1,5 @@ +# -*- coding: euc-jp -*- +# # paned2.rb -- # # This demonstration script creates a toplevel window containing diff --git a/ext/tk/sample/demos-jp/pendulum.rb b/ext/tk/sample/demos-jp/pendulum.rb index d703c74d5a..e19b57a2d6 100644 --- a/ext/tk/sample/demos-jp/pendulum.rb +++ b/ext/tk/sample/demos-jp/pendulum.rb @@ -1,3 +1,4 @@ +# -*- coding: euc-jp -*- # # This demonstration illustrates how Tcl/Tk can be used to construct # simulations of physical systems. @@ -50,9 +51,11 @@ TkFrame.new($pendulum_demo) {|frame| class PendulumAnimationDemo def initialize(frame) # Create some structural widgets - pane = TkPanedWindow.new(frame).pack(:fill=>:both, :expand=>true) - pane.add(@lf1 = TkLabelFrame.new(pane, :text=>'Pendulum Simulation')) - pane.add(@lf2 = TkLabelFrame.new(pane, :text=>'Phase Space')) + @pane = TkPanedWindow.new(frame).pack(:fill=>:both, :expand=>true) +# @pane.add(@lf1 = TkLabelFrame.new(@pane, :text=>'Pendulum Simulation')) +# @pane.add(@lf2 = TkLabelFrame.new(@pane, :text=>'Phase Space')) + @lf1 = TkLabelFrame.new(@pane, :text=>'Pendulum Simulation') + @lf2 = TkLabelFrame.new(@pane, :text=>'Phase Space') # Create the canvas containing the graphical representation of the # simulated system. @@ -100,23 +103,24 @@ class PendulumAnimationDemo @dTheta = 0.0 @length = 150 - # init display - showPendulum - # animation loop @timer = TkTimer.new(15){ repeat } # binding @c.bindtags_unshift(btag = TkBindTag.new) btag.bind('Destroy'){ @timer.stop } - btag.bind('1', proc{|x, y| @timer.stop; showPendulum(x, y)}, '%x %y') - btag.bind('B1-Motion', proc{|x, y| showPendulum(x, y)}, '%x %y') + btag.bind('1', proc{|x, y| @timer.stop; showPendulum(x.to_i, y.to_i)}, + '%x %y') + btag.bind('B1-Motion', proc{|x, y| showPendulum(x.to_i, y.to_i)}, '%x %y') btag.bind('ButtonRelease-1', - proc{|x, y| showPendulum(x, y); @timer.start }, '%x %y') + proc{|x, y| showPendulum(x.to_i, y.to_i); @timer.start }, + '%x %y') - btag.bind('Configure', proc{|w| @plate.coords(0, 25, w, 25)}, '%w') + btag.bind('Configure', proc{|w| @plate.coords(0, 25, w.to_i, 25)}, '%w') @k.bind('Configure', proc{|h, w| + h = h.to_i + w = w.to_i @psh = h/2; @psw = w/2 @x_axis.coords(2, @psh, w-2, @psh) @@ -125,6 +129,14 @@ class PendulumAnimationDemo @label_dtheta.coords(w-6, @psh+4) }, '%h %w') + # add + Tk.update + @pane.add(@lf1) + @pane.add(@lf2) + + # init display + showPendulum + # animation start @timer.start(500) end @@ -155,6 +167,10 @@ class PendulumAnimationDemo # rate at which the angle is changing (the first derivative with # respect to time.) def showPhase + unless @psw && @psh + @psw = @k.width/2 + @psh = @k.height/2 + end @points << @theta + @psw << -20*@dTheta + @psh if @points.length > 100 @points = @points[-100..-1] diff --git a/ext/tk/sample/demos-jp/plot.rb b/ext/tk/sample/demos-jp/plot.rb index 902b144f72..dbca3e971c 100644 --- a/ext/tk/sample/demos-jp/plot.rb +++ b/ext/tk/sample/demos-jp/plot.rb @@ -1,3 +1,4 @@ +# -*- coding: euc-jp -*- # # 2-D plot widget demo (called by 'widget') # @@ -41,7 +42,11 @@ $plot_buttons = TkFrame.new($plot_demo) {|frame| $plot_buttons.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m') # font 設定 -plotFont = '-*-Helvetica-Medium-R-Normal--*-180-*-*-*-*-*-*' + if $tk_version =~ /^4.*/ + plotFont = '-*-Helvetica-Medium-R-Normal--*-180-*-*-*-*-*-*' + else + font = 'Helvetica 18' + end # canvas 設定 $plot_canvas = TkCanvas.new($plot_demo,'relief'=>'raised','width'=>450,'height'=>300) diff --git a/ext/tk/sample/demos-jp/puzzle.rb b/ext/tk/sample/demos-jp/puzzle.rb index ad69775aab..6a3c8c8ef6 100644 --- a/ext/tk/sample/demos-jp/puzzle.rb +++ b/ext/tk/sample/demos-jp/puzzle.rb @@ -1,3 +1,4 @@ +# -*- coding: euc-jp -*- # # widet demo 'puzzle' (called by 'widget') # diff --git a/ext/tk/sample/demos-jp/radio.rb b/ext/tk/sample/demos-jp/radio.rb index 5858b4222a..3a11c394a3 100644 --- a/ext/tk/sample/demos-jp/radio.rb +++ b/ext/tk/sample/demos-jp/radio.rb @@ -1,3 +1,4 @@ +# -*- coding: euc-jp -*- # # radiobutton widget demo (called by 'widget') # diff --git a/ext/tk/sample/demos-jp/radio2.rb b/ext/tk/sample/demos-jp/radio2.rb index 5ac877d99a..b89520cdc5 100644 --- a/ext/tk/sample/demos-jp/radio2.rb +++ b/ext/tk/sample/demos-jp/radio2.rb @@ -1,3 +1,5 @@ +# -*- coding: euc-jp -*- +# # radio2.rb # # This demonstration script creates a toplevel window containing diff --git a/ext/tk/sample/demos-jp/radio3.rb b/ext/tk/sample/demos-jp/radio3.rb index 6e9a0f750b..a223a19bc2 100644 --- a/ext/tk/sample/demos-jp/radio3.rb +++ b/ext/tk/sample/demos-jp/radio3.rb @@ -1,3 +1,5 @@ +# -*- coding: euc-jp -*- +# # radio3.rb # # This demonstration script creates a toplevel window containing diff --git a/ext/tk/sample/demos-jp/rolodex-j b/ext/tk/sample/demos-jp/rolodex-j index dcc18cfa51..6c3ea7a484 100644 --- a/ext/tk/sample/demos-jp/rolodex-j +++ b/ext/tk/sample/demos-jp/rolodex-j @@ -1,4 +1,5 @@ #!/usr/bin/env ruby +# -*- coding: euc-jp -*- # # rolodex -- # このスクリプトは Tom LaStrange の rolodex の一部です。 diff --git a/ext/tk/sample/demos-jp/ruler.rb b/ext/tk/sample/demos-jp/ruler.rb index 94b4c921d3..c913e247d1 100644 --- a/ext/tk/sample/demos-jp/ruler.rb +++ b/ext/tk/sample/demos-jp/ruler.rb @@ -1,3 +1,4 @@ +# -*- coding: euc-jp -*- # # ruler widget demo (called by 'widget') # diff --git a/ext/tk/sample/demos-jp/sayings.rb b/ext/tk/sample/demos-jp/sayings.rb index ce195a0e53..24b011f5ab 100644 --- a/ext/tk/sample/demos-jp/sayings.rb +++ b/ext/tk/sample/demos-jp/sayings.rb @@ -1,3 +1,4 @@ +# -*- coding: euc-jp -*- # # listbox widget demo 'sayings' (called by 'widget') # diff --git a/ext/tk/sample/demos-jp/search.rb b/ext/tk/sample/demos-jp/search.rb index f5268f987f..d3692e2455 100644 --- a/ext/tk/sample/demos-jp/search.rb +++ b/ext/tk/sample/demos-jp/search.rb @@ -1,3 +1,4 @@ +# -*- coding: euc-jp -*- # # Text Search widget demo (called by 'widget') # @@ -168,9 +169,14 @@ $search_text.insert('1.0', "\ エントリに文字列を入力し、<リターン> を押すか「反転」ボタンを押してく \ ださい。するとファイル中の、検索文字列と一致する部分に全て \"search_Tag\" \ というタグがつけられ、タグの表示属性としてその文字列が点滅するように \ -設定されます。") +設定されます。\n") +$search_text.insert('end', "\ +ファイル読み込みのカレントディレクトリは \"#{Dir.pwd}\" です。\ +") $search_text.set_insert '0.0' $search_fileName.value = '' $search_searchString.value = '' +$search_text.width = 60 +$search_text.height = 20 diff --git a/ext/tk/sample/demos-jp/spin.rb b/ext/tk/sample/demos-jp/spin.rb index c7b8096723..b8eb99c4ed 100644 --- a/ext/tk/sample/demos-jp/spin.rb +++ b/ext/tk/sample/demos-jp/spin.rb @@ -1,3 +1,5 @@ +# -*- coding: euc-jp -*- +# # spin.rb -- # # This demonstration script creates several spinbox widgets. diff --git a/ext/tk/sample/demos-jp/states.rb b/ext/tk/sample/demos-jp/states.rb index dfae821261..3c58711bd1 100644 --- a/ext/tk/sample/demos-jp/states.rb +++ b/ext/tk/sample/demos-jp/states.rb @@ -1,3 +1,4 @@ +# -*- coding: euc-jp -*- # # listbox widget demo 'states' (called by 'widget') # diff --git a/ext/tk/sample/demos-jp/style.rb b/ext/tk/sample/demos-jp/style.rb index 59e406bc80..c8c7850156 100644 --- a/ext/tk/sample/demos-jp/style.rb +++ b/ext/tk/sample/demos-jp/style.rb @@ -1,3 +1,4 @@ +# -*- coding: euc-jp -*- # # text (display styles) widget demo (called by 'widget') # @@ -8,6 +9,7 @@ if defined?($style_demo) && $style_demo $style_demo = nil end + # demo 用の toplevel widget を生成 $style_demo = TkToplevel.new {|w| title("Text Demonstration - Display Styles") @@ -15,6 +17,7 @@ $style_demo = TkToplevel.new {|w| positionWindow(w) } + # frame 生成 TkFrame.new($style_demo) {|frame| TkButton.new(frame) { @@ -33,13 +36,15 @@ TkFrame.new($style_demo) {|frame| }.pack('side'=>'left', 'expand'=>'yes') }.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m') + # text 生成 -TkText.new($style_demo){|t| +txt = TkText.new($style_demo){|t| # 生成 setgrid 'true' - width 70 - height 32 + #width 70 + #height 32 wrap 'word' + font $font TkScrollbar.new($style_demo) {|s| pack('side'=>'right', 'fill'=>'y') command proc{|*args| t.yview(*args)} @@ -48,11 +53,20 @@ TkText.new($style_demo){|t| pack('expand'=>'yes', 'fill'=>'both') # テキストタグ設定 (フォント関連) - style_tag_bold = TkTextTag.new(t, 'font'=>'-*-Courier-Bold-O-Normal--*-120-*-*-*-*-*-*') - style_tag_big = TkTextTag.new(t, 'font'=>'-*-Courier-Bold-R-Normal--*-140-*-*-*-*-*-*', 'kanjifont'=>$msg_kanji_font) + family = 'Courier' + + if $tk_version =~ /^4.*/ + style_tag_bold = TkTextTag.new(t, 'font'=>'-*-Courier-Bold-O-Normal--*-120-*-*-*-*-*-*') + style_tag_big = TkTextTag.new(t, 'font'=>'-*-Courier-Bold-R-Normal--*-140-*-*-*-*-*-*', 'kanjifont'=>$msg_kanji_font) style_tag_verybig = TkTextTag.new(t, 'font'=>'-*-Helvetica-Bold-R-Normal--*-240-*-*-*-*-*-*') -# style_tag_small = TkTextTag.new(t, 'font'=>'-Adobe-Helvetica-Bold-R-Normal-*-100-*', 'kanjifont'=>$kanji_font) + # style_tag_small = TkTextTag.new(t, 'font'=>'-Adobe-Helvetica-Bold-R-Normal-*-100-*', 'kanjifont'=>$kanji_font) style_tag_small = TkTextTag.new(t, 'font'=>'-Adobe-Helvetica-Bold-R-Normal-*-100-*') + else + style_tag_bold = TkTextTag.new(t, 'font'=>[family, 12, :bold, :italic]) + style_tag_big = TkTextTag.new(t, 'font'=>[family, 14, :bold]) + style_tag_verybig = TkTextTag.new(t, 'font'=>['Helvetica', 24, :bold]) + style_tag_small = TkTextTag.new(t, 'font'=>['Times 8 bold']) + end ### # case($tk_version) # when /^4.*/ @@ -106,8 +120,13 @@ TkText.new($style_demo){|t| style_tag_overstrike = TkTextTag.new(t, 'overstrike'=>'on') style_tag_right = TkTextTag.new(t, 'justify'=>'right') style_tag_center = TkTextTag.new(t, 'justify'=>'center') - style_tag_super = TkTextTag.new(t, 'offset'=>'4p', 'font'=>'-Adobe-Courier-Medium-R-Normal--*-100-*-*-*-*-*-*') - style_tag_sub = TkTextTag.new(t, 'offset'=>'-2p', 'font'=>'-Adobe-Courier-Medium-R-Normal--*-100-*-*-*-*-*-*') + if $tk_version =~ /^4.*/ + style_tag_super = TkTextTag.new(t, 'offset'=>'4p', 'font'=>'-Adobe-Courier-Medium-R-Normal--*-100-*-*-*-*-*-*') + style_tag_sub = TkTextTag.new(t, 'offset'=>'-2p', 'font'=>'-Adobe-Courier-Medium-R-Normal--*-100-*-*-*-*-*-*') + else + style_tag_super = TkTextTag.new(t, 'offset'=>'4p', 'font'=>[family, 10]) + style_tag_sub = TkTextTag.new(t, 'offset'=>'-2p', 'font'=>[family, 10]) + end style_tag_margins = TkTextTag.new(t, 'lmargin1'=>'12m', 'lmargin2'=>'6m', 'rmargin'=>'10m') style_tag_spacing = TkTextTag.new(t, 'spacing1'=>'10p', 'spacing2'=>'2p', @@ -246,3 +265,5 @@ spacing3') } +txt.width 70 +txt.height 32 diff --git a/ext/tk/sample/demos-jp/tcolor b/ext/tk/sample/demos-jp/tcolor index c7f7ec7289..17f7e1347e 100644 --- a/ext/tk/sample/demos-jp/tcolor +++ b/ext/tk/sample/demos-jp/tcolor @@ -1,4 +1,5 @@ #!/usr/bin/env ruby +# -*- coding: euc-jp -*- # # tcolor -- # このスクリプトはRGB,HSB,CYM形式をサポートする diff --git a/ext/tk/sample/demos-jp/text.rb b/ext/tk/sample/demos-jp/text.rb index 0057d5dbdc..25e0e64e9a 100644 --- a/ext/tk/sample/demos-jp/text.rb +++ b/ext/tk/sample/demos-jp/text.rb @@ -1,3 +1,4 @@ +# -*- coding: euc-jp -*- # # text (basic facilities) widget demo (called by 'widget') # diff --git a/ext/tk/sample/demos-jp/textpeer.rb b/ext/tk/sample/demos-jp/textpeer.rb new file mode 100644 index 0000000000..9b2b57a698 --- /dev/null +++ b/ext/tk/sample/demos-jp/textpeer.rb @@ -0,0 +1,78 @@ +# -*- coding: euc-jp -*- +# +# text widget peering demo (called by 'widget') +# +# based on Tcl/Tk8.5.0 widget demos + +if defined?($textpeer_demo) && $textpeer_demo + $textpeer_demo.destroy + $textpeer_demo = nil +end + +# demo toplevel widget +$textpeer_demo = TkToplevel.new {|w| + title("Text Wdget Peering Demonstration") + iconname("textpeer") + positionWindow(w) +} + +count = [0] + +## Define a widget that we peer from; it won't ever actually be shown though +first = TkText.new($textpeer_demo, :widgetname=>"text#{count[0] += 1}") +first.insert :end,"このデモは一つの組を成したテキストウィジェットを示します。" +first.insert :end,"それらのテキストウィジェットは対等(ピア;peer)の関係に" +first.insert :end,"なっています。" +first.insert :end,"それらは、基盤となるデータモデルは共通のものを持ちますが、" +first.insert :end,"画面表示位置、編集位置、選択範囲(selection)については" +first.insert :end,"独立に持つことができます。" +first.insert :end,"各テキストウィジェットの脇にある" +first.insert :end,"「ピア(peer)の作成」ボタンを使えば、" +first.insert :end,"新たなピアを追加することが可能です。" +first.insert :end,"また「ピア(peer)の消去」ボタンを使えば、" +first.insert :end,"特定のピアウィジェットを消去することもできます。" + +## Procedures to make and kill clones; most of this is just so that the demo +## looks nice... +def makeClone(count, win, txt) + cnt = (count[0] += 1) + peer = TkText::Peer.new(txt, win, :widgetname=>"text#{cnt}") + sbar = TkScrollbar.new(win, :widgetname=>"sb#{cnt}") + peer.yscrollbar sbar + b1 = TkButton.new(win, :widgetname=>"clone#{cnt}", + :text=>'ピア(peer)の作成', + :command=>proc{makeClone(count, win, peer)}) + b2 = TkButton.new(win, :widgetname=>"kill#{cnt}", + :text=>'ピア(peer)の消去', + :command=>proc{killClone(win, cnt)}) + row = cnt * 2 + TkGrid.configure(peer, sbar, b1, :sticky=>'nsew', :row=>row) + TkGrid.configure('^', '^', b2, :sticky=>'nsew', :row=>(row+=1)) + TkGrid.configure(b1, b2, :sticky=>'new') + TkGrid.rowconfigure(win, b2, :weight=>1) +end + +def killClone(win, cnt) + Tk.destroy("#{win.path}.text#{cnt}", "#{win.path}.sb#{cnt}", + "#{win.path}.clone#{cnt}", "#{win.path}.kill#{cnt}") +end + +## Now set up the GUI +makeClone(count, $textpeer_demo, first) +makeClone(count, $textpeer_demo, first) +first.destroy + +## See Code / Dismiss buttons +TkFrame.new($textpeer_demo){|f| + TkButton.new(f, :text=>'閉じる', :width=>15, :command=>proc{ + $textpeer_demo.destroy + $textpeer_demo = nil + }).pack(:side=>:left, :expand=>true) + + TkButton.new(f, :text=>'コード参照', :width=>15, :command=>proc{ + showCode 'textpeer' + }).pack(:side=>:left, :expand=>true) + + TkGrid.configure(f, '-', '-', :sticky=>'ew', :row=>5000) +} +TkGrid.columnconfigure($textpeer_demo, 0, :weight=>1) diff --git a/ext/tk/sample/demos-jp/twind.rb b/ext/tk/sample/demos-jp/twind.rb index 2b228e4acd..d0fa8ca49e 100644 --- a/ext/tk/sample/demos-jp/twind.rb +++ b/ext/tk/sample/demos-jp/twind.rb @@ -1,3 +1,4 @@ +# -*- coding: euc-jp -*- # # text (embedded windows) widget demo (called by 'widget') # @@ -206,7 +207,11 @@ def textWindPlot (t) cursor 'top_left_arrow' } - font = '-Adobe-Helvetica-Medium-R-Normal--*-180-*-*-*-*-*-*' + if $tk_version =~ /^4.*/ + font = '-Adobe-Helvetica-Medium-R-Normal--*-180-*-*-*-*-*-*' + else + font = 'Helvetica 18' + end TkcLine.new($twind_plot, 100, 250, 400, 250, 'width'=>2) TkcLine.new($twind_plot, 100, 250, 100, 50, 'width'=>2) diff --git a/ext/tk/sample/demos-jp/twind2.rb b/ext/tk/sample/demos-jp/twind2.rb index b634f07b4b..e8009cef19 100644 --- a/ext/tk/sample/demos-jp/twind2.rb +++ b/ext/tk/sample/demos-jp/twind2.rb @@ -1,3 +1,4 @@ +# -*- coding: euc-jp -*- # # text (embedded windows) widget demo 2 (called by 'widget') # diff --git a/ext/tk/sample/demos-jp/unicodeout.rb b/ext/tk/sample/demos-jp/unicodeout.rb index 090cdf3059..7ab415fe57 100644 --- a/ext/tk/sample/demos-jp/unicodeout.rb +++ b/ext/tk/sample/demos-jp/unicodeout.rb @@ -1,3 +1,5 @@ +# -*- coding: euc-jp -*- +# # unicodeout.rb -- # # This demonstration script shows how you can produce output (in label diff --git a/ext/tk/sample/demos-jp/vscale.rb b/ext/tk/sample/demos-jp/vscale.rb index 86f6f7cdee..990ca43215 100644 --- a/ext/tk/sample/demos-jp/vscale.rb +++ b/ext/tk/sample/demos-jp/vscale.rb @@ -1,3 +1,4 @@ +# -*- coding: euc-jp -*- require "tkcanvas" if defined?($vscale_demo) && $vscale_demo @@ -66,7 +67,6 @@ TkFrame.new($vscale_demo) {|frame| scale.set 75 }.pack - def setHeight(w, height) height = height + 21 y2 = height - 30 @@ -76,3 +76,4 @@ def setHeight(w, height) w.coords 'poly',15,20,35,20,35,y2,45,y2,25,height,5,y2,15,y2,15,20 w.coords 'line',15,20,35,20,35,y2,45,y2,25,height,5,y2,15,y2,15,20 end + diff --git a/ext/tk/sample/demos-jp/widget b/ext/tk/sample/demos-jp/widget index c84436481a..3eea4c7887 100644 --- a/ext/tk/sample/demos-jp/widget +++ b/ext/tk/sample/demos-jp/widget @@ -1,14 +1,20 @@ #!/usr/bin/env ruby +# -*- coding: euc-jp -*- # 漢字コード設定 ( tk.rb のロード時の encoding 推定/設定に使われる ) -$KCODE = 'euc' +if RUBY_VERSION < '1.9.0' ### !!!!!!!!!!!!!! + $KCODE = 'euc' +else + DEFAULT_TK_ENCODING = 'EUC-JP' +end # tk 関係ライブラリの読み込み require 'tk' # require 'tkafter' # widget demo directory 位置の獲得 -$demo_dir = File.dirname($0) +# $demo_dir = File.dirname($0) +$demo_dir = File.dirname(__FILE__) # root の生成 $root = TkRoot.new{title "Ruby/Tk Widget Demonstration"} @@ -40,18 +46,17 @@ when /^4.*/ # $msg_kanji_font=TkFont.new('Helvetica 16', 'Gothic 16 bold') when /^8.*/ - $font = TkFont.new('Helvetica -12') - $kanji_font = TkFont.new('Helvetica -12', 'Mincho -12') + $font = TkFont.new('Helvetica 12') + $kanji_font = TkFont.new('Helvetica 12', 'Mincho 12') TkOption.add('*kanjiFont', knjfont, 'startupFile') - $msg_kanji_font=TkFont.new('Helvetica 16', 'Gothic 16 bold') + $msg_kanji_font=TkFont.new('Helvetica 18 bold', 'Gothic 18 bold') else - $font = TkFont.new('-*-Helvetica-Medium-R-Normal--*-140-*-*-*-*-*-*', nil) + $font = TkFont.new('Helvetica 14', nil) knjfont = '-*--16-*-jisx0208.1983-0' - $kanji_font = TkFont.new('-*-Helvetica-Medium-R-Normal--*-140-*-*-*-*-*-*', - knjfont) + $kanji_font = TkFont.new('Helvetic 14', knj) TkOption.add('*kanjiFont', knjfont, 'startupFile') - $msg_kanji_font=TkFont.new('-*-Helvetica-Medium-R-Normal--*-140-*-*-*-*-*-*', + $msg_kanji_font=TkFont.new('Helvetica 14', '-*--24-*-jisx0208.1983-0') end ####### @@ -180,18 +185,27 @@ else textFrame.pack('expand'=>'yes', 'fill'=>'both') statusBar = TkFrame.new($root) {|f| + if $tk_version =~ /^4.*/ + statusfont = '-*-Helvetica-Medium-R-Normal--*-120-*-*-*-*-*-*' + else + statusfont = 'Helvetica 10' + end $statusBarLabel = \ TkLabel.new(f, 'text'=>" ", 'relief'=>'sunken', 'bd'=>1, 'anchor'=>'w', - 'font'=>'-*-Helvetica-Medium-R-Normal--*-120-*-*-*-*-*-*') \ + 'font'=>statusfont) \ .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-*-*-*-*-*-*') \ + 'font'=>statusfont) \ .pack('side'=>'left', 'padx'=>2) }.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>2) end # テキストタグ設定 -tag_title = TkTextTag.new(txt, 'font'=>'-*-Helvetica-Bold-R-Normal--*-180-*-*-*-*-*-*') +if $tk_version =~ /^4.*/ + tag_title = TkTextTag.new(txt, 'font'=>'-*-Helvetica-Bold-R-Normal--*-180-*-*-*-*-*-*') +else + tag_title = TkTextTag.new(txt, 'font'=>'Helvetica 18 bold') +end #tag_kanji_title = TkTextTag.new(txt, 'kanjifont'=>$msg_kanji_font) #tag_middle = TkTextTag.new(txt, 'kanjifont'=>$kanji_font) tag_kanji_title = TkTextTag.new(txt, 'font'=>$msg_kanji_font) @@ -367,6 +381,8 @@ txt.insert('end', "5. ウィンドウを埋め込んだテキスト (機能に対応したバージョンの txt.insert('end', " \n ", tag_demospace) txt.insert('end', "6. 検索\n", tag_demo, "demo-search") txt.insert('end', " \n ", tag_demospace) +txt.insert('end', "7. テキストウィジェットの対等化(peering) (機能に対応したバージョンのTkが必要)\n", tag_demo, "demo-textpeer") +txt.insert('end', " \n ", tag_demospace) txt.insert('end', "\n") #txt.insert('end', "キャンバス\n", tag_middle) @@ -487,7 +503,11 @@ def showVars1(parent, *args) text "変数値:" width 20 anchor 'center' - font '-Adobe-helvetica-medium-r-normal--*-180-*-*-*-*-*-*' + if $tk_version =~ /^4.*/ + font '-Adobe-helvetica-medium-r-normal--*-180-*-*-*-*-*-*' + else + font 'Helvetica 14' + end }.pack('side'=>'top', 'fill'=>'x') len = 1 args.each{|vnam,vbody| @@ -635,8 +655,8 @@ private :_null_binding def eval_samplecode(code) #eval(code) - _null_binding.pseudo_toplevel_eval{ eval(code) } - #Thread.new{ _null_binding.pseudo_toplevel_eval{ eval(code) } } + #_null_binding.pseudo_toplevel_eval{ eval(code) } + Thread.new{ _null_binding.pseudo_toplevel_eval{ eval(code) } } Tk.update end @@ -928,7 +948,7 @@ end # def aboutBox Tk.messageBox('icon'=>'info', 'type'=>'ok', 'title'=>'About Widget Demo', - 'message'=>"Ruby/Tk ウィジェットデモ Ver.1.6.2-jp\n\n" + + 'message'=>"Ruby/Tk ウィジェットデモ Ver.1.6.3-jp\n\n" + "based on demos of Tk8.1 -- 8.5 " + "( Copyright:: " + "(c) 1996-1997 Sun Microsystems, Inc. / " + |