diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-05-22 09:26:02 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-05-22 09:26:02 +0000 |
commit | 0d6d23b25db0e7d14969504eeba6ac31581a79a2 (patch) | |
tree | c5cb2eb1a1bbc6d00de4d6826e180b24f53330d2 /ext/tk/sample | |
parent | 87dbea7bbf97746de91388bd63180faddf0ed6f5 (diff) | |
download | ruby-0d6d23b25db0e7d14969504eeba6ac31581a79a2.tar.gz |
* ext: remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31689 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/tk/sample')
56 files changed, 572 insertions, 572 deletions
diff --git a/ext/tk/sample/demos-en/ChangeLog.prev b/ext/tk/sample/demos-en/ChangeLog.prev index 536ce30abe..ba808eca8b 100644 --- a/ext/tk/sample/demos-en/ChangeLog.prev +++ b/ext/tk/sample/demos-en/ChangeLog.prev @@ -6,4 +6,4 @@ * Added test to widget and hello versus Tk::TCL_VERSION & Tk::JAPANIZED_TK (per Guy Decoux in [ruby-talk:18559]) before requiring tkencoding.rb. -
\ No newline at end of file + diff --git a/ext/tk/sample/demos-en/README b/ext/tk/sample/demos-en/README index 2908aa38e4..a6ea4fae8c 100644 --- a/ext/tk/sample/demos-en/README +++ b/ext/tk/sample/demos-en/README @@ -1,14 +1,14 @@ -Current Maintainer: +Current Maintainer: Jonathan Conway rise@knavery.net - Please direct all bug reports/requests/suggestions to the above + Please direct all bug reports/requests/suggestions to the above address. Notes: -* The files hello and widget have been changed to test Tk::TCL_VERSION +* The files hello and widget have been changed to test Tk::TCL_VERSION and Tk::JAPANIZED_TK before requiring tkencoding.rb to prevent an infinite loop. This test was taken from a message in [ruby-talk:18559] by Guy Decoux. @@ -18,7 +18,7 @@ Notes: able to use images exported by a graphics program as Windows bitmaps with this demo collection nor will you be able to edit the included images without setting the file type correctly. - + -- Jonathan Conway, 2001-07-26 @@ -28,19 +28,19 @@ Notes: # To create this version of the Ruby/Tk widget demo, I took the # ruby-tk81-demos and removed all the Kanji strings and comments. I # have tried to restore the original English strings and comments -# using the Tcl/Tk8.2.2 version of the widget demo. +# using the Tcl/Tk8.2.2 version of the widget demo. # # When I tried running the Kanji version, all I got was a mostly blank # panel with a non-functional "File" button. I disovered that if all # non-ASCII characters were replaced with blanks, then I could get the -# gutted stuff running. +# gutted stuff running. # # Since English Ruby/Tk documentation is lacking and I needed this # code to see how it worked and to use as the basis of my try-it # prototype (The Ruby Yielding Interactive Toolkit), plus the fact # that no help was forthcoming for making the Kanji version work (plus # the fact that I can't read Kanji anyway), I decided to embark on -# this English restoration project. +# this English restoration project. # # Thanks to everyone who worked on the original Ruby/Tk widget demo # (and the preceding Tcl/Tk version for that matter). The @@ -86,13 +86,13 @@ Windows(Cygwin)において、サンプルを動かすにはrubyを-Keというオプションを付 <eban@os.rim.or.jp> ---------------------------------------------------------------------------- - Ruby/Tk widget-demo + Ruby/Tk widget-demo version 1.1 ( 1998/07/24 ) 永井@知能.九工大 (nagai@ai.kyutech.ac.jp) -標準配布の Tcl/Tk 拡張パッケージを取り込んだ Ruby (以下 Ruby/Tk と呼びます) +標準配布の Tcl/Tk 拡張パッケージを取り込んだ Ruby (以下 Ruby/Tk と呼びます) では,Tk widget を用いた GUI の作成を行うことができます.実際に GUI を作成 -していく場合には様々な実例がサンプルとして存在すると便利なのですが,Ruby/Tk +していく場合には様々な実例がサンプルとして存在すると便利なのですが,Ruby/Tk にはそのような適当なサンプルスクリプト集合は存在しませんでした.それに対し, 拡張パッケージの元である Tcl/Tk には,Tk widget を用いてどのようなことがで きるかを示すものとして widget-demo が存在しおり,Tcl/Tk を用いた GUI の作成 @@ -118,21 +118,21 @@ Tcl/Tk には適当な参考書が何冊か存在していますから,Ruby/Tk スクリプトを作成 でしょう.Ruby/Tk 版の記述を widget-demo を Tcl/Tk 版の記述に近いものにして おけば,その対比によって,Ruby/Tk の理解を早めることができると考えられます. 一旦 Ruby/Tk での 各 widget の使用方法を習得してしまえば,Ruby らしいスクリ -プトを作成することは難しくないでしょう.本アーカイブのスクリプトは,Ruby/Tk +プトを作成することは難しくないでしょう.本アーカイブのスクリプトは,Ruby/Tk を最初に習得するまでの踏台として利用していただければ幸いです. widget-demo の移植にあたっては,次の方にも移植したスクリプトを提供していただ きました.ここに感謝の意を表します. - 立石@JAIST (ttate@jaist.ac.jp) さん + 立石@JAIST (ttate@jaist.ac.jp) さん 平松祥史 (hiramatu@cdrom.co.jp) さん -平松さんによる Ruby/Tk 入門の Web page (http://www.cdrom.co.jp/~hiramatu/) +平松さんによる Ruby/Tk 入門の Web page (http://www.cdrom.co.jp/~hiramatu/) も Ruby/Tk の習得に有用と思えますので,ぜひご参照ください. また,前橋 (maebashi@iij.ad.jp) さんをはじめとして,widget-demo の移植に際し て必要となった Ruby の Tk 関連ライブラリ修正について,問題点,バグの指摘をし ていただいた方々にも感謝致します. -そして最後に最大の感謝を Ruby 設計者の まつもと ゆきひろ (matz@netlab.co.jp) +そして最後に最大の感謝を Ruby 設計者の まつもと ゆきひろ (matz@netlab.co.jp) さんに捧げたいと思います. diff --git a/ext/tk/sample/demos-en/README.1st b/ext/tk/sample/demos-en/README.1st index e031f123d2..2ba1e275c8 100644 --- a/ext/tk/sample/demos-en/README.1st +++ b/ext/tk/sample/demos-en/README.1st @@ -1,18 +1,18 @@ There are Ruby/Tk demo scripts. Files with '.rb' extension are sub-scripts which are launched 'widget' -script. Those files don't work independently. Please call them from +script. Those files don't work independently. Please call them from 'widget' script. If you want start some sub-scripts at same time when the launcher -script tarts, please give the sub-script names as arguments. +script tarts, please give the sub-script names as arguments. (e.g. /usr/local/bin/ruby widget button.rb entry1.rb text.rb ) You can ommit '.rb' of the sub-scripts (e.g. /usr/local/bin/ruby widget button entry1 text ) -If you don't need launcher's main window, give -n option. +If you don't need launcher's main window, give -n option. (e.g. /usr/local/bin/ruby widget -n button.rb entry1.rb text.rb ) -Others (browse1, hello, and so on) are standalone scripts. +Others (browse1, hello, and so on) are standalone scripts. 2004/04/14 Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp) diff --git a/ext/tk/sample/demos-en/README.tkencoding b/ext/tk/sample/demos-en/README.tkencoding index f576bc593e..679b476a08 100644 --- a/ext/tk/sample/demos-en/README.tkencoding +++ b/ext/tk/sample/demos-en/README.tkencoding @@ -1,5 +1,5 @@ -This is a original document of 'tkencoding.rb'. -The library 'tkencoding.rb' is obsolete. +This is a original document of 'tkencoding.rb'. +The library 'tkencoding.rb' is obsolete. Functions of tkencoding.rb is already included into Ruby/Tk. ------------------------------------------------- diff --git a/ext/tk/sample/demos-en/browse1 b/ext/tk/sample/demos-en/browse1 index 03e251035a..568892e4a8 100644 --- a/ext/tk/sample/demos-en/browse1 +++ b/ext/tk/sample/demos-en/browse1 @@ -1,16 +1,16 @@ #!/usr/bin/env ruby # browse -- -# This script generates a directory browser, which lists the working -# directory and allow you to open files or subdirectories by -# double-clicking. +# This script generates a directory browser, which lists the working +# directory and allow you to open files or subdirectories by +# double-clicking. require 'tk' -# Create a scrollbar on the right side of the main window and a listbox +# Create a scrollbar on the right side of the main window and a listbox # on the left side. -listbox = TkListbox.new(nil, 'relief'=>'sunken', +listbox = TkListbox.new(nil, 'relief'=>'sunken', 'width'=>20, 'height'=>20, 'setgrid'=>'yes') {|l| TkScrollbar.new(nil, 'command'=>proc{|*args| l.yview *args}) {|s| pack('side'=>'right', 'fill'=>'y') @@ -23,10 +23,10 @@ listbox = TkListbox.new(nil, 'relief'=>'sunken', root = TkRoot.new root.minsize(1,1) -# The procedure below is invoked to open a browser on a given file; if the -# file is a directory then another instance of this program is invoked; if -# the file is a regular file then the Mx editor is invoked to display -# the file. +# The procedure below is invoked to open a browser on a given file; if the +# file is a directory then another instance of this program is invoked; if +# the file is a regular file then the Mx editor is invoked to display +# the file. def browse (dir, file) file = dir + File::Separator + file if dir != '.' @@ -46,7 +46,7 @@ def browse (dir, file) end end -# Fill the listbox with a list of all the files in the directory (run +# Fill the listbox with a list of all the files in the directory (run # the "ls" command to get that information). dir = ARGV[0] ? ARGV[0] : '.' @@ -57,7 +57,7 @@ open("|ls -a #{dir}", 'r'){|fid| fid.readlines}.each{|fname| # Set up bindings for the browser. Tk.bind_all('Control-c', proc{root.destroy}) -listbox.bind('Double-Button-1', +listbox.bind('Double-Button-1', proc{TkSelection.get.each{|f| browse dir, f}}) Tk.mainloop diff --git a/ext/tk/sample/demos-en/browse2 b/ext/tk/sample/demos-en/browse2 index edad04dbcb..1a511c8d29 100644 --- a/ext/tk/sample/demos-en/browse2 +++ b/ext/tk/sample/demos-en/browse2 @@ -1,9 +1,9 @@ #!/usr/bin/env ruby # browse -- -# This script generates a directory browser, which lists the working -# directory and allow you to open files or subdirectories by -# double-clicking. +# This script generates a directory browser, which lists the working +# directory and allow you to open files or subdirectories by +# double-clicking. require 'tk' @@ -19,9 +19,9 @@ class Browse title('Browse : ' + dir) } - # Create a scrollbar on the right side of the main window and a listbox + # Create a scrollbar on the right side of the main window and a listbox # on the left side. - list = TkListbox.new(base, 'relief'=>'sunken', + list = TkListbox.new(base, 'relief'=>'sunken', 'width'=>20, 'height'=>20, 'setgrid'=>'yes') {|l| TkScrollbar.new(base, 'command'=>proc{|*args| l.yview *args}) {|s| pack('side'=>'right', 'fill'=>'y') @@ -30,7 +30,7 @@ class Browse pack('side'=>'left', 'fill'=>'both', 'expand'=>'yes') - # Fill the listbox with a list of all the files in the directory (run + # Fill the listbox with a list of all the files in the directory (run # the "ls" command to get that information). open("|ls -a #{dir}", 'r'){|fid| fid.readlines}.each{|fname| l.insert('end', fname.chomp) @@ -44,14 +44,14 @@ class Browse Browse::BROWSE_WIN_COUNTER.to_i - 1 }) base.bind('Control-c', proc{base.destroy}) - list.bind('Double-Button-1', + list.bind('Double-Button-1', proc{TkSelection.get.each{|f| self.browse dir, f}}) end - # The method below is invoked to open a browser on a given file; if the - # file is a directory then another instance of this program is invoked; if - # the file is a regular file then the Mx editor is invoked to display - # the file. + # The method below is invoked to open a browser on a given file; if the + # file is a directory then another instance of this program is invoked; if + # the file is a regular file then the Mx editor is invoked to display + # the file. def browse (dir, file) file = dir + File::Separator + file if dir != '.' type = File.ftype(file) diff --git a/ext/tk/sample/demos-en/doc.org/license.terms b/ext/tk/sample/demos-en/doc.org/license.terms index 03ca6fcb31..c0a44d3fc2 100644 --- a/ext/tk/sample/demos-en/doc.org/license.terms +++ b/ext/tk/sample/demos-en/doc.org/license.terms @@ -28,7 +28,7 @@ MODIFICATIONS. GOVERNMENT USE: If you are acquiring this software on behalf of the U.S. government, the Government shall have only "Restricted Rights" -in the software and related documentation as defined in the Federal +in the software and related documentation as defined in the Federal Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you are acquiring the software on behalf of the Department of Defense, the software shall be classified as "Commercial Computer Software" and the diff --git a/ext/tk/sample/demos-en/doc.org/license.terms.tk80 b/ext/tk/sample/demos-en/doc.org/license.terms.tk80 index 03ca6fcb31..c0a44d3fc2 100644 --- a/ext/tk/sample/demos-en/doc.org/license.terms.tk80 +++ b/ext/tk/sample/demos-en/doc.org/license.terms.tk80 @@ -28,7 +28,7 @@ MODIFICATIONS. GOVERNMENT USE: If you are acquiring this software on behalf of the U.S. government, the Government shall have only "Restricted Rights" -in the software and related documentation as defined in the Federal +in the software and related documentation as defined in the Federal Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you are acquiring the software on behalf of the Department of Defense, the software shall be classified as "Commercial Computer Software" and the diff --git a/ext/tk/sample/demos-en/ixset b/ext/tk/sample/demos-en/ixset index 979894fcb8..40a77f487c 100644 --- a/ext/tk/sample/demos-en/ixset +++ b/ext/tk/sample/demos-en/ixset @@ -164,8 +164,8 @@ class Xsettings # bell = TkFrame.new(@root, 'relief'=>'raised', 'borderwidth'=>2) l = TkLabel.new(bell, 'text'=>'Bell Settings') - @w_bellvol = TkScale.new(bell, 'from'=>0, 'to'=>100, 'length'=>200, - 'tickinterval'=>20, 'orient'=>'horizontal', + @w_bellvol = TkScale.new(bell, 'from'=>0, 'to'=>100, 'length'=>200, + 'tickinterval'=>20, 'orient'=>'horizontal', 'label'=>"Volume (%)") f = TkFrame.new(bell) @@ -180,13 +180,13 @@ class Xsettings # # Keyboard settings - # + # kbdonoff = nil kbdcli = nil kbd = TkFrame.new(@root, 'relief'=>'raised', 'borderwidth'=>2) l = TkLabel.new(kbd, 'text'=>'Keyboard Repeat Settings') f = TkFrame.new(kbd) - @w_kbdonoff = TkCheckButton.new(f, 'text'=>'On', 'relief'=>'flat', + @w_kbdonoff = TkCheckButton.new(f, 'text'=>'On', 'relief'=>'flat', 'onvalue'=>'on', 'offvalue'=>'off', 'variable'=>@w_kbdrep ) { def self.set(value) @@ -198,8 +198,8 @@ class Xsettings end pack('side'=>'left', 'expand'=>'yes', 'fill'=>'both') } - @w_kbdcli = TkScale.new(f, 'from'=>0, 'to'=>100, 'length'=>200, - 'tickinterval'=>20, 'orient'=>'horizontal', + @w_kbdcli = TkScale.new(f, 'from'=>0, 'to'=>100, 'length'=>200, + 'tickinterval'=>20, 'orient'=>'horizontal', 'label'=>'Click Volume (%)') @w_kbdcli.pack('side'=>'left', 'expand'=>'yes') l.pack('side'=>'top', 'expand'=>'yes') @@ -225,9 +225,9 @@ class Xsettings l = TkLabel.new(screen, 'text'=>'Screen-saver Settings') f = TkFrame.new(screen) ff1 = TkFrame.new(f) - [ @w_screenblank = TkRadioButton.new(ff1, 'text'=>'Blank', - 'relief'=>'flat', - 'variable'=>@w_screenbla, + [ @w_screenblank = TkRadioButton.new(ff1, 'text'=>'Blank', + 'relief'=>'flat', + 'variable'=>@w_screenbla, 'value'=>'blank') { def self.set(value) if value == 'blank' @@ -236,10 +236,10 @@ class Xsettings self.deselect end end - }, - @w_screenpat = TkRadioButton.new(ff1, 'text'=>'Pattern', - 'relief'=>'flat', - 'variable'=>@w_screenbla, + }, + @w_screenpat = TkRadioButton.new(ff1, 'text'=>'Pattern', + 'relief'=>'flat', + 'variable'=>@w_screenbla, 'value'=>'noblank') { def self.set(value) if value != 'blank' @@ -252,7 +252,7 @@ class Xsettings ].each {|w| w.pack('side'=>'top', 'pady'=>2, 'anchor'=>'w') } ff2 = TkFrame.new(f) - [ @w_screentim = LabelEntry.new(ff2, 'Timeout (s)', 5), + [ @w_screentim = LabelEntry.new(ff2, 'Timeout (s)', 5), @w_screencyc = LabelEntry.new(ff2, 'Cycle (s)', 5) ].each{|w| w.pack('side'=>'top', 'pady'=>2, 'anchor'=>'e') } diff --git a/ext/tk/sample/demos-en/ixset2 b/ext/tk/sample/demos-en/ixset2 index ce8472abe0..cb99c60793 100644 --- a/ext/tk/sample/demos-en/ixset2 +++ b/ext/tk/sample/demos-en/ixset2 @@ -134,8 +134,8 @@ class Xsettings def initialize(parent, text, length, range=[]) @frame = TkFrame.new(parent) TkLabel.new(@frame, 'text'=>text).pack('side'=>'left') - if range.size > 0 - @entry = TkSpinbox.new(@frame, 'width'=>length, 'relief'=>'sunken', + if range.size > 0 + @entry = TkSpinbox.new(@frame, 'width'=>length, 'relief'=>'sunken', 'from'=>range[0], 'to'=>range[1]) else @entry = TkEntry.new(@frame, 'width'=>length, 'relief'=>'sunken') @@ -164,16 +164,16 @@ class Xsettings # Buttons # btn_frame = TkFrame.new(@root) - buttons = [ - @btn_OK = TkButton.new(btn_frame, 'command'=>proc{win.ok}, + buttons = [ + @btn_OK = TkButton.new(btn_frame, 'command'=>proc{win.ok}, 'default'=>'active', 'text'=>'Ok'), - @btn_APPLY = TkButton.new(btn_frame, 'command'=>proc{win.writesettings}, - 'default'=>'normal', 'text'=>'Apply', + @btn_APPLY = TkButton.new(btn_frame, 'command'=>proc{win.writesettings}, + 'default'=>'normal', 'text'=>'Apply', 'state'=>'disabled'), - @btn_CANCEL = TkButton.new(btn_frame, 'command'=>proc{win.cancel}, - 'default'=>'normal', 'text'=>'Cancel', + @btn_CANCEL = TkButton.new(btn_frame, 'command'=>proc{win.cancel}, + 'default'=>'normal', 'text'=>'Cancel', 'state'=>'disabled'), - @btn_QUIT = TkButton.new(btn_frame, 'command'=>proc{win.quit}, + @btn_QUIT = TkButton.new(btn_frame, 'command'=>proc{win.quit}, 'default'=>'normal', 'text'=>'Quit') ] buttons.each{|b| b.pack('side'=>'left', 'expand'=>'yes', 'pady'=>5) } @@ -201,10 +201,10 @@ class Xsettings # # Bell settings # - bell = TkLabelframe.new(@root, 'text'=>'Bell Settings', + bell = TkLabelframe.new(@root, 'text'=>'Bell Settings', 'padx'=>'1.5m', 'pady'=>'1.5m') - @w_bellvol = TkScale.new(bell, 'from'=>0, 'to'=>100, 'length'=>200, - 'tickinterval'=>20, 'orient'=>'horizontal', + @w_bellvol = TkScale.new(bell, 'from'=>0, 'to'=>100, 'length'=>200, + 'tickinterval'=>20, 'orient'=>'horizontal', 'label'=>"Volume (%)") f = TkFrame.new(bell) @@ -218,13 +218,13 @@ class Xsettings # # Keyboard settings - # + # kbdonoff = nil kbdcli = nil - kbd = TkLabelframe.new(@root, 'text'=>'Keyboard Repeat Settings', + kbd = TkLabelframe.new(@root, 'text'=>'Keyboard Repeat Settings', 'padx'=>'1.5m', 'pady'=>'1.5m') f = TkFrame.new(kbd) - @w_kbdonoff = TkCheckButton.new(f, 'text'=>'On', 'relief'=>'flat', + @w_kbdonoff = TkCheckButton.new(f, 'text'=>'On', 'relief'=>'flat', 'onvalue'=>'on', 'offvalue'=>'off', 'variable'=>@w_kbdrep ) { def self.set(value) @@ -236,17 +236,17 @@ class Xsettings end pack('side'=>'left', 'expand'=>'yes', 'fill'=>'x', 'padx'=>[0, '1m']) } - @w_kbdcli = TkScale.new(f, 'from'=>0, 'to'=>100, 'length'=>200, - 'tickinterval'=>20, 'orient'=>'horizontal', + @w_kbdcli = TkScale.new(f, 'from'=>0, 'to'=>100, 'length'=>200, + 'tickinterval'=>20, 'orient'=>'horizontal', 'label'=>'Click Volume (%)') - @w_kbdcli.pack('side'=>'left', 'expand'=>'yes', + @w_kbdcli.pack('side'=>'left', 'expand'=>'yes', 'fill'=>'x', 'padx'=>['1m', 0]) f.pack('side'=>'top', 'expand'=>'yes', 'pady'=>2, 'fill'=>'x') # # Mouse settings # - mouse = TkLabelframe.new(@root, 'text'=>'Mouse Settings', + mouse = TkLabelframe.new(@root, 'text'=>'Mouse Settings', 'padx'=>'1.5m', 'pady'=>'1.5m') f = TkFrame.new(mouse) @w_mouseacc = LabelEntry.new(f, 'Acceleration', 5) @@ -258,11 +258,11 @@ class Xsettings # # Screen Saver settings # - screen = TkLabelframe.new(@root, 'text'=>'Screen-saver Settings', + screen = TkLabelframe.new(@root, 'text'=>'Screen-saver Settings', 'padx'=>'1.5m', 'pady'=>'1.5m') - @w_screenblank = TkRadioButton.new(screen, 'text'=>'Blank', - 'relief'=>'flat', 'anchor'=>'w', - 'variable'=>@w_screenbla, + @w_screenblank = TkRadioButton.new(screen, 'text'=>'Blank', + 'relief'=>'flat', 'anchor'=>'w', + 'variable'=>@w_screenbla, 'value'=>'blank') { def self.set(value) if value == 'blank' @@ -273,9 +273,9 @@ class Xsettings end } - @w_screenpat = TkRadioButton.new(screen, 'text'=>'Pattern', - 'relief'=>'flat', 'anchor'=>'w', - 'variable'=>@w_screenbla, + @w_screenpat = TkRadioButton.new(screen, 'text'=>'Pattern', + 'relief'=>'flat', 'anchor'=>'w', + 'variable'=>@w_screenbla, 'value'=>'noblank') { def self.set(value) if value != 'blank' @@ -297,7 +297,7 @@ class Xsettings # Main window # param = { - 'side'=>'top', 'fill'=>'both', 'expand'=>'yes', + 'side'=>'top', 'fill'=>'both', 'expand'=>'yes', 'padx'=>'1m', 'pady'=>'1m' } btn_frame.pack('side'=>'top', 'fill'=>'both') diff --git a/ext/tk/sample/demos-en/rmt b/ext/tk/sample/demos-en/rmt index 73f631180a..dcfb328fc8 100644 --- a/ext/tk/sample/demos-en/rmt +++ b/ext/tk/sample/demos-en/rmt @@ -1,9 +1,9 @@ #!/usr/bin/env ruby -# rmt -- -# This script implements a simple remote-control mechanism for -# Tk applications. It allows you to select an application and -# then type commands to that application. +# rmt -- +# This script implements a simple remote-control mechanism for +# Tk applications. It allows you to select an application and +# then type commands to that application. require 'tk' @@ -17,41 +17,41 @@ class Rmt root = TkWinfo.toplevel(parent) root.minsize(1,1) - # The instance variable below keeps track of the remote application - # that we're sending to. If it's an empty string then we execute - # the commands locally. + # The instance variable below keeps track of the remote application + # that we're sending to. If it's an empty string then we execute + # the commands locally. @app = 'local' @mode = 'Ruby' - # The instance variable below keeps track of whether we're in the - # middle of executing a command entered via the text. + # The instance variable below keeps track of whether we're in the + # middle of executing a command entered via the text. @executing = 0 - # The instance variable below keeps track of the last command executed, - # so it can be re-executed in response to !! commands. + # The instance variable below keeps track of the last command executed, + # so it can be re-executed in response to !! commands. @lastCommand = "" - # Create menu bar. Arrange to recreate all the information in the - # applications sub-menu whenever it is cascaded to. + # Create menu bar. Arrange to recreate all the information in the + # applications sub-menu whenever it is cascaded to. TkFrame.new(root, 'relief'=>'raised', 'bd'=>2) {|f| pack('side'=>'top', 'fill'=>'x') TkMenubutton.new(f, 'text'=>'File', 'underline'=>0) {|mb| TkMenu.new(mb) {|mf| mb.menu(mf) - TkMenu.new(mf) {|ma| + TkMenu.new(mf) {|ma| postcommand proc{win.fillAppsMenu ma} - mf.add('cascade', 'label'=>'Select Application', + mf.add('cascade', 'label'=>'Select Application', 'menu'=>ma, 'underline'=>0) } - add('command', 'label'=>'Quit', + add('command', 'label'=>'Quit', 'command'=>proc{root.destroy}, 'underline'=>0) } pack('side'=>'left') } } - # Create text window and scrollbar. + # Create text window and scrollbar. @txt = TkText.new(root, 'relief'=>'sunken', 'bd'=>2, 'setgrid'=>true) { yscrollbar(TkScrollbar.new(root){pack('side'=>'right', 'fill'=>'y')}) @@ -60,9 +60,9 @@ class Rmt @promptEnd = TkTextMark.new(@txt, 'insert') - # Create a binding to forward commands to the target application, - # plus modify many of the built-in bindings so that only information - # in the current command can be deleted (can still set the cursor + # Create a binding to forward commands to the target application, + # plus modify many of the built-in bindings so that only information + # in the current command can be deleted (can still set the cursor # earlier in the text and select and insert; just can't delete). @txt.bindtags([@txt, TkText, root, 'all']) @@ -151,8 +151,8 @@ class Rmt w.see('insert') end - # The method below is used to print out a prompt at the - # insertion point (which should be at the beginning of a line + # The method below is used to print out a prompt at the + # insertion point (which should be at the beginning of a line # right now). def prompt @@ -162,8 +162,8 @@ class Rmt @txt.tag_add('bold', "#{@promptEnd.path} linestart", @promptEnd) end - # The method below executes a command (it takes everything on the - # current line after the prompt and either sends it to the remote + # The method below executes a command (it takes everything on the + # current line after the prompt and either sends it to the remote # application or executes it locally, depending on "app". def invoke @@ -200,8 +200,8 @@ class Rmt if complete @lastCommand = cmd begin -# msg = Tk.appsend(@app, false, -# 'ruby', +# msg = Tk.appsend(@app, false, +# 'ruby', # '"(' + cmd.gsub(/[][$"]/, '\\\\\&') + ').to_s"') msg = Tk.rb_appsend(@app, false, cmd) rescue @@ -218,10 +218,10 @@ class Rmt end # The following method is invoked to change the application that - # we're talking to. It also updates the prompt for the current - # command, unless we're in the middle of executing a command from - # the text item (in which case a new prompt is about to be output - # so there's no need to change the old one). + # we're talking to. It also updates the prompt for the current + # command, unless we're in the middle of executing a command from + # the text item (in which case a new prompt is about to be output + # so there's no need to change the old one). def newApp(appName, mode) @app = appName @@ -236,7 +236,7 @@ class Rmt end # The method below will fill in the applications sub-menu with a list - # of all the applications that currently exist. + # of all the applications that currently exist. def fillAppsMenu(menu) win = self @@ -251,14 +251,14 @@ class Rmt else mode = 'Ruby' end - menu.add('command', 'label'=>format("%s (#{mode}/Tk)", ip), + menu.add('command', 'label'=>format("%s (#{mode}/Tk)", ip), 'command'=>proc{win.newApp ip, mode}) rescue - menu.add('command', 'label'=>format("%s (unknown Tk)", ip), + menu.add('command', 'label'=>format("%s (unknown Tk)", ip), 'command'=>proc{win.newApp ip, mode}, 'state'=>'disabled') end } - menu.add('command', 'label'=>format("local (Ruby/Tk)"), + menu.add('command', 'label'=>format("local (Ruby/Tk)"), 'command'=>proc{win.newApp 'local', 'Ruby'}) end end diff --git a/ext/tk/sample/demos-en/rolodex b/ext/tk/sample/demos-en/rolodex index 9a4030e902..dfc4b2b245 100644 --- a/ext/tk/sample/demos-en/rolodex +++ b/ext/tk/sample/demos-en/rolodex @@ -2,7 +2,7 @@ # # rolodex -- # This script is a part of Tom LaStrange's rolodex -# +# # Copyright (C) 1998 by Takaaki Tateishi <ttate@jaist.ac.jp> # Time-stamp: "03/08/02 06:23:06 nagai" # @@ -17,7 +17,7 @@ def show_help(topic,x=0,y=0) topic = w end end - + if( $helpTopics.include?(topic) ) msg = $helpTopics[topic] else @@ -81,7 +81,7 @@ class RolodexFrame < TkFrame def initialize(parent=nil,keys=nil) super(parent,keys) self["relief"] = "flat" - + @i = [] @label = [] @entry = [] diff --git a/ext/tk/sample/demos-en/square b/ext/tk/sample/demos-en/square index 00bfde59ff..bb66282154 100644 --- a/ext/tk/sample/demos-en/square +++ b/ext/tk/sample/demos-en/square @@ -1,10 +1,10 @@ #!/usr/bin/env ruby # square -- -# This script generates a demo application containing only -# a "square" widget. It's only usable if Tk has been compiled -# with tkSquare.c and with the -DSQUARE_DEMO compiler switch. -# This demo arranges the following bindings for the widget: +# This script generates a demo application containing only +# a "square" widget. It's only usable if Tk has been compiled +# with tkSquare.c and with the -DSQUARE_DEMO compiler switch. +# This demo arranges the following bindings for the widget: # # Button-1 press/drag: moves square to mouse # "a": toggle size animation on/off @@ -19,7 +19,7 @@ class TkSquare<TkWindow tk_call 'square', path rescue STDERR.print "\nSorry. Your Tk interpreter does not contain " + - 'a "square" demonstration widget.' + + 'a "square" demonstration widget.' + "\n ( See documents included the Tcl/Tk source archive. )\n\n" exit end @@ -53,7 +53,7 @@ def center(x,y) end # The procedures below provide a simple form of animation where -# the box changes size in a pulsing pattern: larger, smaller, larger, +# the box changes size in a pulsing pattern: larger, smaller, larger, # and so on. $inc = 0 diff --git a/ext/tk/sample/demos-en/tcolor b/ext/tk/sample/demos-en/tcolor index 3c63d6730d..48cda6d1da 100644 --- a/ext/tk/sample/demos-en/tcolor +++ b/ext/tk/sample/demos-en/tcolor @@ -126,7 +126,7 @@ def _null_binding end private :_null_binding -def doUpdate +def doUpdate newCmd = $command.to_s.gsub("%%","\"#{$color}\"") eval(newCmd, _null_binding) end @@ -134,7 +134,7 @@ end def tc_scaleChanged if( $updating.to_i == 1 ) - return + return end $master = :scale if $master == nil @@ -151,7 +151,7 @@ def tc_scaleChanged when :cmy $red = (65535 - scale1.get * 65.535).to_i $green = (65535 - scale2.get * 65.535).to_i - $blue = (65535 - scale3.get * 65.535).to_i + $blue = (65535 - scale3.get * 65.535).to_i when :hsb list = hsbToRgb(scale1.get / 1000.0, scale2.get / 1000.0, @@ -179,7 +179,7 @@ def tc_setScales scale1 = $root.middle.middle.scale1 scale2 = $root.middle.middle.scale2 scale3 = $root.middle.middle.scale3 - + case $colorSpace.value.intern when :rgb scale1.set($red / 65.535) @@ -205,7 +205,7 @@ end def tc_loadNamedColor(name) $name.value = name $master = :name if $master == nil - if name[0,1] != "#" + if name[0,1] != "#" list = TkWinfo.rgb($root.middle.right.swatch,name) $red = list[0] $green = list[1] @@ -239,7 +239,7 @@ def tc_loadNamedColor(name) $green = $green << shift $blue = $blue << shift end - + tc_setScales $color = format("#%04x%04x%04x",$red,$green,$blue) $root.middle.right.set_color($color) @@ -318,7 +318,7 @@ class TkColorMenuFrame<TkFrame "underline" => "0", "command" => proc{exit} } - + # assign File menu to File button menu @file_menu @@ -354,7 +354,7 @@ class TkColorBotFrame<TkFrame self end -end +end # left side frame of middle level @@ -459,7 +459,7 @@ class TkColorMiddleRightFrame<TkFrame super(parent) @swatch = TkFrame.new(self, "width"=>"2c", "height"=>"5c", "background"=>$color) - @value = TkLabel.new(self, + @value = TkLabel.new(self, "text"=>$color, "width"=>"13", "font"=>"-Adobe-Courier-Medium-R-Normal--*-120-*-*-*-*-*-*") diff --git a/ext/tk/sample/demos-en/timer b/ext/tk/sample/demos-en/timer index 58a41d00c0..6cb7c87e09 100644 --- a/ext/tk/sample/demos-en/timer +++ b/ext/tk/sample/demos-en/timer @@ -69,7 +69,7 @@ class CountFrame < TkFrame def initialize(parent=nil,keys=nil) super(parent,keys) @counter = TkLabel.new(self, - 'text'=>$time, + 'text'=>$time, 'relief'=>'raised') @counter.pack('fill'=>'both') self diff --git a/ext/tk/sample/demos-en/widget b/ext/tk/sample/demos-en/widget index 250c589116..e6510c7e45 100644 --- a/ext/tk/sample/demos-en/widget +++ b/ext/tk/sample/demos-en/widget @@ -26,15 +26,15 @@ $RubyTk_WidgetDemo = true # $demo_dir = File.dirname($0) $demo_dir = File.dirname(__FILE__) -# root +# root $root = TkRoot.new{title "Ruby/Tk Widget Demonstration"} -# tk +# tk $tk_version = Tk::TK_VERSION $tk_major_ver, $tk_minor_ver = $tk_version.split('.').map{|n| n.to_i} $tk_patchlevel = Tk::TK_PATCHLEVEL -# tcl_platform +# tcl_platform $tk_platform = TkVarAccess.new('tcl_platform') # @@ -104,18 +104,18 @@ $image['print'] = TkPhotoImage.new(:height=>19, :format=>'GIF', :data=><<EOD) EOD end -# +# if $tk_major_ver >= 8 - $root.add_menubar([[['File', 0], + $root.add_menubar([[['File', 0], ['About ... ', proc{aboutBox}, 0, '<F1>'], - '---', + '---', ['Quit', proc{exit}, 0, 'Ctrl-Q'] ]]) else - TkMenubar.new($root, - [[['File', 0], + TkMenubar.new($root, + [[['File', 0], ['About ... ', proc{aboutBox}, 0, '<F1>'], - '---', + '---', ['Quit', proc{exit}, 0, 'Ctrl-Q'] ]]).pack('side'=>'top', 'fill'=>'x') end @@ -135,7 +135,7 @@ TkFrame.new($root){|frame| }.pack('side'=>'top', 'fill'=>'x') =end -# +# if $tk_version =~ /^4\.[01]/ scr = TkScrollbar.new($root, 'orient'=>'vertical') txt = TkText.new($root) { @@ -151,7 +151,7 @@ if $tk_version =~ /^4\.[01]/ txt.pack('expand'=>'yes', 'fill'=>'both') else textFrame = TkFrame.new($root) - scr = TkScrollbar.new($root, 'orient'=>'vertical', + scr = TkScrollbar.new($root, 'orient'=>'vertical', 'highlightthickness'=>0, 'takefocus'=>1) { pack('in'=>textFrame, 'side'=>'right', 'fill'=>'y', 'padx'=>1) } @@ -184,10 +184,10 @@ else statusfont = 'Helvetica 10' end $statusBarLabel = \ - TkLabel.new(f, 'text'=>" ", 'relief'=>'sunken', 'bd'=>1, 'anchor'=>'w', + TkLabel.new(f, 'text'=>" ", 'relief'=>'sunken', 'bd'=>1, 'anchor'=>'w', 'font'=>statusfont) \ .pack('side'=>'left', 'padx'=>2, 'expand'=>'yes', 'fill'=>'both') - TkLabel.new(f, 'width'=>8, 'relief'=>'sunken', 'bd'=>1, 'anchor'=>'w', + TkLabel.new(f, 'width'=>8, 'relief'=>'sunken', 'bd'=>1, 'anchor'=>'w', 'font'=>statusfont) \ .pack('side'=>'left', 'padx'=>2) }.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>2) @@ -196,7 +196,7 @@ end # Create a bunch of tags to use in the text widget, such as those for # section titles and demo descriptions. Also define the bindings for # tags. - + if $tk_version =~ /^4.*/ tag_title = TkTextTag.new(txt, 'font'=>'-*-Helvetica-Bold-R-Normal--*-180-*-*-*-*-*-*') else @@ -210,23 +210,23 @@ end tag_demospace = TkTextTag.new(txt, 'lmargin1'=>'1c', 'lmargin2'=>'1c') if TkWinfo.depth($root) == 1 - tag_demo = TkTextTag.new(txt, 'lmargin1'=>'1c', 'lmargin2'=>'1c', + tag_demo = TkTextTag.new(txt, 'lmargin1'=>'1c', 'lmargin2'=>'1c', 'underline'=>1) - $tag_visited = TkTextTag.new(txt, 'lmargin1'=>'1c', 'lmargin2'=>'1c', + $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', + tag_demo = TkTextTag.new(txt, 'lmargin1'=>'1c', 'lmargin2'=>'1c', 'foreground'=>'blue', 'underline'=>1) - $tag_visited = TkTextTag.new(txt, 'lmargin1'=>'1c', 'lmargin2'=>'1c', + $tag_visited = TkTextTag.new(txt, 'lmargin1'=>'1c', 'lmargin2'=>'1c', 'foreground'=>'#303080', 'underline'=>1) -# tag_hot = TkTextTag.new(txt, 'relief'=>'raised', 'borderwidth'=>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', +tag_demo.bind('ButtonRelease-1', proc{|x,y|invoke txt, txt.index("@#{x},#{y}")}, '%x %y') lastLine = TkVariable.new("") @@ -237,7 +237,7 @@ tag_demo.bind('Enter', proc{|x,y| showStatus txt, txt.index("@#{x},#{y}") }, '%x %y') -tag_demo.bind('Leave', +tag_demo.bind('Leave', proc{ tag_hot.remove('1.0','end') txt.configure('cursor','xterm') @@ -248,10 +248,10 @@ tag_demo.bind('Motion', proc{|x, y| if newLine.value != lastLine.value tag_hot.remove('1.0','end') lastLine.value = newLine.value - if ( txt.tag_names("@#{x},#{y}").find{|t| + if ( txt.tag_names("@#{x},#{y}").find{|t| t.kind_of?(String) && t =~ /^demo-/ } ) - tag_hot.add(lastLine.value, + tag_hot.add(lastLine.value, "#{lastLine.value} lineend -1 chars") end end @@ -273,7 +273,7 @@ demonstration. If you wish, you can edit the code and click the \ with the modified code. \ Don't worry about breaking the source code. \ Your modifications are not reflected on the original file. \ -Please try many kind of changes. +Please try many kind of changes. Some demo scripts require the recent version of Tk library \ (e.g. Tk8.4 or later) \ @@ -353,8 +353,8 @@ txt.insert('end', "1. Without scrollbars.\n", tag_demo, "demo-entry1") txt.insert('end', " \n ", tag_demospace) txt.insert('end', "2. With scrollbars.\n", tag_demo, "demo-entry2") txt.insert('end', " \n ", tag_demospace) -txt.insert('end', - "3. Validated entries and password fields. (if supported)\n", +txt.insert('end', + "3. Validated entries and password fields. (if supported)\n", tag_demo, "demo-entry3") txt.insert('end', " \n ", tag_demospace) txt.insert('end', "4. Spin-boxes. (if supported)\n", tag_demo, "demo-spin") @@ -499,7 +499,7 @@ $showVarsWin = {} def showVars1(parent, *args) if $showVarsWin[parent.path] begin - $showVarsWin[parent.path].destroy + $showVarsWin[parent.path].destroy rescue end end @@ -539,7 +539,7 @@ end def showVars2(parent, *args) if $showVarsWin[parent.path] begin - $showVarsWin[parent.path].destroy + $showVarsWin[parent.path].destroy rescue end end @@ -548,11 +548,11 @@ def showVars2(parent, *args) base = TkFrame.new(top).pack(:fill=>:both, :expand=>true) - TkLabelFrame.new(base, :text=>"Variable values:", + TkLabelFrame.new(base, :text=>"Variable values:", :font=>{:family=>'Helvetica', :size=>14}){|f| args.each{|vnam,vbody| - TkGrid(TkLabel.new(f, :text=>"#{vnam}: ", :anchor=>'w'), - TkLabel.new(f, :textvariable=>vbody, :anchor=>'w'), + TkGrid(TkLabel.new(f, :text=>"#{vnam}: ", :anchor=>'w'), + TkLabel.new(f, :textvariable=>vbody, :anchor=>'w'), :padx=>2, :pady=>2, :sticky=>'w') } @@ -560,7 +560,7 @@ def showVars2(parent, *args) f.grid_columnconfig(1, :weight=>1) f.grid_rowconfig(100, :weight=>1) } - TkButton.new(base, :text=>"OK", :width=>8, :default=>:active, + TkButton.new(base, :text=>"OK", :width=>8, :default=>:active, :command=>proc{top.destroy}){|b| top.bind('Return', proc{b.invoke}) top.bind('Escape', proc{b.invoke}) @@ -610,9 +610,9 @@ class Object def method_missing(id, *args) begin - has_top = (top = Thread.current[:TOPLEVEL]) && - top.respond_to?(:pseudo_toplevel_evaluable?) && - top.pseudo_toplevel_evaluable? && + has_top = (top = Thread.current[:TOPLEVEL]) && + top.respond_to?(:pseudo_toplevel_evaluable?) && + top.pseudo_toplevel_evaluable? && top.respond_to?(id) rescue Exception => e has_top = false @@ -738,7 +738,7 @@ def showStatus (txt, index) newcursor = 'xterm' else demoname = tag[5..-1] - $statusBarLabel.configure('text', + $statusBarLabel.configure('text', "Run the \"#{demoname}\" sample program") newcursor = 'hand2' end @@ -800,9 +800,9 @@ def showCode1(demo) TkFrame.new($code_window) {|f| pack('expand'=>'yes', 'fill'=>'both', 'padx'=>1, 'pady'=>1) - hs = TkScrollbar.new($code_window, 'highlightthickness'=>0, + hs = TkScrollbar.new($code_window, 'highlightthickness'=>0, 'orient'=>'horizontal') - vs = TkScrollbar.new($code_window, 'highlightthickness'=>0, + vs = TkScrollbar.new($code_window, 'highlightthickness'=>0, 'orient'=>'vertical') $code_text = TkText.new($code_window) {|t| height 40 @@ -817,11 +817,11 @@ def showCode1(demo) vs.command(proc{|*args| $code_text.yview(*args)}) } - $code_text.grid('in'=>f, 'padx'=>1, 'pady'=>1, 'row'=>0, 'column'=>0, + $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, + 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, +# xs.grid('in'=>f, 'padx'=>1, 'pady'=>1, 'row'=>1, 'column'=>0, # 'rowspan'=>1, 'columnspan'=>1, 'sticky'=>'news') # JKC 2001-07-26: segfaults under 1.7.1 (2001-06-19) [i686-linux] @@ -866,8 +866,8 @@ def showCode2(demo) if $code_window == nil || TkWinfo.exist?($code_window) == false $code_window = TkToplevel.new(nil) tf = TkFrame.new($code_window) - $code_text = TkText.new(tf, :font=>'Courier 10', :height=>30, - :wrap=>'word', :bd=>1, :setgrid=>true, + $code_text = TkText.new(tf, :font=>'Courier 10', :height=>30, + :wrap=>'word', :bd=>1, :setgrid=>true, :highlightthickness=>0, :pady=>2, :padx=>3) xscr = TkScrollbar.new(tf, :bd=>1){assign($code_text)} yscr = TkScrollbar.new(tf, :bd=>1){assign($code_text)} @@ -890,20 +890,20 @@ def showCode2(demo) posnum.text = pos } - b_dis = TkButton.new(bf, :text=>'Dismiss', :default=>:active, + b_dis = TkButton.new(bf, :text=>'Dismiss', :default=>:active, :command=>proc{ $code_window.destroy $code_window = nil - }, + }, :image=>$image['delete'], :compound=>:left) - b_prn = TkButton.new(bf, :text=>'Print Code', - :command=>proc{printCode($code_text, file)}, + b_prn = TkButton.new(bf, :text=>'Print Code', + :command=>proc{printCode($code_text, file)}, :image=>$image['print'], :compound=>:left) - b_run = TkButton.new(bf, :text=>'Rerun Demo', + b_run = TkButton.new(bf, :text=>'Rerun Demo', :command=>proc{ # eval($code_text.get('1.0','end'), _null_binding) eval_samplecode($code_text.get('1.0','end'), '<viewer>') - }, + }, :image=>$image['refresh'], :compound=>:left) TkGrid(lf, 'x', b_run, b_prn, b_dis, :padx=>4, :pady=>[6,4]) @@ -979,23 +979,23 @@ def printCode(txt, file) when 'unix' msg = `lp -c #{fname}` unless $?.exitstatus == 0 - Tk.messageBox(:title=>'Print spooling failure', + Tk.messageBox(:title=>'Print spooling failure', :message=>'Print spooling probably failed: ' + msg) end when 'windows' begin printTextWin32(fname) rescue => e - Tk.messageBox(:title=>'Print spooling failure', - :message=>'Print spooling probably failed: ' + + Tk.messageBox(:title=>'Print spooling failure', + :message=>'Print spooling probably failed: ' + e.message) - end + end when 'macintosh' - Tk.messageBox(:title=>'Operation not Implemented', + Tk.messageBox(:title=>'Operation not Implemented', :message=>'Oops, sorry: not implemented yet!') else - Tk.messageBox(:title=>'Operation not Implemented', - :message=>'Wow! Unknown platform: ' + + Tk.messageBox(:title=>'Operation not Implemented', + :message=>'Wow! Unknown platform: ' + Tk::TCL_PLATFORM('platform')) end ensure @@ -1025,7 +1025,7 @@ def printTextWin32(fname) pcmd.gsub!('%1', fname) puts pcmd cmd = Tk.tk_call('auto_execok', 'start') + ' /min ' + pcmd - + msg = `#{cmd}` unless $?.exitstatus == 0 fail RuntimeError, msg @@ -1037,16 +1037,16 @@ end # Pops up a message box with an "about" message # def aboutBox - Tk.messageBox('icon'=>'info', 'type'=>'ok', 'title'=>'About Widget Demo', - 'message'=>"Ruby/Tk widget demonstration Ver.1.7.1-en\n\n" + - "based on demos of Tk8.1 -- 8.5 " + - "( Copyright of Tcl/Tk demos:: " + - "(c) 1996-1997 Sun Microsystems, Inc. / " + - "(c) 1997-2000 Ajuba Solutions, Inc. / " + - "(c) 2001-2007 Donal K. Fellows / " + + Tk.messageBox('icon'=>'info', 'type'=>'ok', 'title'=>'About Widget Demo', + 'message'=>"Ruby/Tk widget demonstration Ver.1.7.1-en\n\n" + + "based on demos of Tk8.1 -- 8.5 " + + "( Copyright of Tcl/Tk demos:: " + + "(c) 1996-1997 Sun Microsystems, Inc. / " + + "(c) 1997-2000 Ajuba Solutions, Inc. / " + + "(c) 2001-2007 Donal K. Fellows / " + "(c) 2002-2007 Daniel A. Steffen )\n\n" + - "Your Ruby & Tk Version ::\n" + - "Ruby#{RUBY_VERSION}(#{RUBY_RELEASE_DATE})[#{RUBY_PLATFORM}] / Tk#{$tk_patchlevel}#{(Tk::JAPANIZED_TK)? '-jp': ''}\n\n" + + "Your Ruby & Tk Version ::\n" + + "Ruby#{RUBY_VERSION}(#{RUBY_RELEASE_DATE})[#{RUBY_PLATFORM}] / Tk#{$tk_patchlevel}#{(Tk::JAPANIZED_TK)? '-jp': ''}\n\n" + "Ruby/Tk release date :: tcltklib #{TclTkLib::RELEASE_DATE}; tk #{Tk::RELEASE_DATE}") end @@ -1060,11 +1060,11 @@ else # show the root widget to make it lower then demo windows Tk.update end -ARGV.each{|cmd| +ARGV.each{|cmd| if cmd =~ /(.*).rb/ cmd = $1 end - #eval(IO.readlines("#{[$demo_dir, cmd].join(File::Separator)}.rb").join, + #eval(IO.readlines("#{[$demo_dir, cmd].join(File::Separator)}.rb").join, # _null_binding) eval_samplecode(IO.readlines("#{[$demo_dir, cmd].join(File::Separator)}.rb").join, cmd + '.rb') } diff --git a/ext/tk/sample/demos-jp/README b/ext/tk/sample/demos-jp/README index 42bec16c60..6375800232 100644 --- a/ext/tk/sample/demos-jp/README +++ b/ext/tk/sample/demos-jp/README @@ -1,11 +1,11 @@ - Ruby/Tk widget-demo + Ruby/Tk widget-demo version 1.2 ( 2000/04/08 ) 永井@知能.九工大 (nagai@ai.kyutech.ac.jp) -標準配布の Tcl/Tk 拡張パッケージを取り込んだ Ruby (以下 Ruby/Tk と呼びます) +標準配布の Tcl/Tk 拡張パッケージを取り込んだ Ruby (以下 Ruby/Tk と呼びます) では,Tk widget を用いた GUI の作成を行うことができます.実際に GUI を作成 -していく場合には様々な実例がサンプルとして存在すると便利なのですが,Ruby/Tk +していく場合には様々な実例がサンプルとして存在すると便利なのですが,Ruby/Tk にはそのような適当なサンプルスクリプト集合は存在しませんでした.それに対し, 拡張パッケージの元である Tcl/Tk には,Tk widget を用いてどのようなことがで きるかを示すものとして widget-demo が存在しおり,Tcl/Tk を用いた GUI の作成 @@ -34,21 +34,21 @@ Tcl/Tk には適当な参考書が何冊か存在していますから,Ruby/Tk スクリプトを作成 でしょう.Ruby/Tk 版の記述を widget-demo を Tcl/Tk 版の記述に近いものにして おけば,その対比によって,Ruby/Tk の理解を早めることができると考えられます. 一旦 Ruby/Tk での 各 widget の使用方法を習得してしまえば,Ruby らしいスクリ -プトを作成することは難しくないでしょう.本アーカイブのスクリプトは,Ruby/Tk +プトを作成することは難しくないでしょう.本アーカイブのスクリプトは,Ruby/Tk を最初に習得するまでの踏台として利用していただければ幸いです. widget-demo の移植にあたっては,次の方にも移植したスクリプトを提供していただ きました.ここに感謝の意を表します. - 立石@JAIST (ttate@jaist.ac.jp) さん + 立石@JAIST (ttate@jaist.ac.jp) さん 平松祥史 (hiramatu@cdrom.co.jp) さん -平松さんによる Ruby/Tk 入門の Web page (http://www.cdrom.co.jp/~hiramatu/) +平松さんによる Ruby/Tk 入門の Web page (http://www.cdrom.co.jp/~hiramatu/) も Ruby/Tk の習得に有用と思えますので,ぜひご参照ください. また,前橋 (maebashi@iij.ad.jp) さんをはじめとして,widget-demo の移植に際し て必要となった Ruby の Tk 関連ライブラリ修正について,問題点,バグの指摘をし ていただいた方々にも感謝致します. -そして最後に最大の感謝を Ruby 設計者の まつもと ゆきひろ (matz@netlab.co.jp) +そして最後に最大の感謝を Ruby 設計者の まつもと ゆきひろ (matz@netlab.co.jp) さんに捧げたいと思います. diff --git a/ext/tk/sample/demos-jp/browse1 b/ext/tk/sample/demos-jp/browse1 index 03e251035a..568892e4a8 100644 --- a/ext/tk/sample/demos-jp/browse1 +++ b/ext/tk/sample/demos-jp/browse1 @@ -1,16 +1,16 @@ #!/usr/bin/env ruby # browse -- -# This script generates a directory browser, which lists the working -# directory and allow you to open files or subdirectories by -# double-clicking. +# This script generates a directory browser, which lists the working +# directory and allow you to open files or subdirectories by +# double-clicking. require 'tk' -# Create a scrollbar on the right side of the main window and a listbox +# Create a scrollbar on the right side of the main window and a listbox # on the left side. -listbox = TkListbox.new(nil, 'relief'=>'sunken', +listbox = TkListbox.new(nil, 'relief'=>'sunken', 'width'=>20, 'height'=>20, 'setgrid'=>'yes') {|l| TkScrollbar.new(nil, 'command'=>proc{|*args| l.yview *args}) {|s| pack('side'=>'right', 'fill'=>'y') @@ -23,10 +23,10 @@ listbox = TkListbox.new(nil, 'relief'=>'sunken', root = TkRoot.new root.minsize(1,1) -# The procedure below is invoked to open a browser on a given file; if the -# file is a directory then another instance of this program is invoked; if -# the file is a regular file then the Mx editor is invoked to display -# the file. +# The procedure below is invoked to open a browser on a given file; if the +# file is a directory then another instance of this program is invoked; if +# the file is a regular file then the Mx editor is invoked to display +# the file. def browse (dir, file) file = dir + File::Separator + file if dir != '.' @@ -46,7 +46,7 @@ def browse (dir, file) end end -# Fill the listbox with a list of all the files in the directory (run +# Fill the listbox with a list of all the files in the directory (run # the "ls" command to get that information). dir = ARGV[0] ? ARGV[0] : '.' @@ -57,7 +57,7 @@ open("|ls -a #{dir}", 'r'){|fid| fid.readlines}.each{|fname| # Set up bindings for the browser. Tk.bind_all('Control-c', proc{root.destroy}) -listbox.bind('Double-Button-1', +listbox.bind('Double-Button-1', proc{TkSelection.get.each{|f| browse dir, f}}) Tk.mainloop diff --git a/ext/tk/sample/demos-jp/browse2 b/ext/tk/sample/demos-jp/browse2 index edad04dbcb..1a511c8d29 100644 --- a/ext/tk/sample/demos-jp/browse2 +++ b/ext/tk/sample/demos-jp/browse2 @@ -1,9 +1,9 @@ #!/usr/bin/env ruby # browse -- -# This script generates a directory browser, which lists the working -# directory and allow you to open files or subdirectories by -# double-clicking. +# This script generates a directory browser, which lists the working +# directory and allow you to open files or subdirectories by +# double-clicking. require 'tk' @@ -19,9 +19,9 @@ class Browse title('Browse : ' + dir) } - # Create a scrollbar on the right side of the main window and a listbox + # Create a scrollbar on the right side of the main window and a listbox # on the left side. - list = TkListbox.new(base, 'relief'=>'sunken', + list = TkListbox.new(base, 'relief'=>'sunken', 'width'=>20, 'height'=>20, 'setgrid'=>'yes') {|l| TkScrollbar.new(base, 'command'=>proc{|*args| l.yview *args}) {|s| pack('side'=>'right', 'fill'=>'y') @@ -30,7 +30,7 @@ class Browse pack('side'=>'left', 'fill'=>'both', 'expand'=>'yes') - # Fill the listbox with a list of all the files in the directory (run + # Fill the listbox with a list of all the files in the directory (run # the "ls" command to get that information). open("|ls -a #{dir}", 'r'){|fid| fid.readlines}.each{|fname| l.insert('end', fname.chomp) @@ -44,14 +44,14 @@ class Browse Browse::BROWSE_WIN_COUNTER.to_i - 1 }) base.bind('Control-c', proc{base.destroy}) - list.bind('Double-Button-1', + list.bind('Double-Button-1', proc{TkSelection.get.each{|f| self.browse dir, f}}) end - # The method below is invoked to open a browser on a given file; if the - # file is a directory then another instance of this program is invoked; if - # the file is a regular file then the Mx editor is invoked to display - # the file. + # The method below is invoked to open a browser on a given file; if the + # file is a directory then another instance of this program is invoked; if + # the file is a regular file then the Mx editor is invoked to display + # the file. def browse (dir, file) file = dir + File::Separator + file if dir != '.' type = File.ftype(file) diff --git a/ext/tk/sample/demos-jp/doc.org/license.terms b/ext/tk/sample/demos-jp/doc.org/license.terms index 03ca6fcb31..c0a44d3fc2 100644 --- a/ext/tk/sample/demos-jp/doc.org/license.terms +++ b/ext/tk/sample/demos-jp/doc.org/license.terms @@ -28,7 +28,7 @@ MODIFICATIONS. GOVERNMENT USE: If you are acquiring this software on behalf of the U.S. government, the Government shall have only "Restricted Rights" -in the software and related documentation as defined in the Federal +in the software and related documentation as defined in the Federal Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you are acquiring the software on behalf of the Department of Defense, the software shall be classified as "Commercial Computer Software" and the diff --git a/ext/tk/sample/demos-jp/doc.org/license.terms.tk80 b/ext/tk/sample/demos-jp/doc.org/license.terms.tk80 index 03ca6fcb31..c0a44d3fc2 100644 --- a/ext/tk/sample/demos-jp/doc.org/license.terms.tk80 +++ b/ext/tk/sample/demos-jp/doc.org/license.terms.tk80 @@ -28,7 +28,7 @@ MODIFICATIONS. GOVERNMENT USE: If you are acquiring this software on behalf of the U.S. government, the Government shall have only "Restricted Rights" -in the software and related documentation as defined in the Federal +in the software and related documentation as defined in the Federal Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you are acquiring the software on behalf of the Department of Defense, the software shall be classified as "Commercial Computer Software" and the diff --git a/ext/tk/sample/demos-jp/ixset b/ext/tk/sample/demos-jp/ixset index 46c2378073..40a77f487c 100644 --- a/ext/tk/sample/demos-jp/ixset +++ b/ext/tk/sample/demos-jp/ixset @@ -164,9 +164,9 @@ class Xsettings # bell = TkFrame.new(@root, 'relief'=>'raised', 'borderwidth'=>2) l = TkLabel.new(bell, 'text'=>'Bell Settings') - @w_bellvol = TkScale.new(bell, 'from'=>0, 'to'=>100, 'length'=>200, - 'tickinterval'=>20, 'orient'=>'horizontal', - 'label'=>"Volume (%)") + @w_bellvol = TkScale.new(bell, 'from'=>0, 'to'=>100, 'length'=>200, + 'tickinterval'=>20, 'orient'=>'horizontal', + 'label'=>"Volume (%)") f = TkFrame.new(bell) @w_bellpit = LabelEntry.new(f, "Pitch (Hz)", 6) @@ -180,13 +180,13 @@ class Xsettings # # Keyboard settings - # + # kbdonoff = nil kbdcli = nil kbd = TkFrame.new(@root, 'relief'=>'raised', 'borderwidth'=>2) l = TkLabel.new(kbd, 'text'=>'Keyboard Repeat Settings') f = TkFrame.new(kbd) - @w_kbdonoff = TkCheckButton.new(f, 'text'=>'On', 'relief'=>'flat', + @w_kbdonoff = TkCheckButton.new(f, 'text'=>'On', 'relief'=>'flat', 'onvalue'=>'on', 'offvalue'=>'off', 'variable'=>@w_kbdrep ) { def self.set(value) @@ -198,8 +198,8 @@ class Xsettings end pack('side'=>'left', 'expand'=>'yes', 'fill'=>'both') } - @w_kbdcli = TkScale.new(f, 'from'=>0, 'to'=>100, 'length'=>200, - 'tickinterval'=>20, 'orient'=>'horizontal', + @w_kbdcli = TkScale.new(f, 'from'=>0, 'to'=>100, 'length'=>200, + 'tickinterval'=>20, 'orient'=>'horizontal', 'label'=>'Click Volume (%)') @w_kbdcli.pack('side'=>'left', 'expand'=>'yes') l.pack('side'=>'top', 'expand'=>'yes') @@ -225,9 +225,9 @@ class Xsettings l = TkLabel.new(screen, 'text'=>'Screen-saver Settings') f = TkFrame.new(screen) ff1 = TkFrame.new(f) - [ @w_screenblank = TkRadioButton.new(ff1, 'text'=>'Blank', - 'relief'=>'flat', - 'variable'=>@w_screenbla, + [ @w_screenblank = TkRadioButton.new(ff1, 'text'=>'Blank', + 'relief'=>'flat', + 'variable'=>@w_screenbla, 'value'=>'blank') { def self.set(value) if value == 'blank' @@ -236,10 +236,10 @@ class Xsettings self.deselect end end - }, - @w_screenpat = TkRadioButton.new(ff1, 'text'=>'Pattern', - 'relief'=>'flat', - 'variable'=>@w_screenbla, + }, + @w_screenpat = TkRadioButton.new(ff1, 'text'=>'Pattern', + 'relief'=>'flat', + 'variable'=>@w_screenbla, 'value'=>'noblank') { def self.set(value) if value != 'blank' @@ -252,7 +252,7 @@ class Xsettings ].each {|w| w.pack('side'=>'top', 'pady'=>2, 'anchor'=>'w') } ff2 = TkFrame.new(f) - [ @w_screentim = LabelEntry.new(ff2, 'Timeout (s)', 5), + [ @w_screentim = LabelEntry.new(ff2, 'Timeout (s)', 5), @w_screencyc = LabelEntry.new(ff2, 'Cycle (s)', 5) ].each{|w| w.pack('side'=>'top', 'pady'=>2, 'anchor'=>'e') } diff --git a/ext/tk/sample/demos-jp/ixset2 b/ext/tk/sample/demos-jp/ixset2 index 5b816e40b1..5011dfe640 100644 --- a/ext/tk/sample/demos-jp/ixset2 +++ b/ext/tk/sample/demos-jp/ixset2 @@ -135,8 +135,8 @@ class Xsettings def initialize(parent, text, length, range=[]) @frame = TkFrame.new(parent) TkLabel.new(@frame, 'text'=>text).pack('side'=>'left') - if range.size > 0 - @entry = TkSpinbox.new(@frame, 'width'=>length, 'relief'=>'sunken', + if range.size > 0 + @entry = TkSpinbox.new(@frame, 'width'=>length, 'relief'=>'sunken', 'from'=>range[0], 'to'=>range[1]) else @entry = TkEntry.new(@frame, 'width'=>length, 'relief'=>'sunken') @@ -165,16 +165,16 @@ class Xsettings # Buttons # btn_frame = TkFrame.new(@root) - buttons = [ - @btn_OK = TkButton.new(btn_frame, 'command'=>proc{win.ok}, + buttons = [ + @btn_OK = TkButton.new(btn_frame, 'command'=>proc{win.ok}, 'default'=>'active', 'text'=>'了解'), - @btn_APPLY = TkButton.new(btn_frame, 'command'=>proc{win.writesettings}, - 'default'=>'normal', 'text'=>'適用', + @btn_APPLY = TkButton.new(btn_frame, 'command'=>proc{win.writesettings}, + 'default'=>'normal', 'text'=>'適用', 'state'=>'disabled'), - @btn_CANCEL = TkButton.new(btn_frame, 'command'=>proc{win.cancel}, - 'default'=>'normal', 'text'=>'取消', + @btn_CANCEL = TkButton.new(btn_frame, 'command'=>proc{win.cancel}, + 'default'=>'normal', 'text'=>'取消', 'state'=>'disabled'), - @btn_QUIT = TkButton.new(btn_frame, 'command'=>proc{win.quit}, + @btn_QUIT = TkButton.new(btn_frame, 'command'=>proc{win.quit}, 'default'=>'normal', 'text'=>'中止') ] buttons.each{|b| b.pack('side'=>'left', 'expand'=>'yes', 'pady'=>5) } @@ -202,10 +202,10 @@ class Xsettings # # Bell settings # - bell = TkLabelframe.new(@root, 'text'=>'ベル設定', + bell = TkLabelframe.new(@root, 'text'=>'ベル設定', 'padx'=>'1.5m', 'pady'=>'1.5m') - @w_bellvol = TkScale.new(bell, 'from'=>0, 'to'=>100, 'length'=>200, - 'tickinterval'=>20, 'orient'=>'horizontal', + @w_bellvol = TkScale.new(bell, 'from'=>0, 'to'=>100, 'length'=>200, + 'tickinterval'=>20, 'orient'=>'horizontal', 'label'=>"音量 (%)") f = TkFrame.new(bell) @@ -219,14 +219,14 @@ class Xsettings # # Keyboard settings - # + # kbdonoff = nil kbdcli = nil - kbd = TkLabelframe.new(@root, 'text'=>'キーボードリピート設定', + kbd = TkLabelframe.new(@root, 'text'=>'キーボードリピート設定', 'padx'=>'1.5m', 'pady'=>'1.5m') f = TkFrame.new(kbd) - @w_kbdonoff = TkCheckButton.new(f, 'text'=>'クリック音あり', - 'relief'=>'flat', + @w_kbdonoff = TkCheckButton.new(f, 'text'=>'クリック音あり', + 'relief'=>'flat', 'onvalue'=>'on', 'offvalue'=>'off', 'variable'=>@w_kbdrep ) { def self.set(value) @@ -238,17 +238,17 @@ class Xsettings end pack('side'=>'left', 'expand'=>'yes', 'fill'=>'x', 'padx'=>[0, '1m']) } - @w_kbdcli = TkScale.new(f, 'from'=>0, 'to'=>100, 'length'=>200, - 'tickinterval'=>20, 'orient'=>'horizontal', + @w_kbdcli = TkScale.new(f, 'from'=>0, 'to'=>100, 'length'=>200, + 'tickinterval'=>20, 'orient'=>'horizontal', 'label'=>'クリック音量 (%)') - @w_kbdcli.pack('side'=>'left', 'expand'=>'yes', + @w_kbdcli.pack('side'=>'left', 'expand'=>'yes', 'fill'=>'x', 'padx'=>['1m', 0]) f.pack('side'=>'top', 'expand'=>'yes', 'pady'=>2, 'fill'=>'x') # # Mouse settings # - mouse = TkLabelframe.new(@root, 'text'=>'マウス設定', + mouse = TkLabelframe.new(@root, 'text'=>'マウス設定', 'padx'=>'1.5m', 'pady'=>'1.5m') f = TkFrame.new(mouse) @w_mouseacc = LabelEntry.new(f, '加速量', 5) @@ -260,11 +260,11 @@ class Xsettings # # Screen Saver settings # - screen = TkLabelframe.new(@root, 'text'=>'スクリーンセーバ設定', + screen = TkLabelframe.new(@root, 'text'=>'スクリーンセーバ設定', 'padx'=>'1.5m', 'pady'=>'1.5m') - @w_screenblank = TkRadioButton.new(screen, 'text'=>'ブランク表示', - 'relief'=>'flat', 'anchor'=>'w', - 'variable'=>@w_screenbla, + @w_screenblank = TkRadioButton.new(screen, 'text'=>'ブランク表示', + 'relief'=>'flat', 'anchor'=>'w', + 'variable'=>@w_screenbla, 'value'=>'blank') { def self.set(value) if value == 'blank' @@ -275,9 +275,9 @@ class Xsettings end } - @w_screenpat = TkRadioButton.new(screen, 'text'=>'パターン表示', - 'relief'=>'flat', 'anchor'=>'w', - 'variable'=>@w_screenbla, + @w_screenpat = TkRadioButton.new(screen, 'text'=>'パターン表示', + 'relief'=>'flat', 'anchor'=>'w', + 'variable'=>@w_screenbla, 'value'=>'noblank') { def self.set(value) if value != 'blank' @@ -299,7 +299,7 @@ class Xsettings # Main window # param = { - 'side'=>'top', 'fill'=>'both', 'expand'=>'yes', + 'side'=>'top', 'fill'=>'both', 'expand'=>'yes', 'padx'=>'1m', 'pady'=>'1m' } btn_frame.pack('side'=>'top', 'fill'=>'both') diff --git a/ext/tk/sample/demos-jp/rmt b/ext/tk/sample/demos-jp/rmt index 73f631180a..dcfb328fc8 100644 --- a/ext/tk/sample/demos-jp/rmt +++ b/ext/tk/sample/demos-jp/rmt @@ -1,9 +1,9 @@ #!/usr/bin/env ruby -# rmt -- -# This script implements a simple remote-control mechanism for -# Tk applications. It allows you to select an application and -# then type commands to that application. +# rmt -- +# This script implements a simple remote-control mechanism for +# Tk applications. It allows you to select an application and +# then type commands to that application. require 'tk' @@ -17,41 +17,41 @@ class Rmt root = TkWinfo.toplevel(parent) root.minsize(1,1) - # The instance variable below keeps track of the remote application - # that we're sending to. If it's an empty string then we execute - # the commands locally. + # The instance variable below keeps track of the remote application + # that we're sending to. If it's an empty string then we execute + # the commands locally. @app = 'local' @mode = 'Ruby' - # The instance variable below keeps track of whether we're in the - # middle of executing a command entered via the text. + # The instance variable below keeps track of whether we're in the + # middle of executing a command entered via the text. @executing = 0 - # The instance variable below keeps track of the last command executed, - # so it can be re-executed in response to !! commands. + # The instance variable below keeps track of the last command executed, + # so it can be re-executed in response to !! commands. @lastCommand = "" - # Create menu bar. Arrange to recreate all the information in the - # applications sub-menu whenever it is cascaded to. + # Create menu bar. Arrange to recreate all the information in the + # applications sub-menu whenever it is cascaded to. TkFrame.new(root, 'relief'=>'raised', 'bd'=>2) {|f| pack('side'=>'top', 'fill'=>'x') TkMenubutton.new(f, 'text'=>'File', 'underline'=>0) {|mb| TkMenu.new(mb) {|mf| mb.menu(mf) - TkMenu.new(mf) {|ma| + TkMenu.new(mf) {|ma| postcommand proc{win.fillAppsMenu ma} - mf.add('cascade', 'label'=>'Select Application', + mf.add('cascade', 'label'=>'Select Application', 'menu'=>ma, 'underline'=>0) } - add('command', 'label'=>'Quit', + add('command', 'label'=>'Quit', 'command'=>proc{root.destroy}, 'underline'=>0) } pack('side'=>'left') } } - # Create text window and scrollbar. + # Create text window and scrollbar. @txt = TkText.new(root, 'relief'=>'sunken', 'bd'=>2, 'setgrid'=>true) { yscrollbar(TkScrollbar.new(root){pack('side'=>'right', 'fill'=>'y')}) @@ -60,9 +60,9 @@ class Rmt @promptEnd = TkTextMark.new(@txt, 'insert') - # Create a binding to forward commands to the target application, - # plus modify many of the built-in bindings so that only information - # in the current command can be deleted (can still set the cursor + # Create a binding to forward commands to the target application, + # plus modify many of the built-in bindings so that only information + # in the current command can be deleted (can still set the cursor # earlier in the text and select and insert; just can't delete). @txt.bindtags([@txt, TkText, root, 'all']) @@ -151,8 +151,8 @@ class Rmt w.see('insert') end - # The method below is used to print out a prompt at the - # insertion point (which should be at the beginning of a line + # The method below is used to print out a prompt at the + # insertion point (which should be at the beginning of a line # right now). def prompt @@ -162,8 +162,8 @@ class Rmt @txt.tag_add('bold', "#{@promptEnd.path} linestart", @promptEnd) end - # The method below executes a command (it takes everything on the - # current line after the prompt and either sends it to the remote + # The method below executes a command (it takes everything on the + # current line after the prompt and either sends it to the remote # application or executes it locally, depending on "app". def invoke @@ -200,8 +200,8 @@ class Rmt if complete @lastCommand = cmd begin -# msg = Tk.appsend(@app, false, -# 'ruby', +# msg = Tk.appsend(@app, false, +# 'ruby', # '"(' + cmd.gsub(/[][$"]/, '\\\\\&') + ').to_s"') msg = Tk.rb_appsend(@app, false, cmd) rescue @@ -218,10 +218,10 @@ class Rmt end # The following method is invoked to change the application that - # we're talking to. It also updates the prompt for the current - # command, unless we're in the middle of executing a command from - # the text item (in which case a new prompt is about to be output - # so there's no need to change the old one). + # we're talking to. It also updates the prompt for the current + # command, unless we're in the middle of executing a command from + # the text item (in which case a new prompt is about to be output + # so there's no need to change the old one). def newApp(appName, mode) @app = appName @@ -236,7 +236,7 @@ class Rmt end # The method below will fill in the applications sub-menu with a list - # of all the applications that currently exist. + # of all the applications that currently exist. def fillAppsMenu(menu) win = self @@ -251,14 +251,14 @@ class Rmt else mode = 'Ruby' end - menu.add('command', 'label'=>format("%s (#{mode}/Tk)", ip), + menu.add('command', 'label'=>format("%s (#{mode}/Tk)", ip), 'command'=>proc{win.newApp ip, mode}) rescue - menu.add('command', 'label'=>format("%s (unknown Tk)", ip), + menu.add('command', 'label'=>format("%s (unknown Tk)", ip), 'command'=>proc{win.newApp ip, mode}, 'state'=>'disabled') end } - menu.add('command', 'label'=>format("local (Ruby/Tk)"), + menu.add('command', 'label'=>format("local (Ruby/Tk)"), 'command'=>proc{win.newApp 'local', 'Ruby'}) end end diff --git a/ext/tk/sample/demos-jp/rolodex b/ext/tk/sample/demos-jp/rolodex index 9f87ae2829..2cc73e128f 100644 --- a/ext/tk/sample/demos-jp/rolodex +++ b/ext/tk/sample/demos-jp/rolodex @@ -2,7 +2,7 @@ # # rolodex -- # This script is a part of Tom LaStrange's rolodex -# +# # Copyright (C) 1998 by Takaaki Tateishi <ttate@jaist.ac.jp> # Time-stamp: "03/08/02 12:45:21 nagai" # @@ -17,7 +17,7 @@ def show_help(topic,x=0,y=0) topic = w end end - + if( $helpTopics.include?(topic) ) msg = $helpTopics[topic] else @@ -81,7 +81,7 @@ class RolodexFrame < TkFrame def initialize(parent=nil,keys=nil) super(parent,keys) self["relief"] = "flat" - + @i = [] @label = [] @entry = [] diff --git a/ext/tk/sample/demos-jp/rolodex-j b/ext/tk/sample/demos-jp/rolodex-j index 6c3ea7a484..ee8dd110bc 100644 --- a/ext/tk/sample/demos-jp/rolodex-j +++ b/ext/tk/sample/demos-jp/rolodex-j @@ -3,7 +3,7 @@ # # rolodex -- # このスクリプトは Tom LaStrange の rolodex の一部です。 -# +# # Copyright (C) 1998 by Takaaki Tateishi <ttate@jaist.ac.jp> # Time-stamp: "04/04/09 00:32:12 nagai" # @@ -20,7 +20,7 @@ def show_help(topic,x=0,y=0) end end end - + if( $helpTopics.include?(topic) ) msg = $helpTopics[topic] else diff --git a/ext/tk/sample/demos-jp/square b/ext/tk/sample/demos-jp/square index 00bfde59ff..bb66282154 100644 --- a/ext/tk/sample/demos-jp/square +++ b/ext/tk/sample/demos-jp/square @@ -1,10 +1,10 @@ #!/usr/bin/env ruby # square -- -# This script generates a demo application containing only -# a "square" widget. It's only usable if Tk has been compiled -# with tkSquare.c and with the -DSQUARE_DEMO compiler switch. -# This demo arranges the following bindings for the widget: +# This script generates a demo application containing only +# a "square" widget. It's only usable if Tk has been compiled +# with tkSquare.c and with the -DSQUARE_DEMO compiler switch. +# This demo arranges the following bindings for the widget: # # Button-1 press/drag: moves square to mouse # "a": toggle size animation on/off @@ -19,7 +19,7 @@ class TkSquare<TkWindow tk_call 'square', path rescue STDERR.print "\nSorry. Your Tk interpreter does not contain " + - 'a "square" demonstration widget.' + + 'a "square" demonstration widget.' + "\n ( See documents included the Tcl/Tk source archive. )\n\n" exit end @@ -53,7 +53,7 @@ def center(x,y) end # The procedures below provide a simple form of animation where -# the box changes size in a pulsing pattern: larger, smaller, larger, +# the box changes size in a pulsing pattern: larger, smaller, larger, # and so on. $inc = 0 diff --git a/ext/tk/sample/demos-jp/tcolor b/ext/tk/sample/demos-jp/tcolor index 17f7e1347e..1c83a4b10b 100644 --- a/ext/tk/sample/demos-jp/tcolor +++ b/ext/tk/sample/demos-jp/tcolor @@ -130,7 +130,7 @@ def _null_binding end private :_null_binding -def doUpdate +def doUpdate newCmd = $command.to_s.gsub("%%","\"#{$color}\"") eval(newCmd, _null_binding) end @@ -138,7 +138,7 @@ end def tc_scaleChanged if( $updating.to_i == 1 ) - return + return end $master = :scale if $master == nil @@ -155,7 +155,7 @@ def tc_scaleChanged when :cmy $red = (65535 - scale1.get * 65.535).to_i $green = (65535 - scale2.get * 65.535).to_i - $blue = (65535 - scale3.get * 65.535).to_i + $blue = (65535 - scale3.get * 65.535).to_i when :hsb list = hsbToRgb(scale1.get / 1000.0, scale2.get / 1000.0, @@ -183,7 +183,7 @@ def tc_setScales scale1 = $root.middle.middle.scale1 scale2 = $root.middle.middle.scale2 scale3 = $root.middle.middle.scale3 - + case $colorSpace.value.intern when :rgb scale1.set($red / 65.535) @@ -209,7 +209,7 @@ end def tc_loadNamedColor(name) $name.value = name $master = :name if $master == nil - if name[0,1] != "#" + if name[0,1] != "#" list = TkWinfo.rgb($root.middle.right.swatch,name) $red = list[0] $green = list[1] @@ -243,7 +243,7 @@ def tc_loadNamedColor(name) $green = $green << shift $blue = $blue << shift end - + tc_setScales $color = format("#%04x%04x%04x",$red,$green,$blue) $root.middle.right.set_color($color) @@ -325,7 +325,7 @@ class TkColorMenuFrame<TkFrame "underline" => "0", "command" => proc{exit} } - + # FileメニューとFileボタンを関連付ける menu @file_menu @@ -361,7 +361,7 @@ class TkColorBotFrame<TkFrame self end -end +end # 中段左のフレーム @@ -467,7 +467,7 @@ class TkColorMiddleRightFrame<TkFrame super(parent) @swatch = TkFrame.new(self, "width"=>"2c", "height"=>"5c", "background"=>$color) - @value = TkLabel.new(self, + @value = TkLabel.new(self, "text"=>$color, "width"=>"13", "font"=>"-Adobe-Courier-Medium-R-Normal--*-120-*-*-*-*-*-*") diff --git a/ext/tk/sample/demos-jp/timer b/ext/tk/sample/demos-jp/timer index 58a41d00c0..6cb7c87e09 100644 --- a/ext/tk/sample/demos-jp/timer +++ b/ext/tk/sample/demos-jp/timer @@ -69,7 +69,7 @@ class CountFrame < TkFrame def initialize(parent=nil,keys=nil) super(parent,keys) @counter = TkLabel.new(self, - 'text'=>$time, + 'text'=>$time, 'relief'=>'raised') @counter.pack('fill'=>'both') self diff --git a/ext/tk/sample/demos-jp/widget b/ext/tk/sample/demos-jp/widget index dfaa9c004e..fc3c084e9a 100644 --- a/ext/tk/sample/demos-jp/widget +++ b/ext/tk/sample/demos-jp/widget @@ -125,16 +125,16 @@ end # メニュー設定 if $tk_major_ver >= 8 - $root.add_menubar([[['File', 0], + $root.add_menubar([[['File', 0], ['About ... ', proc{aboutBox}, 0, '<F1>'], - '---', + '---', ['Quit', proc{exit}, 0, 'Ctrl-Q'] ]]) else - TkMenubar.new($root, - [[['File', 0], + TkMenubar.new($root, + [[['File', 0], ['About ... ', proc{aboutBox}, 0, '<F1>'], - '---', + '---', ['Quit', proc{exit}, 0, 'Ctrl-Q'] ]]).pack('side'=>'top', 'fill'=>'x') end @@ -171,7 +171,7 @@ if $tk_version =~ /^4\.[01]/ txt.pack('expand'=>'yes', 'fill'=>'both') else textFrame = TkFrame.new($root) - scr = TkScrollbar.new($root, 'orient'=>'vertical', + scr = TkScrollbar.new($root, 'orient'=>'vertical', 'highlightthickness'=>0, 'takefocus'=>1) { pack('in'=>textFrame, 'side'=>'right', 'fill'=>'y', 'padx'=>1) } @@ -206,10 +206,10 @@ else statusfont = 'Helvetica 10' end $statusBarLabel = \ - TkLabel.new(f, 'text'=>" ", 'relief'=>'sunken', 'bd'=>1, 'anchor'=>'w', + TkLabel.new(f, 'text'=>" ", 'relief'=>'sunken', 'bd'=>1, 'anchor'=>'w', 'font'=>statusfont) \ .pack('side'=>'left', 'padx'=>2, 'expand'=>'yes', 'fill'=>'both') - TkLabel.new(f, 'width'=>8, 'relief'=>'sunken', 'bd'=>1, 'anchor'=>'w', + TkLabel.new(f, 'width'=>8, 'relief'=>'sunken', 'bd'=>1, 'anchor'=>'w', 'font'=>statusfont) \ .pack('side'=>'left', 'padx'=>2) }.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>2) @@ -228,23 +228,23 @@ tag_middle = TkTextTag.new(txt, 'font'=>$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', + tag_demo = TkTextTag.new(txt, 'lmargin1'=>'1c', 'lmargin2'=>'1c', 'underline'=>1) - $tag_visited = TkTextTag.new(txt, 'lmargin1'=>'1c', 'lmargin2'=>'1c', + $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', + tag_demo = TkTextTag.new(txt, 'lmargin1'=>'1c', 'lmargin2'=>'1c', 'foreground'=>'blue', 'underline'=>1) - $tag_visited = TkTextTag.new(txt, 'lmargin1'=>'1c', 'lmargin2'=>'1c', + $tag_visited = TkTextTag.new(txt, 'lmargin1'=>'1c', 'lmargin2'=>'1c', 'foreground'=>'#303080', 'underline'=>1) -# tag_hot = TkTextTag.new(txt, 'relief'=>'raised', 'borderwidth'=>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', +tag_demo.bind('ButtonRelease-1', proc{|x,y|invoke txt, txt.index("@#{x},#{y}")}, '%x %y') lastLine = TkVariable.new("") @@ -255,7 +255,7 @@ tag_demo.bind('Enter', proc{|x,y| showStatus txt, txt.index("@#{x},#{y}") }, '%x %y') -tag_demo.bind('Leave', +tag_demo.bind('Leave', proc{ tag_hot.remove('1.0','end') txt.configure('cursor','xterm') @@ -266,10 +266,10 @@ tag_demo.bind('Motion', proc{|x, y| if newLine.value != lastLine.value tag_hot.remove('1.0','end') lastLine.value = newLine.value - if ( txt.tag_names("@#{x},#{y}").find{|t| + if ( txt.tag_names("@#{x},#{y}").find{|t| t.kind_of?(String) && t =~ /^demo-/ } ) - tag_hot.add(lastLine.value, + tag_hot.add(lastLine.value, "#{lastLine.value} lineend -1 chars") end end @@ -321,50 +321,50 @@ Ttk 拡張は、Tk8.5 以上では標準の機能として組み込まれています。 EOT #txt.insert('end',"ラベル, ボタン, チェックボタン, ラジオボタン\n",tag_middle) -txt.insert('end', "ラベル, ボタン, チェックボタン, ラジオボタン\n", +txt.insert('end', "ラベル, ボタン, チェックボタン, ラジオボタン\n", tag_kanji_title) txt.insert('end', " \n ", tag_demospace) -txt.insert('end', "1. ラベル (テキスト, ビットマップ)\n", +txt.insert('end', "1. ラベル (テキスト, ビットマップ)\n", tag_demo, "demo-label") txt.insert('end', " \n ", tag_demospace) txt.insert('end', "2. ラベルとUNICODEテキスト (機能に対応したバージョンのTkが必要)\n", tag_demo, "demo-unicodeout") txt.insert('end', " \n ", tag_demospace) txt.insert('end', "3. ボタン \n", tag_demo, "demo-button") txt.insert('end', " \n ", tag_demospace) -txt.insert('end', "4. チェックボタン (複数を選択可能)\n", +txt.insert('end', "4. チェックボタン (複数を選択可能)\n", tag_demo, "demo-check") txt.insert('end', " \n ", tag_demospace) -txt.insert('end', "5. 3状態チェックボタン (機能に対応したバージョンのTkが必要)\n", +txt.insert('end', "5. 3状態チェックボタン (機能に対応したバージョンのTkが必要)\n", tag_demo, "demo-check2") txt.insert('end', " \n ", tag_demospace) -txt.insert('end', "6. ラジオボタン (任意の一つを選択可能)\n", +txt.insert('end', "6. ラジオボタン (任意の一つを選択可能)\n", tag_demo, "demo-radio") txt.insert('end', " \n ", tag_demospace) -txt.insert('end', "7. ラジオボタン (機能に対応したバージョンのTkが必要)\n", +txt.insert('end', "7. ラジオボタン (機能に対応したバージョンのTkが必要)\n", tag_demo, "demo-radio2") txt.insert('end', " \n ", tag_demospace) -txt.insert('end', "8. 3状態ラジオボタン (機能に対応したバージョンのTkが必要)\n", +txt.insert('end', "8. 3状態ラジオボタン (機能に対応したバージョンのTkが必要)\n", tag_demo, "demo-radio3") txt.insert('end', " \n ", tag_demospace) -txt.insert('end', "9. ボタンで作られた15-パズルゲーム\n", +txt.insert('end', "9. ボタンで作られた15-パズルゲーム\n", tag_demo, "demo-puzzle") txt.insert('end', " \n ", tag_demospace) -txt.insert('end', "10. ビットマップを使用したアイコンボタン\n", +txt.insert('end', "10. ビットマップを使用したアイコンボタン\n", tag_demo, "demo-icon") txt.insert('end', " \n ", tag_demospace) -txt.insert('end', "11. 画像を表示する二つのラベル\n", +txt.insert('end', "11. 画像を表示する二つのラベル\n", tag_demo, "demo-image1") txt.insert('end', " \n ", tag_demospace) -txt.insert('end', "12. 画像を見るための簡単なユーザインターフェース\n", +txt.insert('end', "12. 画像を見るための簡単なユーザインターフェース\n", tag_demo, "demo-image2") txt.insert('end', " \n ", tag_demospace) -txt.insert('end', "13. 画像を見るための簡単なユーザインターフェース (機能に対応したバージョンのTkが必要)\n", +txt.insert('end', "13. 画像を見るための簡単なユーザインターフェース (機能に対応したバージョンのTkが必要)\n", tag_demo, "demo-image3") txt.insert('end', " \n ", tag_demospace) -txt.insert('end', "14. ラベル付きフレーム (機能に対応したバージョンのTkが必要)\n", +txt.insert('end', "14. ラベル付きフレーム (機能に対応したバージョンのTkが必要)\n", tag_demo, "demo-labelframe") txt.insert('end', " \n ", tag_demospace) -txt.insert('end', "15. テーマに対応したウィジェットの簡単な例 (Tile/Ttk拡張への対応が必要)\n", +txt.insert('end', "15. テーマに対応したウィジェットの簡単な例 (Tile/Ttk拡張への対応が必要)\n", tag_demo, "demo-ttkbut") txt.insert('end', " \n ", tag_demospace) @@ -374,15 +374,15 @@ txt.insert('end', "リストボックス\n", tag_kanji_title) txt.insert('end', " \n ", tag_demospace) txt.insert('end', "1. 都道府県.\n", tag_demo, "demo-states") txt.insert('end', " \n ", tag_demospace) -txt.insert('end', "2. 色: アプリケーションのための配色を変える\n", +txt.insert('end', "2. 色: アプリケーションのための配色を変える\n", "#{tag_demo.id} demo-colors") txt.insert('end', " \n ", tag_demospace) txt.insert('end', "3. 格言集\n", tag_demo, "demo-sayings") txt.insert('end', " \n ", tag_demospace) -txt.insert('end', "4. 国についてのマルチカラムリスト (Tile/Ttk拡張への対応が必要)\n", +txt.insert('end', "4. 国についてのマルチカラムリスト (Tile/Ttk拡張への対応が必要)\n", tag_demo, "demo-mclist") txt.insert('end', " \n ", tag_demospace) -txt.insert('end', "5. ディレクトリブラウザ (Tile/Ttk拡張への対応が必要)\n", +txt.insert('end', "5. ディレクトリブラウザ (Tile/Ttk拡張への対応が必要)\n", tag_demo, "demo-tree") txt.insert('end', " \n ", tag_demospace) @@ -394,13 +394,13 @@ txt.insert('end', "1. スクロールバーなし\n", tag_demo, "demo-entry1") txt.insert('end', " \n ", tag_demospace) txt.insert('end', "2. スクロールバーあり\n", tag_demo, "demo-entry2") txt.insert('end', " \n ", tag_demospace) -txt.insert('end', "3. 認証処理付きのエントリボックスとパスワードフィールド (機能に対応したバージョンのTkが必要)\n", +txt.insert('end', "3. 認証処理付きのエントリボックスとパスワードフィールド (機能に対応したバージョンのTkが必要)\n", tag_demo, "demo-entry3") txt.insert('end', " \n ", tag_demospace) -txt.insert('end', "4. スピンボックス (機能に対応したバージョンのTkが必要)\n", +txt.insert('end', "4. スピンボックス (機能に対応したバージョンのTkが必要)\n", tag_demo, "demo-spin") txt.insert('end', " \n ", tag_demospace) -txt.insert('end', "5. コンボボックス (Tile/Ttk拡張への対応が必要)\n", +txt.insert('end', "5. コンボボックス (Tile/Ttk拡張への対応が必要)\n", tag_demo, "demo-combo") txt.insert('end', " \n ", tag_demospace) txt.insert('end', "6. 簡単なフォーム\n", tag_demo, "demo-form") @@ -414,13 +414,13 @@ txt.insert('end', "1. 基本的なテキスト\n", tag_demo, "demo-text") txt.insert('end', " \n ", tag_demospace) txt.insert('end', "2. 表示スタイル.\n", tag_demo, "demo-style") txt.insert('end', " \n ", tag_demospace) -txt.insert('end', "3. ハイパーテキスト(タグバインド).\n", +txt.insert('end', "3. ハイパーテキスト(タグバインド).\n", tag_demo, "demo-bind") txt.insert('end', " \n ", tag_demospace) -txt.insert('end', "4. ウィンドウを埋め込んだテキスト\n", +txt.insert('end', "4. ウィンドウを埋め込んだテキスト\n", tag_demo, "demo-twind") txt.insert('end', " \n ", tag_demospace) -txt.insert('end', "5. ウィンドウを埋め込んだテキスト (機能に対応したバージョンのTkが必要)\n", +txt.insert('end', "5. ウィンドウを埋め込んだテキスト (機能に対応したバージョンのTkが必要)\n", tag_demo, "demo-twind2") txt.insert('end', " \n ", tag_demospace) txt.insert('end', "6. 検索\n", tag_demo, "demo-search") @@ -446,10 +446,10 @@ txt.insert('end', "6. フロアプラン\n", tag_demo, "demo-floor") txt.insert('end', " \n ", tag_demospace) txt.insert('end', "7. フロアプラン (異なるキャンバスアイテム作成方法を使用)\n", tag_demo, "demo-floor2") txt.insert('end', " \n ", tag_demospace) -txt.insert('end', "8. スクロール可能なキャンバス\n", +txt.insert('end', "8. スクロール可能なキャンバス\n", tag_demo, "demo-cscroll") txt.insert('end', " \n ", tag_demospace) -txt.insert('end', "9. チェスボード上の騎士の巡回 (Tile/Ttk拡張への対応が必要)\n", +txt.insert('end', "9. チェスボード上の騎士の巡回 (Tile/Ttk拡張への対応が必要)\n", tag_demo, "demo-knightstour") txt.insert('end', " \n ", tag_demospace) @@ -467,16 +467,16 @@ txt.insert('end', " \n ", tag_demospace) txt.insert('end', "\n") txt.insert('end', "ペインドウィンドウとノートブック\n", tag_kanji_title) txt.insert('end', " \n ", tag_demospace) -txt.insert('end', "1. 水平方向 (機能に対応したバージョンのTkが必要)\n", +txt.insert('end', "1. 水平方向 (機能に対応したバージョンのTkが必要)\n", tag_demo.id, "demo-paned1") txt.insert('end', " \n ", tag_demospace) -txt.insert('end', "2. 垂直方向 (機能に対応したバージョンのTkが必要)\n", +txt.insert('end', "2. 垂直方向 (機能に対応したバージョンのTkが必要)\n", tag_demo.id, "demo-paned2") txt.insert('end', " \n ", tag_demospace) -txt.insert('end', "3. テーマに対応した埋め込みペイン (Tile/Ttk拡張への対応が必要)\n", +txt.insert('end', "3. テーマに対応した埋め込みペイン (Tile/Ttk拡張への対応が必要)\n", tag_demo.id, "demo-ttkpane") txt.insert('end', " \n ", tag_demospace) -txt.insert('end', "4. ノートブックウィジェット (Tile/Ttk拡張への対応が必要)\n", +txt.insert('end', "4. ノートブックウィジェット (Tile/Ttk拡張への対応が必要)\n", tag_demo.id, "demo-ttknote") txt.insert('end', " \n ", tag_demospace) @@ -484,22 +484,22 @@ txt.insert('end', "\n") #txt.insert('end', "メニューとツールバー\n", tag_middle) txt.insert('end', "メニューとツールバー\n", tag_kanji_title) txt.insert('end', " \n ", tag_demospace) -txt.insert('end', "1. メニューとカスケードを含んだウィンドウ\n", +txt.insert('end', "1. メニューとカスケードを含んだウィンドウ\n", tag_demo, "demo-menu") txt.insert('end', " \n ", tag_demospace) -txt.insert('end', "2. メニューとカスケードを含んだウィンドウ (Tk8.x 専用)\n", +txt.insert('end', "2. メニューとカスケードを含んだウィンドウ (Tk8.x 専用)\n", tag_demo, "demo-menu8x") txt.insert('end', " \n ", tag_demospace) -txt.insert('end', "3. 〃 (機能に対応したバージョンのTkが必要)\n", +txt.insert('end', "3. 〃 (機能に対応したバージョンのTkが必要)\n", tag_demo, "demo-menu84") txt.insert('end', " \n ", tag_demospace) -txt.insert('end', "4. メニューボタン (Tk8.x 専用)\n", +txt.insert('end', "4. メニューボタン (Tk8.x 専用)\n", tag_demo, "demo-menubu") txt.insert('end', " \n ", tag_demospace) -txt.insert('end', "5. テーマに対応したメニューボタン (Tile/Ttk拡張への対応が必要)\n", +txt.insert('end', "5. テーマに対応したメニューボタン (Tile/Ttk拡張への対応が必要)\n", tag_demo.id, "demo-ttkmenu") txt.insert('end', " \n ", tag_demospace) -txt.insert('end', "6. テーマに対応したツールバー (Tile/Ttk拡張への対応が必要)\n", +txt.insert('end', "6. テーマに対応したツールバー (Tile/Ttk拡張への対応が必要)\n", tag_demo.id, "demo-toolbar") txt.insert('end', " \n ", tag_demospace) @@ -534,10 +534,10 @@ txt.insert('end', "その他\n", tag_kanji_title) txt.insert('end', " \n ", tag_demospace) txt.insert('end', "1. 組み込みのビットマップ\n", tag_demo, "demo-bitmap") txt.insert('end', " \n ", tag_demospace) -txt.insert('end', "2. モーダルダイアログ(ローカルグラブ)\n", +txt.insert('end', "2. モーダルダイアログ(ローカルグラブ)\n", tag_demo, "demo-dialog1") txt.insert('end', " \n ", tag_demospace) -txt.insert('end', "3. モーダルダイアログ(グローバルグラブ)\n", +txt.insert('end', "3. モーダルダイアログ(グローバルグラブ)\n", tag_demo, "demo-dialog2") txt.insert('end', " \n ", tag_demospace) @@ -556,7 +556,7 @@ $showVarsWin = {} def showVars1(parent, *args) if $showVarsWin[parent.path] begin - $showVarsWin[parent.path].destroy + $showVarsWin[parent.path].destroy rescue end end @@ -596,7 +596,7 @@ end def showVars2(parent, *args) if $showVarsWin[parent.path] begin - $showVarsWin[parent.path].destroy + $showVarsWin[parent.path].destroy rescue end end @@ -605,11 +605,11 @@ def showVars2(parent, *args) base = TkFrame.new(top).pack(:fill=>:both, :expand=>true) - TkLabelFrame.new(base, :text=>"変数値:", + TkLabelFrame.new(base, :text=>"変数値:", :font=>{:family=>'Helvetica', :size=>14}){|f| args.each{|vnam,vbody| - TkGrid(TkLabel.new(f, :text=>"#{vnam}: ", :anchor=>'w'), - TkLabel.new(f, :textvariable=>vbody, :anchor=>'w'), + TkGrid(TkLabel.new(f, :text=>"#{vnam}: ", :anchor=>'w'), + TkLabel.new(f, :textvariable=>vbody, :anchor=>'w'), :padx=>2, :pady=>2, :sticky=>'w') } @@ -617,7 +617,7 @@ def showVars2(parent, *args) f.grid_columnconfig(1, :weight=>1) f.grid_rowconfig(100, :weight=>1) } - TkButton.new(base, :text=>"了解", :width=>8, :default=>:active, + TkButton.new(base, :text=>"了解", :width=>8, :default=>:active, :command=>proc{top.destroy}){|b| top.bind('Return', proc{b.invoke}) top.bind('Escape', proc{b.invoke}) @@ -667,9 +667,9 @@ class Object def method_missing(id, *args) begin - has_top = (top = Thread.current[:TOPLEVEL]) && - top.respond_to?(:pseudo_toplevel_evaluable?) && - top.pseudo_toplevel_evaluable? && + has_top = (top = Thread.current[:TOPLEVEL]) && + top.respond_to?(:pseudo_toplevel_evaluable?) && + top.pseudo_toplevel_evaluable? && top.respond_to?(id) rescue Exception => e has_top = false @@ -733,9 +733,9 @@ def eval_samplecode(code, file=nil) end rescue Exception=>e #p e - TkBgError.show(e.message + "\n" + - "\n---< backtrace of Ruby side >-----\n" + - e.backtrace.join("\n") + + TkBgError.show(e.message + "\n" + + "\n---< backtrace of Ruby side >-----\n" + + e.backtrace.join("\n") + "\n---< backtrace of Tk side >-------") end } @@ -785,7 +785,7 @@ def showStatus (txt, index) newcursor = 'xterm' else demoname = tag[5..-1] - $statusBarLabel.configure('text', + $statusBarLabel.configure('text', "サンプルプログラム \"#{demoname}\" の実行 ") newcursor = 'hand2' end @@ -841,9 +841,9 @@ def showCode1(demo) TkFrame.new($code_window) {|f| pack('expand'=>'yes', 'fill'=>'both', 'padx'=>1, 'pady'=>1) - hs = TkScrollbar.new($code_window, 'highlightthickness'=>0, + hs = TkScrollbar.new($code_window, 'highlightthickness'=>0, 'orient'=>'horizontal') - vs = TkScrollbar.new($code_window, 'highlightthickness'=>0, + vs = TkScrollbar.new($code_window, 'highlightthickness'=>0, 'orient'=>'vertical') $code_text = TkText.new($code_window) {|t| height 40 @@ -859,11 +859,11 @@ def showCode1(demo) vs.command(proc{|*args| $code_text.yview(*args)}) } - $code_text.grid('in'=>f, 'padx'=>1, 'pady'=>1, 'row'=>0, 'column'=>0, + $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, + 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, +# 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) @@ -900,8 +900,8 @@ def showCode2(demo) if $code_window == nil || TkWinfo.exist?($code_window) == false $code_window = TkToplevel.new(nil) tf = TkFrame.new($code_window) - $code_text = TkText.new(tf, :font=>'Courier 10', :height=>30, - :wrap=>'word', :bd=>1, :setgrid=>true, + $code_text = TkText.new(tf, :font=>'Courier 10', :height=>30, + :wrap=>'word', :bd=>1, :setgrid=>true, :highlightthickness=>0, :pady=>2, :padx=>3) xscr = TkScrollbar.new(tf, :bd=>1){assign($code_text)} yscr = TkScrollbar.new(tf, :bd=>1){assign($code_text)} @@ -924,21 +924,21 @@ def showCode2(demo) posnum.text = pos } - #b_dis = TkButton.new(bf, :text=>'了解', :default=>:active, - b_dis = TkButton.new(bf, :text=>'閉じる', :default=>:active, + #b_dis = TkButton.new(bf, :text=>'了解', :default=>:active, + b_dis = TkButton.new(bf, :text=>'閉じる', :default=>:active, :command=>proc{ $code_window.destroy $code_window = nil - }, + }, :image=>$image['delete'], :compound=>:left) - b_prn = TkButton.new(bf, :text=>'印刷', - :command=>proc{printCode($code_text, file)}, + b_prn = TkButton.new(bf, :text=>'印刷', + :command=>proc{printCode($code_text, file)}, :image=>$image['print'], :compound=>:left) - b_run = TkButton.new(bf, :text=>'再実行', + b_run = TkButton.new(bf, :text=>'再実行', :command=>proc{ # eval($code_text.get('1.0','end'), _null_binding) eval_samplecode($code_text.get('1.0','end'), '<viewer>') - }, + }, :image=>$image['refresh'], :compound=>:left) TkGrid(lf, 'x', b_run, b_prn, b_dis, :padx=>4, :pady=>[6,4]) @@ -1011,27 +1011,27 @@ def printCode(txt, file) when 'unix' msg = `lp -c #{fname}` unless $?.exitstatus == 0 - Tk.messageBox(:title=>'Print spooling failure', - :message=>'エラーが発生しました.' + + Tk.messageBox(:title=>'Print spooling failure', + :message=>'エラーが発生しました.' + '印刷に失敗したものと思われます : ' + msg) end when 'windows' begin printTextWin32(fname) rescue => e - Tk.messageBox(:title=>'Print spooling failure', - :message=>'エラーが発生しました.' + - '印刷に失敗したものと思われます : ' + + Tk.messageBox(:title=>'Print spooling failure', + :message=>'エラーが発生しました.' + + '印刷に失敗したものと思われます : ' + e.message) - end + end when 'macintosh' - Tk.messageBox(:title=>'Operation not Implemented', + Tk.messageBox(:title=>'Operation not Implemented', :message=>'印刷機能はまだ実装されていません') else - Tk.messageBox(:title=>'Operation not Implemented', - :message=>'検出された環境 ' + - Tk::TCL_PLATFORM('platform') + - ' は未知の環境であるため,' + + Tk.messageBox(:title=>'Operation not Implemented', + :message=>'検出された環境 ' + + Tk::TCL_PLATFORM('platform') + + ' は未知の環境であるため,' + '印刷機能は実装されていません: ') end ensure @@ -1061,7 +1061,7 @@ def printTextWin32(fname) pcmd.gsub!('%1', fname) puts pcmd cmd = Tk.tk_call('auto_execok', 'start') + ' /min ' + pcmd - + msg = `#{cmd}` unless $?.exitstatus == 0 fail RuntimeError, msg @@ -1073,16 +1073,16 @@ end # Pops up a message box with an "about" message # def aboutBox - Tk.messageBox('icon'=>'info', 'type'=>'ok', 'title'=>'About Widget Demo', - 'message'=>"Ruby/Tk ウィジェットデモ Ver.1.7.1-jp\n\n" + - "based on demos of Tk8.1 -- 8.5 " + - "( Copyright of Tcl/Tk demos:: " + - "(c) 1996-1997 Sun Microsystems, Inc. / " + - "(c) 1997-2000 Ajuba Solutions, Inc. / " + - "(c) 2001-2007 Donal K. Fellows / " + + Tk.messageBox('icon'=>'info', 'type'=>'ok', 'title'=>'About Widget Demo', + 'message'=>"Ruby/Tk ウィジェットデモ Ver.1.7.1-jp\n\n" + + "based on demos of Tk8.1 -- 8.5 " + + "( Copyright of Tcl/Tk demos:: " + + "(c) 1996-1997 Sun Microsystems, Inc. / " + + "(c) 1997-2000 Ajuba Solutions, Inc. / " + + "(c) 2001-2007 Donal K. Fellows / " + "(c) 2002-2007 Daniel A. Steffen )\n\n" + - "Your Ruby & Tk Version ::\n" + - "Ruby#{RUBY_VERSION}(#{RUBY_RELEASE_DATE})[#{RUBY_PLATFORM}] / Tk#{$tk_patchlevel}#{(Tk::JAPANIZED_TK)? '-jp': ''}\n\n" + + "Your Ruby & Tk Version ::\n" + + "Ruby#{RUBY_VERSION}(#{RUBY_RELEASE_DATE})[#{RUBY_PLATFORM}] / Tk#{$tk_patchlevel}#{(Tk::JAPANIZED_TK)? '-jp': ''}\n\n" + "Ruby/Tk release date :: tcltklib #{TclTkLib::RELEASE_DATE}; tk #{Tk::RELEASE_DATE}") end @@ -1096,11 +1096,11 @@ else # show the root widget to make it lower then demo windows Tk.update end -ARGV.each{|cmd| +ARGV.each{|cmd| if cmd =~ /(.*).rb/ cmd = $1 end - #eval(IO.readlines("#{[$demo_dir, cmd].join(File::Separator)}.rb").join, + #eval(IO.readlines("#{[$demo_dir, cmd].join(File::Separator)}.rb").join, # _null_binding) eval_samplecode(IO.readlines("#{[$demo_dir, cmd].join(File::Separator)}.rb").join, cmd + '.rb') } diff --git a/ext/tk/sample/irbtkw.rbw b/ext/tk/sample/irbtkw.rbw index 04de3a2022..b75ebca48d 100644 --- a/ext/tk/sample/irbtkw.rbw +++ b/ext/tk/sample/irbtkw.rbw @@ -41,12 +41,12 @@ else fnt = ['courier', '-12'] end -console = TkTextIO.new(top, :mode=>:console, - :width=>80).pack(:side=>:left, +console = TkTextIO.new(top, :mode=>:console, + :width=>80).pack(:side=>:left, :expand=>true, :fill=>:both) -console.yscrollbar(TkScrollbar.new(top, :width=>10).pack(:before=>console, - :side=>:right, - :expand=>false, +console.yscrollbar(TkScrollbar.new(top, :width=>10).pack(:before=>console, + :side=>:right, + :expand=>false, :fill=>:y)) # save original I/O diff --git a/ext/tk/sample/msgs_rb/README b/ext/tk/sample/msgs_rb/README index d986e031fd..781dda93ef 100644 --- a/ext/tk/sample/msgs_rb/README +++ b/ext/tk/sample/msgs_rb/README @@ -1,3 +1,3 @@ -Message catalogs in this directory depend on Tcl/Tk's message catalogs. +Message catalogs in this directory depend on Tcl/Tk's message catalogs. Texts of each locale are copied from Tcl/Tk8.5a1 widget demos. -Please refer to '../msgs_tk/README'. +Please refer to '../msgs_tk/README'. diff --git a/ext/tk/sample/msgs_rb/es.msg b/ext/tk/sample/msgs_rb/es.msg index 460dbe848c..38ca28fb8f 100644 --- a/ext/tk/sample/msgs_rb/es.msg +++ b/ext/tk/sample/msgs_rb/es.msg @@ -69,7 +69,7 @@ TkMsgCatalog.new('::tk') { es "Tcl Scripts", "Scripts Tcl" es "Tcl for Windows", "Tcl para Windows" es "Text Files", "Archivos de texto" - es "&Yes", "&S\\u00ed" + es "&Yes", "&S\\u00ed" es "abort", "abortar" es "blue", "azul" es "cancel", "cancelar" diff --git a/ext/tk/sample/msgs_rb/ru.msg b/ext/tk/sample/msgs_rb/ru.msg index f389dff0b6..752cd42619 100644 --- a/ext/tk/sample/msgs_rb/ru.msg +++ b/ext/tk/sample/msgs_rb/ru.msg @@ -31,7 +31,7 @@ TkMsgCatalog.new('::tk') { ru 'Details >>', '\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 >>' ru 'Directory "%1\$s" does not exist.', '\u041a\u0430\u0442\u0430\u043b\u043e\u0433\u0430 "%1\$s" \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442.' ru '&Directory:', '&\u041a\u0430\u0442\u0430\u043b\u043e\u0433:' - ru 'Error: %1\$s', '\u041e\u0448\u0438\u0431\u043a\u0430: %1\$s' + ru 'Error: %1\$s', '\u041e\u0448\u0438\u0431\u043a\u0430: %1\$s' ru 'Exit', '\u0412\u044b\u0445\u043e\u0434' ru 'File "%1\$s" already exists.' "\n" 'Do you want to overwrite it?' \ '\u0424\u0430\u0439\u043b "%1\$s" \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442.' "\n" '\u0417\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u0435\u0433\u043e?' @@ -47,7 +47,7 @@ TkMsgCatalog.new('::tk') { ru 'Hi', '\u041f\u0440\u0438\u0432\u0435\u0442' ru 'Hide Console', '\u0421\u043f\u0440\u044f\u0442\u0430\u0442\u044c \u043a\u043e\u043d\u0441\u043e\u043b\u044c' ru '&Ignore', '&\u0418\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c' - ru 'Invalid file name "%1\$s".', '\u041d\u0435\u0432\u0435\u0440\u043d\u043e\u0435 \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430 "%1\$s".' + ru 'Invalid file name "%1\$s".', '\u041d\u0435\u0432\u0435\u0440\u043d\u043e\u0435 \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430 "%1\$s".' ru 'Log Files', '\u0424\u0430\u0439\u043b\u044b \u0436\u0443\u0440\u043d\u0430\u043b\u0430' ru '&No', '&\u041d\u0435\u0442' ru '&OK', '&\u041e\u041a' diff --git a/ext/tk/sample/msgs_rb2/README b/ext/tk/sample/msgs_rb2/README index b8aa114e1b..f6a904b3b6 100644 --- a/ext/tk/sample/msgs_rb2/README +++ b/ext/tk/sample/msgs_rb2/README @@ -1,5 +1,5 @@ Message catalogs in this directory are written in encodings except -UTF-8. As if you have a trouble to edit UTF-8 text, you can write +UTF-8. As if you have a trouble to edit UTF-8 text, you can write message catalogs in your familier encoding. Please see '../msgs_rb/README' too. diff --git a/ext/tk/sample/msgs_tk/README b/ext/tk/sample/msgs_tk/README index c7422e3a9b..062ec20cf8 100644 --- a/ext/tk/sample/msgs_tk/README +++ b/ext/tk/sample/msgs_tk/README @@ -1,4 +1,4 @@ -Almost all of Message-Catalog files in this directory are quoted +Almost all of Message-Catalog files in this directory are quoted from Tcl/Tk8.5a1 source archive (only a little are modified for 'tkmsgcat-load_tk.rb'). Please read the file 'license.terms' in this directry (That was included in demo directory of Tcl/Tk8.5a1). diff --git a/ext/tk/sample/msgs_tk/el.msg b/ext/tk/sample/msgs_tk/el.msg index 1e3a539647..ee75af3ced 100644 --- a/ext/tk/sample/msgs_tk/el.msg +++ b/ext/tk/sample/msgs_tk/el.msg @@ -13,7 +13,7 @@ namespace eval ::tkmsgcat_demo { } -# followings are same to original file included into Tk8.5a1's widget demos. +# followings are same to original file included into Tk8.5a1's widget demos. ## Messages for the Greek (Hellenic - "el") language. ## Please report any changes/suggestions to: diff --git a/ext/tk/sample/msgs_tk/es.msg b/ext/tk/sample/msgs_tk/es.msg index ba981236a3..62ce33d5cc 100644 --- a/ext/tk/sample/msgs_tk/es.msg +++ b/ext/tk/sample/msgs_tk/es.msg @@ -69,7 +69,7 @@ namespace eval ::tk { ::msgcat::mcset es "Tcl Scripts" "Scripts Tcl" ::msgcat::mcset es "Tcl for Windows" "Tcl para Windows" ::msgcat::mcset es "Text Files" "Archivos de texto" - ::msgcat::mcset es "&Yes" "&S\u00ed" + ::msgcat::mcset es "&Yes" "&S\u00ed" ::msgcat::mcset es "abort" "abortar" ::msgcat::mcset es "blue" "azul" ::msgcat::mcset es "cancel" "cancelar" diff --git a/ext/tk/sample/msgs_tk/license.terms b/ext/tk/sample/msgs_tk/license.terms index 03ca6fcb31..c0a44d3fc2 100644 --- a/ext/tk/sample/msgs_tk/license.terms +++ b/ext/tk/sample/msgs_tk/license.terms @@ -28,7 +28,7 @@ MODIFICATIONS. GOVERNMENT USE: If you are acquiring this software on behalf of the U.S. government, the Government shall have only "Restricted Rights" -in the software and related documentation as defined in the Federal +in the software and related documentation as defined in the Federal Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you are acquiring the software on behalf of the Department of Defense, the software shall be classified as "Commercial Computer Software" and the diff --git a/ext/tk/sample/msgs_tk/ru.msg b/ext/tk/sample/msgs_tk/ru.msg index a1192b7095..db009a4a52 100644 --- a/ext/tk/sample/msgs_tk/ru.msg +++ b/ext/tk/sample/msgs_tk/ru.msg @@ -31,7 +31,7 @@ namespace eval ::tk { ::msgcat::mcset ru "Details >>" "\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 >>" ::msgcat::mcset ru "Directory \"%1\$s\" does not exist." "\u041a\u0430\u0442\u0430\u043b\u043e\u0433\u0430 \"%1\$s\" \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442." ::msgcat::mcset ru "&Directory:" "&\u041a\u0430\u0442\u0430\u043b\u043e\u0433:" - ::msgcat::mcset ru "Error: %1\$s" "\u041e\u0448\u0438\u0431\u043a\u0430: %1\$s" + ::msgcat::mcset ru "Error: %1\$s" "\u041e\u0448\u0438\u0431\u043a\u0430: %1\$s" ::msgcat::mcset ru "Exit" "\u0412\u044b\u0445\u043e\u0434" ::msgcat::mcset ru "File \"%1\$s\" already exists.\nDo you want to overwrite it?" \ "\u0424\u0430\u0439\u043b \"%1\$s\" \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442.\n\u0417\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u0435\u0433\u043e?" @@ -47,7 +47,7 @@ namespace eval ::tk { ::msgcat::mcset ru "Hi" "\u041f\u0440\u0438\u0432\u0435\u0442" ::msgcat::mcset ru "Hide Console" "\u0421\u043f\u0440\u044f\u0442\u0430\u0442\u044c \u043a\u043e\u043d\u0441\u043e\u043b\u044c" ::msgcat::mcset ru "&Ignore" "&\u0418\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c" - ::msgcat::mcset ru "Invalid file name \"%1\$s\"." "\u041d\u0435\u0432\u0435\u0440\u043d\u043e\u0435 \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430 \"%1\$s\"." + ::msgcat::mcset ru "Invalid file name \"%1\$s\"." "\u041d\u0435\u0432\u0435\u0440\u043d\u043e\u0435 \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430 \"%1\$s\"." ::msgcat::mcset ru "Log Files" "\u0424\u0430\u0439\u043b\u044b \u0436\u0443\u0440\u043d\u0430\u043b\u0430" ::msgcat::mcset ru "&No" "&\u041d\u0435\u0442" ::msgcat::mcset ru "&OK" "&\u041e\u041a" diff --git a/ext/tk/sample/tkextlib/blt/readme.txt b/ext/tk/sample/tkextlib/blt/readme.txt index fe12dd88a3..4183c01ecb 100644 --- a/ext/tk/sample/tkextlib/blt/readme.txt +++ b/ext/tk/sample/tkextlib/blt/readme.txt @@ -1,2 +1,2 @@ The scripts and image files in this directory are based on demo files -of Tcl/Tk's BLT extention. +of Tcl/Tk's BLT extention. diff --git a/ext/tk/sample/tkextlib/tile/readme.txt b/ext/tk/sample/tkextlib/tile/readme.txt index a76b3338f7..6c4a5cf543 100644 --- a/ext/tk/sample/tkextlib/tile/readme.txt +++ b/ext/tk/sample/tkextlib/tile/readme.txt @@ -1,2 +1,2 @@ -All of *.tcl and under themes/ directory (except kroc.rb) are -quoted from Tcl/Tk's Tile extension. Please read Orig_LICENSE.txt. +All of *.tcl and under themes/ directory (except kroc.rb) are +quoted from Tcl/Tk's Tile extension. Please read Orig_LICENSE.txt. diff --git a/ext/tk/sample/tkextlib/tile/repeater.tcl b/ext/tk/sample/tkextlib/tile/repeater.tcl index 652ba8ab17..43beb9430a 100644 --- a/ext/tk/sample/tkextlib/tile/repeater.tcl +++ b/ext/tk/sample/tkextlib/tile/repeater.tcl @@ -17,7 +17,7 @@ # Notes: # Repeater buttons work more like scrollbar arrows than # Tk repeating buttons: they fire once immediately when -# first pressed, and $State(delay) specifies the initial +# first pressed, and $State(delay) specifies the initial # interval before the button starts autorepeating. # @@ -49,8 +49,8 @@ bind Repeater <B1-Enter> \ ### Binding procedures. # -## Activate -- Keyboard activation binding. -# Simulate clicking the button, and invoke the command once. +## Activate -- Keyboard activation binding. +# Simulate clicking the button, and invoke the command once. # proc tile::Repeater::Activate {w} { $w instate disabled { return } @@ -61,7 +61,7 @@ proc tile::Repeater::Activate {w} { } ## Press -- ButtonPress-1 binding. -# Invoke the command once and start autorepeating after +# Invoke the command once and start autorepeating after # $State(delay) milliseconds. # proc tile::Repeater::Press {w} { @@ -104,7 +104,7 @@ proc tile::Repeater::Resume {w} { } ## Repeat -- Timer script -# Invoke the command and reschedule another repetition +# Invoke the command and reschedule another repetition # after $State(interval) milliseconds. # proc tile::Repeater::Repeat {w} { diff --git a/ext/tk/sample/tkextlib/tile/themes/blue/blue.tcl b/ext/tk/sample/tkextlib/tile/themes/blue/blue.tcl index 37e3d07ff7..68733e8ad2 100644 --- a/ext/tk/sample/tkextlib/tile/themes/blue/blue.tcl +++ b/ext/tk/sample/tkextlib/tile/themes/blue/blue.tcl @@ -68,12 +68,12 @@ namespace eval tile::theme::blue { style default Toolbutton \ -width 0 -relief flat -borderwidth 2 -padding 4 \ -background $colors(-frame) -foreground #000000 ; - style map Toolbutton -background [list active $colors(-selectbg)] - style map Toolbutton -foreground [list active $colors(-selectfg)] + style map Toolbutton -background [list active $colors(-selectbg)] + style map Toolbutton -foreground [list active $colors(-selectfg)] style map Toolbutton -relief { disabled flat - selected sunken - pressed sunken + selected sunken + pressed sunken active raised } diff --git a/ext/tk/sample/tkextlib/tile/themes/keramik/keramik.tcl b/ext/tk/sample/tkextlib/tile/themes/keramik/keramik.tcl index 79fcd7c04e..60c59be0ca 100644 --- a/ext/tk/sample/tkextlib/tile/themes/keramik/keramik.tcl +++ b/ext/tk/sample/tkextlib/tile/themes/keramik/keramik.tcl @@ -1,4 +1,4 @@ -# keramik.tcl - +# keramik.tcl - # # A sample pixmap theme for the tile package. # @@ -48,12 +48,12 @@ namespace eval tile::theme::keramik { ; style map . -foreground [list disabled $colors(-disabledfg)] - + # ----------------------------------------------------------------- # Button elements # - the button has a large rounded border and needs a bit of # horizontal padding. - # - the checkbutton and radiobutton have the focus drawn around + # - the checkbutton and radiobutton have the focus drawn around # the whole widget - hence the new layouts. # style layout TButton { @@ -125,7 +125,7 @@ namespace eval tile::theme::keramik { # one at the top. # style layout Vertical.TScrollbar { - Scrollbar.background + Scrollbar.background Scrollbar.trough -children { Scrollbar.uparrow -side top Scrollbar.downarrow -side bottom @@ -133,9 +133,9 @@ namespace eval tile::theme::keramik { Vertical.Scrollbar.thumb -side top -expand true -sticky ns } } - + style layout Horizontal.TScrollbar { - Scrollbar.background + Scrollbar.background Scrollbar.trough -children { Scrollbar.leftarrow -side left Scrollbar.rightarrow -side right @@ -149,26 +149,26 @@ namespace eval tile::theme::keramik { style element create Horizontal.Scrollbar.thumb image $I(hsb-n) \ -border {6 4} -width 15 -height 16 -sticky news \ -map [list {pressed !disabled} $I(hsb-p)] - + style element create Vertical.Scrollbar.thumb image $I(vsb-n) \ -border {4 6} -width 16 -height 15 -sticky news \ -map [list {pressed !disabled} $I(vsb-p)] - + style element create Scale.slider image $I(hslider-n) \ -border 3 - + style element create Vertical.Scale.slider image $I(vslider-n) \ -border 3 - + style element create Horizontal.Progress.bar image $I(hsb-n) \ -border {6 4} - + style element create Vertical.Progress.bar image $I(vsb-n) \ -border {4 6} - + style element create uparrow image $I(arrowup-n) \ -map [list {pressed !disabled} $I(arrowup-p)] - + style element create downarrow image $I(arrowdown-n) \ -map [list {pressed !disabled} $I(arrowdown-p)] @@ -177,7 +177,7 @@ namespace eval tile::theme::keramik { style element create leftarrow image $I(arrowleft-n) \ -map [list {pressed !disabled} $I(arrowleft-p)] - + # ----------------------------------------------------------------- # Notebook elements # diff --git a/ext/tk/sample/tkextlib/tile/themes/keramik/pkgIndex.tcl b/ext/tk/sample/tkextlib/tile/themes/keramik/pkgIndex.tcl index 4bb89aa8a5..cedec328f8 100644 --- a/ext/tk/sample/tkextlib/tile/themes/keramik/pkgIndex.tcl +++ b/ext/tk/sample/tkextlib/tile/themes/keramik/pkgIndex.tcl @@ -4,7 +4,7 @@ # or we don't have the right version of Tcl/Tk # # To use this automatically within tile, the tile-using application should -# use tile::availableThemes and tile::setTheme +# use tile::availableThemes and tile::setTheme # # $Id$ diff --git a/ext/tk/sample/tkextlib/tile/themes/kroc/kroc.tcl b/ext/tk/sample/tkextlib/tile/themes/kroc/kroc.tcl index 73548acef2..b2cd79679a 100644 --- a/ext/tk/sample/tkextlib/tile/themes/kroc/kroc.tcl +++ b/ext/tk/sample/tkextlib/tile/themes/kroc/kroc.tcl @@ -11,25 +11,25 @@ namespace eval tile { } namespace eval tile::kroc { - + set imgdir [file join [file dirname [info script]] kroc] array set Images [tile::LoadImages $imgdir *.gif] - + if {[package vsatisfies [package provide tile] 0.5]} { set TNoteBook_Tab TNotebook.Tab } else { set TNoteBook_Tab Tab.TNotebook } - + style theme create kroc -parent alt -settings { - + style default . -background #FCB64F -troughcolor #F8C278 -borderwidth 1 style default . -font TkDefaultFont -borderwidth 1 style map . -background [list active #694418] style map . -foreground [list disabled #B2B2B2 active #FFE7CB] - + style default TButton -padding "10 4" - + style default $TNoteBook_Tab -padding {10 3} -font TkDefaultFont style map $TNoteBook_Tab \ -background [list selected #FCB64F {} #FFE6BA] \ @@ -41,7 +41,7 @@ namespace eval tile::kroc { -arrowcolor { pressed #FFE7CB } \ -relief { pressed sunken } \ ; - + style layout Vertical.TScrollbar { Scrollbar.trough -children { Scrollbar.uparrow -side top @@ -50,7 +50,7 @@ namespace eval tile::kroc { Scrollbar.thumb -side top -expand true } } - + style layout Horizontal.TScrollbar { Scrollbar.trough -children { Scrollbar.leftarrow -side left @@ -59,18 +59,18 @@ namespace eval tile::kroc { Scrollbar.thumb -side left -expand true } } - + # # Elements: # if {[package vsatisfies [package provide tile] 0.5]} { - + style element create Button.button image $Images(button-n) \ -map [list \ pressed $Images(button-p) \ active $Images(button-h) \ ] -border 3 -sticky ew - + style element create Checkbutton.indicator image $Images(check-nu) \ -map [list \ {pressed selected} $Images(check-nc) \ @@ -79,7 +79,7 @@ namespace eval tile::kroc { active $Images(check-hu) \ selected $Images(check-nc) \ ] -sticky w - + style element create Radiobutton.indicator image $Images(radio-nu) \ -map [list \ {pressed selected} $Images(radio-nc) \ @@ -88,15 +88,15 @@ namespace eval tile::kroc { active $Images(radio-hu) \ selected $Images(radio-nc) \ ] -sticky w - + } else { - + style element create Button.button pixmap -images [list \ pressed $Images(button-p) \ active $Images(button-h) \ {} $Images(button-n) \ ] -border 3 -tiling tile - + style element create Checkbutton.indicator pixmap -images [list \ {pressed selected} $Images(check-nc) \ pressed $Images(check-nu) \ @@ -105,7 +105,7 @@ namespace eval tile::kroc { selected $Images(check-nc) \ {} $Images(check-nu) \ ] -tiling fixed - + style element create Radiobutton.indicator pixmap -images [list \ {pressed selected} $Images(radio-nc) \ pressed $Images(radio-nu) \ @@ -114,7 +114,7 @@ namespace eval tile::kroc { selected $Images(radio-nc) \ {} $Images(radio-nu) \ ] -tiling fixed - + } # @@ -141,7 +141,7 @@ namespace eval tile::kroc { } } } - + style layout TRadiobutton { Radiobutton.border -children { Radiobutton.background @@ -153,7 +153,7 @@ namespace eval tile::kroc { } } } - + } } # ------------------------------------------------------------------------- diff --git a/ext/tk/sample/tkextlib/tile/themes/kroc/pkgIndex.tcl b/ext/tk/sample/tkextlib/tile/themes/kroc/pkgIndex.tcl index 179077917c..de4f3d4555 100644 --- a/ext/tk/sample/tkextlib/tile/themes/kroc/pkgIndex.tcl +++ b/ext/tk/sample/tkextlib/tile/themes/kroc/pkgIndex.tcl @@ -4,7 +4,7 @@ # or we don't have the right version of Tcl/Tk # # To use this automatically within tile, the tile-using application should -# use tile::availableThemes and tile::setTheme +# use tile::availableThemes and tile::setTheme # # $Id$ diff --git a/ext/tk/sample/tkextlib/tile/themes/plastik/pkgIndex.tcl b/ext/tk/sample/tkextlib/tile/themes/plastik/pkgIndex.tcl index e39aff6f44..f402a73f10 100644 --- a/ext/tk/sample/tkextlib/tile/themes/plastik/pkgIndex.tcl +++ b/ext/tk/sample/tkextlib/tile/themes/plastik/pkgIndex.tcl @@ -4,7 +4,7 @@ # or we don't have the right version of Tcl/Tk # # To use this automatically within tile, the tile-using application should -# use tile::availableThemes and tile::setTheme +# use tile::availableThemes and tile::setTheme # # $Id$ diff --git a/ext/tk/sample/tkextlib/tile/toolbutton.tcl b/ext/tk/sample/tkextlib/tile/toolbutton.tcl index 4e08034e31..91e9ad18bb 100644 --- a/ext/tk/sample/tkextlib/tile/toolbutton.tcl +++ b/ext/tk/sample/tkextlib/tile/toolbutton.tcl @@ -7,14 +7,14 @@ # # ~ BACKGROUND # -# Checkbuttons in toolbars have a very different appearance +# Checkbuttons in toolbars have a very different appearance # than regular checkbuttons: there's no indicator, they # "pop up" when the mouse is over them, and they appear sunken # when selected. -# -# Tk added partial support for toolbar-style buttons in 8.4 +# +# Tk added partial support for toolbar-style buttons in 8.4 # with the "-overrelief" option, and TIP #82 added further -# support with the "-offrelief" option. So to get a toolbar-style +# support with the "-offrelief" option. So to get a toolbar-style # checkbutton, you can configure it with: # # checkbutton .cb \ @@ -34,11 +34,11 @@ # # ~ DEMONSTRATION # -# The tile built-in themes (default, "alt", windows, and XP) +# The tile built-in themes (default, "alt", windows, and XP) # already include Toolbutton styles. This script will add # them to the "step" and "blue" themes as a demonstration. # -# (Note: Pushbuttons and radiobuttons can also use the "Toolbutton" +# (Note: Pushbuttons and radiobuttons can also use the "Toolbutton" # style; see demo.tcl.) # @@ -48,7 +48,7 @@ style theme settings "step" { # First, we use [style layout] to define what elements to # use and how they're arranged. Toolbuttons are pretty # simple, consisting of a border, some internal padding, -# and a label. (See also the TScrollbar layout definition +# and a label. (See also the TScrollbar layout definition # in demos/blue.tcl for a more complicated layout spec.) # style layout Toolbutton { @@ -60,8 +60,8 @@ style theme settings "step" { } } -# (Actually the above isn't strictly necessary, since the same layout -# is defined in the default theme; we could have inherited it +# (Actually the above isn't strictly necessary, since the same layout +# is defined in the default theme; we could have inherited it # instead.) # # Next, specify default values for element options. @@ -71,17 +71,17 @@ style theme settings "step" { style default Toolbutton -width 0 -padding 1 -relief flat -borderwidth 2 # -# Finally, use [style map] to specify state-specific +# Finally, use [style map] to specify state-specific # resource values. We want a flat relief if the widget is -# disabled, sunken if it's selected (on) or pressed, +# disabled, sunken if it's selected (on) or pressed, # and raised when it's active (the mouse pointer is # over the widget). Each state-value pair is checked # in order, and the first matching state takes precedence. # style map Toolbutton -relief { disabled flat - selected sunken - pressed sunken + selected sunken + pressed sunken active raised } } @@ -107,10 +107,10 @@ style theme settings "blue" { # style map Toolbutton -relief { disabled flat - selected sunken - pressed sunken + selected sunken + pressed sunken active raised - } + } # # Adjust the -padding at the same time, to enhance @@ -138,7 +138,7 @@ style theme settings "blue" { } # -# ~ A final note: +# ~ A final note: # # TIP #82 also says: "When -indicatoron is off and the button itself # is on, the relief continues to be hard-coded to sunken. For symmetry, diff --git a/ext/tk/sample/tkextlib/tkHTML/README b/ext/tk/sample/tkextlib/tkHTML/README index 1208e270b4..0b9f799cbd 100644 --- a/ext/tk/sample/tkextlib/tkHTML/README +++ b/ext/tk/sample/tkextlib/tkHTML/README @@ -1,12 +1,12 @@ [ TkHtml widget example ] -The directory page1 -- page4 are referd from "test" directory of -original TkHtml extension's source archive. +The directory page1 -- page4 are referd from "test" directory of +original TkHtml extension's source archive. ( see http://www.hwaci.com/sw/tkhtml/index.html ) You can see the HTML documents on the 'hv.rb' or 'ss.rb' sample script. - e.g. + e.g. LD_LIBRARY_PATH=/usr/local/ActiveTcl/lib:$LD_LIBRARY_PATH /usr/local/bin/ruby ./hv.rb page1/index.html diff --git a/ext/tk/sample/tkextlib/tkHTML/page2/index.html b/ext/tk/sample/tkextlib/tkHTML/page2/index.html index 7eaf2d2cc9..1c67be6c0b 100644 --- a/ext/tk/sample/tkextlib/tkHTML/page2/index.html +++ b/ext/tk/sample/tkextlib/tkHTML/page2/index.html @@ -10,7 +10,7 @@ <tr> <td width="120" valign="TOP"><a href="/"><img src="image1" width="120" height="79" alt="Scriptics" border="0"></a></td> <td valign="top" width="548"> - + <!-- Table to hold tabs --> <table cellpadding="0" cellspacing="0" border="0" width="548"> <tr> @@ -50,8 +50,8 @@ } } //--> - </SCRIPT> - + </SCRIPT> + <!-- MenuSubLevel Resource Software Extensions Tk --> <table cellpadding="0" cellspacing="0" border="0"> @@ -186,13 +186,13 @@ or higher. There are also an "<a href="#bltunoff">unofficial</a>" release for 8.0p2 and 8.1a2 that were not done by the author. <a href="/live/annotate?url=http%3a%2f%2fwww%2etcltk%2ecom%2fblt%2f">Edit</a> <i><font size="-1">(October 26, 1999 09:43)</font></i><dt><b><a href="http://www.unifix-online.com/BWidget/index.html" ="">BWidget</a></b> -<dd>A set of native Tk 8.x Widgets using Tcl8.x namespaces. +<dd>A set of native Tk 8.x Widgets using Tcl8.x namespaces. The ToolKit is available under Unix/X11 and Windows. -The BWidget(s) have a professional look&feel as in other -well known Toolkits (Tix or Incr Widget) but the concept is -radically different because everything is native +The BWidget(s) have a professional look&feel as in other +well known Toolkits (Tix or Incr Widget) but the concept is +radically different because everything is native so no platform compilation, no compiled extension -library are needed. The code is 100 Pure Tcl/Tk. +library are needed. The code is 100 Pure Tcl/Tk. More 30 components : Notebook, PageManager, Tree, PanedWindow, ButtonBox, ScrollView, ComboBox, SpinBox, ListBox, SelectFont, SelectColor, ProgressBare ... <a href="/live/annotate?url=http%3a%2f%2fwww%2eunifix%2donline%2ecom%2fBWidget%2findex%2ehtml">Edit</a> @@ -220,10 +220,10 @@ Unix). The console itself provides many more features than the standard console. <dd>This project seeks to integrate the Tk toolkit with the Frontier scripting language. <a href="/live/annotate?url=http%3a%2f%2fwww%2escriptmeridian%2eorg%2fprojects%2ftk%2f">Edit</a> <i><font size="-1">(August 19, 1999 15:36)</font></i><dt><b><a href="http://purl.oclc.org/net/nijtmans/img.html" ="">Img image format extension</a></b> -<dd>This package enhances Tk, adding support for many other Image formats: +<dd>This package enhances Tk, adding support for many other Image formats: BMP, XBM, XPM, GIF (with transparency), PNG, JPEG, TIFF and postscript. -This is implemented as a shared library that can be dynamically loaded into +This is implemented as a shared library that can be dynamically loaded into Tcl/Tk. <a href="/live/annotate?url=http%3a%2f%2fpurl%2eoclc%2eorg%2fnet%2fnijtmans%2fimg%2ehtml">Edit</a> <i><font size="-1">(November 21, 1999 06:35)</font></i><dt><b><a href="http://purl.oclc.org/net/oakley/tcl/mclistbox/index.html" ="">mclistbox - a multi-column listbox widget</a></b> @@ -234,7 +234,7 @@ requires no other extensions; it is completely standalone. <a href="/live/annotate?url=http%3a%2f%2fpurl%2eoclc%2eorg%2fnet%2foakley%2ftcl%2fmclistbox%2findex%2ehtml">Edit</a> <i><font size="-1">(August 19, 1999 15:37)</font></i><dt><b><a href="http://home.t-online.de/home/dshepherd/tkview.htm" ="">MFC views C++ class for embedding Tk</a></b> <dd>The idea of embedding Tk in MFC windows always seemed very enticing but information was sparse and contradictory - on a - scale between "very easy" and "not yet possible". The only thing for it was to have a go and lo, it wasn't that hard after all. + scale between "very easy" and "not yet possible". The only thing for it was to have a go and lo, it wasn't that hard after all. CTkView is a C++ class which can be used in MFC SDI or MDI applications. An instance of CTkView hosts an embedded Tk toplevel widget and performs some management chores for the widget so that it can size, update and react correctly to Windows events. <a href="/live/annotate?url=http%3a%2f%2fhome%2et%2donline%2ede%2fhome%2fdshepherd%2ftkview%2ehtm">Edit</a> @@ -244,7 +244,7 @@ standalone. <a href="/live/annotate?url=http%3a%2f%2fpurl%2eoclc%2eorg%2fnet%2fo Works with <b>8.0</b> <br>Download: <a href="http://www.cs.umd.edu/hcil/pad++/download.html">download.html</a><br>Pad++ is a Tk widget that provides a Zoomable User Interface (ZUI) that supports real-time interactive zoomable graphics in a fashion similar to the Tk Canvas widget. Pad++ supports tens of thousands of objects which include text, images, graphics, portals, lenses, simple html (and more), including transparency and rotation. <a href="/live/annotate?url=http%3a%2f%2fwww%2ecs%2eumd%2eedu%2fhcil%2fpad%2b%2b">Edit</a> <i><font size="-1">(August 19, 1999 15:39)</font></i><dt><b><a href="http://home.t-online.de/home/sesam.com/freeware.htm" ="">Progressbar</a></b> -<dd>Progressbar is a megawidget written in pure tcl (ie: no compiling required - runs on all platforms Macintosh, Unix, Windows). +<dd>Progressbar is a megawidget written in pure tcl (ie: no compiling required - runs on all platforms Macintosh, Unix, Windows). Its primary purpose is to show the progress of any action in percent. <a href="/live/annotate?url=http%3a%2f%2fhome%2et%2donline%2ede%2fhome%2fsesam%2ecom%2ffreeware%2ehtm">Edit</a> <i><font size="-1">(January 24, 2000 09:19)</font></i><dt><b><a href="http://jfontain.free.fr/" ="">scwoop (Simple Composite Widget Object Oriented Package)</a></b> <dd>Scwoop is a composite widget (also known as mega widget) extension to the great Tk widget library. Scwoop is @@ -287,7 +287,7 @@ pie charts on a Tk canvas. <a href="/live/annotate?url=http%3a%2f%2fjfontain%2ef <dd>TkPrint is an extension that allows you to print from a Tk widget. <a href="/live/annotate?url=http%3a%2f%2fwww%2ecygnus%2ecom%2f%7eirox%2ftkprint%2f">Edit</a> <i><font size="-1">(October 11, 1999 09:58)</font></i><dt><b><a href="http://www.purl.org/net/hobbs/tcl/capp/" ="">TkTable Home Page</a></b> -<dd>The TkTable widget. The <code>table</code> command creates a +<dd>The TkTable widget. The <code>table</code> command creates a 2-dimensional grid of cells. The table can use a Tcl array variable or Tcl command for data storage and retrieval. <a href="/live/annotate?url=http%3a%2f%2fwww%2epurl%2eorg%2fnet%2fhobbs%2ftcl%2fcapp%2f">Edit</a> @@ -303,14 +303,14 @@ command for data storage and retrieval. <a href="/live/annotate?url=http%3a%2f%2 distribution. <a href="/live/annotate?url=http%3a%2f%2fftp%2eaustintx%2enet%2fusers%2fjatucker%2fTkTextmatrix%2fdefault%2ehtm">Edit</a> <i><font size="-1">(August 23, 1999 12:14)</font></i><dt><b><a href="http://www.cs.umd.edu/~bederson/Togl.html" ="">ToGL - a Tk Open GL widget</a></b> <dd>Togl is a Tk widget for OpenGL rendering. Togl is based on OGLTK, originally written by Benjamin Bederson at the -University of New Mexico (who has since moved to the University of Maryland). Togl adds the new features: +University of New Mexico (who has since moved to the University of Maryland). Togl adds the new features: <ul> -<li> color-index mode support including color allocation functions -<li> support for requesting stencil, accumulation, alpha buffers, etc -<li> multiple OpenGL drawing widgets -<li> OpenGL extension testing from Tcl -<li> simple, portable font support -<li> overlay plane support +<li> color-index mode support including color allocation functions +<li> support for requesting stencil, accumulation, alpha buffers, etc +<li> multiple OpenGL drawing widgets +<li> OpenGL extension testing from Tcl +<li> simple, portable font support +<li> overlay plane support </ul> Togl allows one to create and manage a special Tk/OpenGL widget with Tcl and render into it with a C program. That is, a typical Togl program will have Tcl code for managing the user interface and a C program for computations and @@ -383,7 +383,7 @@ tree. The tree can be displayed horizontally or vertically. Works with <b>Tcl/Tk 8.0 or higher</b> <br>Download: <a href="http://www.purl.org/net/hobbs/tcl/script/widget/widget-0.9.tar.gz">widget-0.9.tar.gz</a><br>This is a package of megawidgets (i.e., compound widgets) that work almost exactly like Tk widgets. - You can also build your own new megawidgets. + You can also build your own new megawidgets. Includes: combobox, hierarchy, console, progressbar, tabnotebook, validating entry, pane geometry manager, baloon help. <a href="/live/annotate?url=http%3a%2f%2fwww%2epurl%2eorg%2fnet%2fhobbs%2ftcl%2fscript%2fwidget%2f">Edit</a> <i><font size="-1">(August 23, 1999 12:16)</font></i></dl> @@ -419,15 +419,15 @@ tabnotebook, validating entry, pane geometry manager, baloon help. <a href="/liv over[9].src = "http://images.scriptics.com/images/homeMainRollover3.gif" } - + function MakeImageArray(n) { this.length = n for (var i = 0; i<=n; i++)="i++)" {="{" this[i]="this[i]" ="" new="new" Image()="Image()" }="}" return="return" this="this" }="}" //="//" --="--"> </SCRIPT><br> <font size="2"> © 1998-2000 Scriptics Corporation. All rights reserved. - <a href="/legal_notice.html">Legal Notice</a> | <A href="" /privacy.html="/privacy.html"> + <a href="/legal_notice.html">Legal Notice</a> | <A href="" /privacy.html="/privacy.html"> Privacy Statement</a> </td></tr></table></td></tr></table> </Body> -</Html>
\ No newline at end of file +</Html> diff --git a/ext/tk/sample/tkextlib/tkHTML/page3/index.html b/ext/tk/sample/tkextlib/tkHTML/page3/index.html index ce92e8a22e..a04470e659 100644 --- a/ext/tk/sample/tkextlib/tkHTML/page3/index.html +++ b/ext/tk/sample/tkextlib/tkHTML/page3/index.html @@ -218,7 +218,7 @@ <h2 align="center">How To Compile Under Unix Without Installing Tcl</h2> <p><p>Specify the *.a file directly:</p> <blockquote><pre> - $ gcc -I../tcl8.2.2/generic hello.c \ + $ gcc -I../tcl8.2.2/generic hello.c \ ../tcl8.2.2/unix/libtcl8.2.a -lm -ldl $ strip a.out $ ./a.out @@ -226,7 +226,7 @@ <p>Or, tell the C compiler where to look for *.a files:</p> <blockquote><pre> - $ gcc -I../tcl8.2.2/generic hello.c \ + $ gcc -I../tcl8.2.2/generic hello.c \ -L../tcl8.2.2/unix -ltcl -lm -ldl $ strip a.out $ ./a.out @@ -982,7 +982,7 @@ int main(int argc, char **argv){<br> <br clear="both"><p><hr></p> <h2 align="center">Linkage From Tcl To C</h2> <p><p align="center"><img src="image4"></p></p><p><ul><li>3rd parameter of Tcl_CreateCommand() is a pointer to the C subroutine - that implements the command.</li></ul><ul><li>4th parameter to Tcl_CreateCommand() becomes the 1st parameter to + that implements the command.</li></ul><ul><li>4th parameter to Tcl_CreateCommand() becomes the 1st parameter to the C routine whenever the Tcl command is executed.</li></ul><ul><li>1st parameter to Tcl_CreateCommand() must be a valid Tcl interpreter. The same pointer appears as the second parameter to the C routine whenever the Tcl command is executed.</li></ul></p> @@ -990,7 +990,7 @@ int main(int argc, char **argv){<br> <br clear="both"><p><hr></p> <h2 align="center">Linkage From Tcl To C</h2> <p><p align="center"><img src="image5"></p></p><p><ul><li>5th parameter of Tcl_CreateCommand() is a pointer to the C subroutine - that is called when the Tcl command is deleted.</li></ul><ul><li>4th parameter to Tcl_CreateCommand() becomes the 1st parameter to + that is called when the Tcl command is deleted.</li></ul><ul><li>4th parameter to Tcl_CreateCommand() becomes the 1st parameter to the C routine.</li></ul></p> <br clear="both"><p><hr></p> @@ -1035,7 +1035,7 @@ pack .b</tt></small></td> <br clear="both"><p><hr></p> <h2 align="center">Linkage From Tcl To C</h2> -<p>The <tt>argc</tt> and <tt>argv</tt> parameters work just like in +<p>The <tt>argc</tt> and <tt>argv</tt> parameters work just like in <tt>main()</tt></p><p> <table cellspacing="0" cellpadding="0" border="0"> <tr><td valign="center"> @@ -1139,7 +1139,7 @@ pack .b</tt></small></td> <td></td><td></td><td></td><td></td> </tr> </table> -<p><ul><li>Result should be the text of an error message if you +<p><ul><li>Result should be the text of an error message if you return TCL_ERROR.</li></ul><ul><li>3rd argument to Tcl_SetResult() can be TCL_STATIC, TCL_DYNAMIC, TCL_VOLATILE, or a function pointer.</li></ul><ul><li>Also consider using Tcl_AppendResult().</li></ul><ul><li>Direct access to <tt>interp->result</tt> is deprecated.</li></ul><ul><li>See the man pages for details.</li></ul></p> @@ -1443,7 +1443,7 @@ int main(int argc, char **argv){<br> <h2 align="center">Initialization Scripts</h2> <p><ul><li>Run the mini TCLSH implemented above and execute the <tt>parray</tt> command</li></ul><ul><li>It doesn't work! What's wrong? </p></li></li></ul><ul><li><tt>parray</tt> is really a Tcl proc that is read in when the interpreter is initialized. </p></li></li></ul><ul><li><tt>parray</tt> (and several other commands) are stored in a - handful of "Initialization Scripts" </p></li></li></ul><ul><li>All the initialization scripts are stored in the + handful of "Initialization Scripts" </p></li></li></ul><ul><li>All the initialization scripts are stored in the "Tcl Library" - a directory on the host computer. </p></li></li></ul><table><tr><td valign="top"><img src="image3"></td> <td valign="top"><b>Invoke the Tcl_Init() function to locate and read the @@ -1668,8 +1668,8 @@ int main(int argc, char **argv){<br> </ul></li></ul><ul><li>Allows us to implement a virtual filesystem that overlays the real filesystem.</li></ul><ul><li>The virtual filesystem contains all the initialization scripts as compiled-in strings. The initialization scripts look like - they are resident on disk even though they are built in.</li></ul><ul><li>These functions first appeared in Tcl8.0.3. - Presumably to support TclPro Wrapper.</li></ul><ul><li>The only documentation is comments on the code. + they are resident on disk even though they are built in.</li></ul><ul><li>These functions first appeared in Tcl8.0.3. + Presumably to support TclPro Wrapper.</li></ul><ul><li>The only documentation is comments on the code. See the Tcl source file <tt>generic/tclIOUtil.c</tt></li></ul></p> <br clear="both"><p><hr></p> <h2 align="center">The <tt>TclStatInsertProc()</tt> Function</h2> @@ -1997,7 +1997,7 @@ int main(int argc, char **argv){<br> <h2 align="center">Compiling "Hello, World!" For Tk</h2> <p><p><b>Unix:</b></p> <blockquote><pre> - $ gcc hello.c -ltk -L/usr/X11R6/lib \ + $ gcc hello.c -ltk -L/usr/X11R6/lib \ -lX11 -ltcl -lm -ldl $ ./a.out</pre></blockquote> @@ -2008,7 +2008,7 @@ int main(int argc, char **argv){<br> <p><b>Windows using Mingw32:</b></p> <blockquote><pre> - C:> gcc -mno-cygwin hello.c -mwindows \ + C:> gcc -mno-cygwin hello.c -mwindows \ -ltk82 -ltcl82 -lm C:> a.exe</pre></blockquote></p> <br clear="both"><p><hr></p> @@ -2162,7 +2162,7 @@ int main(int argc, char **argv){<br> <li> FreeWrap - http://www.albany.net/~dlabelle/freewrap/freewrap.html </li> <li> Wrap - http://members1.chello.nl/~j.nijtmans/wrap.html </li> </ul></li></ul><ul><li>No C compiler required!</li></ul><ul><li>TclPro will convert Tcl script into bytecode so that it cannot be - easily read by the end user. FreeWrap encrypts the scripts.</li></ul><ul><li>FreeWrap uses compression on its executable. + easily read by the end user. FreeWrap encrypts the scripts.</li></ul><ul><li>FreeWrap uses compression on its executable. Wrap uses compression on both the executable and on the bundled script files.</li></ul><ul><li>Usually include extensions like winico and/or BLT</li></ul></p></td></tr></table> <br clear="both"><p><hr></p> @@ -2170,8 +2170,8 @@ int main(int argc, char **argv){<br> <table><tr><td valign="top"><img src="image9"></td> <td valign="top"><p><ul><li>Mix C/C++ with Tcl/Tk into a standalone binary</li></ul> <ul><li><tt>mktclapp</tt> generates an application initialization file - that contains Tcl scripts as strings and makes all necessary calls - to <tt>Tcl_Init</tt>, <tt>Tcl_CreateCommand</tt>, + that contains Tcl scripts as strings and makes all necessary calls + to <tt>Tcl_Init</tt>, <tt>Tcl_CreateCommand</tt>, <tt>Tcl</tt>*<tt>InsertProc</tt>, etc.</li></ul><ul><li>Features to make it easier to write new Tcl command in C</li></ul><ul><li><tt>xmktclapp.tcl</tt> provides a GUI interface to <tt>mktclapp</tt></li></ul><ul><li>http://www.hwaci.com/sw/mktclapp/</li></ul></p></td></tr></table> <br clear="both"><p><hr></p> @@ -2400,7 +2400,7 @@ int ET_OBJCOMMAND_add2(ET_OBJARGS){<br> <h2 align="center">Locations Of Libraries</h2> <table><tr><td valign="top"><img src="image13"></td> <td valign="top"><p><ul><li>Tells mktclapp where to look for script libraries.</li></ul><ul><li>All Tcl scripts in the indicated directories are - compiled into the <tt>appinit.c</tt> file.</li></ul><ul><li>Comments and extra white-space are removed. + compiled into the <tt>appinit.c</tt> file.</li></ul><ul><li>Comments and extra white-space are removed. There is no way to turn this off.</li></ul></p></td></tr></table> <br clear="both"><p><hr></p> @@ -2607,10 +2607,10 @@ int main(int argc, char **argv){</tt></small></td> <br clear="both"><p><hr></p> <h2 align="center">Mktclapp Initialization Sequence</h2> -<p><ul><li>Initialization starts when the <tt>Et_Init()</tt> +<p><ul><li>Initialization starts when the <tt>Et_Init()</tt> function is called either by client code or by the <tt>main()</tt> that mktclapp generates</li></ul><ul><li>Create the main Tcl interpreter</li></ul><ul><li>Construct the virtual filesystem overlay by redefining - the <tt>source</tt> command and by using the + the <tt>source</tt> command and by using the <tt>Tcl</tt>*<tt>InsertProc()</tt> functions</li></ul><ul><li>Call <tt>Et_PreInit()</tt> if the client defines it</li></ul><ul><li>Call <tt>Tcl_Init()</tt> and <tt>Tk_Init()</tt></li></ul><ul><li>Call <tt>Tcl_CreateCommand()</tt> and <tt>Tcl_CreateObjCommand()</tt> for every <tt>ET_COMMAND_</tt>* and <tt>ET_OBJCOMMAND_</tt>* function in the client code</li></ul><ul><li>Call <tt>Et_AppInit()</tt> if the client defines it</li></ul><ul><li>Run the main Tcl script if there is one</li></ul><ul><li>Call <tt>Et_CustomMainLoop()</tt> if defined by client code or @@ -2680,7 +2680,7 @@ void ErrMsg(char *zMsg){<br> <ul><li> The command that gets executed is: <pre> - tk_messageBox -icon error -msg \ + tk_messageBox -icon error -msg \ {Syntax error near "}"} -type ok </pre> </li></ul> @@ -2708,7 +2708,7 @@ void ErrMsg(char *zMsg){<br> <p><ul><li>The <tt></tt> puts a backslash before all characters that are special to Tcl</li></ul><ul><li>The Tcl command becomes: <pre> - tk_messageBox -icon error -msg \ + tk_messageBox -icon error -msg \ "Syntax error near \"\}\"" -type ok </pre></li></ul></p> diff --git a/ext/tk/sample/tkextlib/tkimg/license_terms_of_Img_extension b/ext/tk/sample/tkextlib/tkimg/license_terms_of_Img_extension index 7f515feee8..23238e9c66 100644 --- a/ext/tk/sample/tkextlib/tkimg/license_terms_of_Img_extension +++ b/ext/tk/sample/tkextlib/tkimg/license_terms_of_Img_extension @@ -30,7 +30,7 @@ MODIFICATIONS. GOVERNMENT USE: If you are acquiring this software on behalf of the U.S. government, the Government shall have only "Restricted Rights" -in the software and related documentation as defined in the Federal +in the software and related documentation as defined in the Federal Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you are acquiring the software on behalf of the Department of Defense, the software shall be classified as "Commercial Computer Software" and the @@ -38,4 +38,4 @@ Government shall have only "Restricted Rights" as defined in Clause 252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the authors grant the U.S. Government and others acting in its behalf permission to use and distribute the software in accordance with the -terms specified in this license. +terms specified in this license. diff --git a/ext/tk/sample/tkextlib/tkimg/readme.txt b/ext/tk/sample/tkextlib/tkimg/readme.txt index 4d9774492c..8e4b0163b1 100644 --- a/ext/tk/sample/tkextlib/tkimg/readme.txt +++ b/ext/tk/sample/tkextlib/tkimg/readme.txt @@ -1,3 +1,3 @@ -The script 'demo.rb' is based on 'demo.tcl' of Tcl/Tk's 'Img' extention. +The script 'demo.rb' is based on 'demo.tcl' of Tcl/Tk's 'Img' extention. Image data in 'demo.rb' is those of 'demo.tcl'. Please read 'license_terms_of_Img_extension' file. diff --git a/ext/tk/sample/tkextlib/treectrl/readme.txt b/ext/tk/sample/tkextlib/treectrl/readme.txt index 9f26ac069c..bda4f63d88 100644 --- a/ext/tk/sample/tkextlib/treectrl/readme.txt +++ b/ext/tk/sample/tkextlib/treectrl/readme.txt @@ -1,2 +1,2 @@ The scripts and image files in this directory are based on demo files -of Tcl/Tk's TreeCtrl extention. +of Tcl/Tk's TreeCtrl extention. |